原文:https://blog.csdn.net/qq_41934990/article/details/81510038
根据原文,再结合自己实际操作修改如下:
文档介绍:hadoop文件配置
http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html
下载hadoop压缩包------》hadoop.apache.org
将下载好的hadoop压缩包山传到linux上,可以上传到linux远程的图形化界面
解压hadoop压缩包
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/modules/
了解目录结构,删除无用文件
rm -rf bin/*.cmd
rm -rf sbin/*.cmd
rm -rf etc/hadoop/*.cmd
rm -rf share/doc/
修改配置:etc/hadoop/
(1)*-evn.sh:3个模块的环境变量文件
hadoop-env.sh 、yarn-env.sh(23行)、mapred-env.sh
JAVA_HOME=/opt/modules/jdk1.8.0_91
按模块配置
common模块:core-site.xml
vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://linux:8020</value>//linux为当前用户,也可直接本地地址
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/xfj/hadoop_tmp</value>//自定义路径
</property>
</configuration>
<!--指定文件系统HDFS的主机名称和端口号-->
<!--指定文件系统本地临时存储目录,默认值是系统/tmp-->
<!--临时目录需要自己创建-->
b、HDFS模块配置:
hdfs-site.xml
<!--由于是伪分布式,仅有一台机器,副本数量没有必要设置为3-->
<configuration>
<!-- 由于伪分布式安装部署, 仅有一台机器,所有block副本数没有必要设置
为3,设置为1即可 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
slaves:指定小弟DataNode运行在那台机器上
如果有多个小弟,一行一个
bigdata-hpsk01.huadian.com
c、测试HDFS模块是否OK
-》格式化
bin/hdfs namenode -format
成功的标准:
18/08/07 23:25:02 INFO util.ExitUtil: Exiting with status 0
-》启动
主节点
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh stop namenode
从节点
sbin/hadoop-daemon.sh start datanode
sbin/hadoop-daemon.sh stop datanode
-》验证是否成功:
方式一:查看进程jps
方式二:
bigdata-hpsk01.huadian.com:50070
-》测试HDFS:
(1)怎么用
bin/hdfs dfs
(2)创建一个目录
bin/hdfs dfs -mkdir -p /datas
(3)查看
bin/hdfs dfs -ls /
(4)上传文件
bin/hdfs dfs -put /opt/datas/input.data /datas
(5)查看文件
bin/hdfs dfs -text /datas/input.data
(6)删除文件
bin/hdfs dfs -rm -r -f /datas/input.data
d、YARN
对于分布式资源管理和任务调度框架来说,
在YARN上可以运行多种应用程序
- MapReduce
- spark
- tez
配置:yarn-site.xml
<!--resourcemanager服务运行的主机名名称-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>mapreduce_shuffle</value>
</property>
<!--告知YARN,MapReduce程序将在 其上运行-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(2)slaves
指定nodemanager运行的主机名称,由于NameNode和DataNode在同一台机器
前面已经配置
e、启动YARN服务
-》启动:
主节点:resourceManager
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh stop resourcemanager
从节点:nodeManager
sbin/yarn-daemon.sh start nodemanager
sbin/yarn-daemon.sh stop nodemanager
-》验证启动:
方式一:jps
方式二:
http://bigdata-hpsk01.huadian.com:8088/
f、Mapreduce模块
并行计算 的框架
思想:分而治之
核心:
map :分
并行处理数据,将数据分割,一部分一部分的处理
reduce:合
将Map处理数据的结果进行合并,
配置:
mv mapred-site.xml.template mapred-site.xml
<!--指定MapReduce的程序运行在YARN-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
g、测试MapReduce程序
案例:wordcount程序
准备数据:/datas/input.data
程序:
/opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
将MapReduce应用提交到YARN上运行
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount
Usage: wordcount <in> [<in>...] <out>
<in>:表示MapReduce程序要处理的数据在哪里
<out>:表示MapReduce程序处理数据之后的结果 存储在哪里,这个目录不能存在
终极提交:
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input.data /datas/output/output001
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input.data/datas/output/output001
9.1.5如果格式化、启动某个进程失败,怎么办????
看日志文件。。。。就是IDEA控制台的输出
logs/XX.log
hadoop-huadian-datanode-bigdata-hpsk01.huadian.com.log
模块 root 进程名字 主机名
后缀名:
日志分类:标准输出、错误输出
.log:程序启动相关信息 ==========
.out:程序运行的相关输出
system.out.println(),system.error.println
使用tail -100f xxx.log
找Exception,case by
额外配置:
历史服务器
HistoryServer
配置:mapred-site.xml 后面添加
<!--历史服务器-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-hpsk01.huadian.com:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata-hpsk01.huadian.com:19888</value>
</property>
启动服务
sbin/mr-jobhistory-daemon.sh start historyserver
日志聚集功能
YARN提供日志中央化管理功能,他能将运行完成的任务 日志 上传到HDFS指定目录下。
以便后期监控查看
配置:yarn-site.xml
<!--启动日志聚集功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--设置日志保存的时间,1周-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
注意:重启YARN和JobHistoryServer服务,
修改了配置文件,需要重新读取
到此hadoop环境搭建成功