Hadoop伪分布式安装
- 版本选择2.7.X,我选择的是2.7.3
安装过程
-
安装前准备
(1)上传解压
(2)查看目录结构(删除以下文件)
bin/*.cmd
sbin/*.cmd
share/doc
(3)修改3个模块的环境变量,修改JAVA_HOME的值为jdk的安装路径
hadoop-env.sh(23行)
yarn-env.sh(26行)
mapred-env.sh(16行,需要先取消注释再修改)
给三个文件增加执行权限chmod u+x hadoop-env.sh yarn-env.sh mapred-env.sh
-
按照模块来进行配置
Hadoop官网有部分配置信息,但是不全http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation(1)common(在Hadoop安装目录的/etc/hadoop下)
修改core-site.xml文件
可以将原有的注释都删掉,配置如下图,将local更改为自己的主机名,在Hadoop目录下创建自己的临时目录
(2)HDFS
修改hdfs-site.xml文件
slaves
修改slaves文件
启动HDFS:
第一次使用文件系统需要格式化
->格式化文件系统
先切换到Hadoop安装的根目录下bin/hdfs namenode -format
->启动主节点sbin/hadoop-daemon.sh start namenode
->启动从节点sbin/hadoop-daemon.sh start datanode
检查成功的两种方式
a、Hadoop安装目录下输入jps(或 ps -ef|grep java)
b、通过webUI界面查看(看到以下界面为成功)
hostname:50070
(3)配置YARN
修改yarn-site.xml
->启动主节点sbin/yarn-daemon.sh start resourcemanager
->启动从节点sbin/yarn-daemon.sh start nodemanager
检查成功的两种方式
a、jps(ps -ef|grep java)
b、webUI界面查看
hostname.8088
(4)配置MapReduce
etc目录下没有mapred-site.xml文件,但是有mapred-site.xml.template文件,需要将mapred-site.xml.template文件赋值一份到当前文件夹,且文件名为mapred-site.xml
先切换到Hadoop安装目录下的etc/hadoop下
然后:cp mapred-site.xml.template mapred-site.xml
修改mapred-site.xml文件测试HDFS
帮助文档bin/hdfs dfs
HDFS文件系统目录和Linux目录结构类似,
命令也类似
创建目录:bin/hdfs dfs -mkdir /datas
查看目录:bin/hdfs dfs -ls /datas
上传文件:bin/hdfs dfs -put /opt/datas/input.data /datas/
查看文件内容:bin/hdfs dfs -text /datas/input.data
bin/hdfs dfs -cat /datas/input.data
下载文件:bin/hdfs dfs -get /datas/input.data ./
删除文件bin/hdfs dfs -rm -r /datas/input.data
对于分布式资源管理和任务调度来说哪些程序可以运行在YARN之上
MapReduce
并行数据处理框架
spark
基于内存分布式处理框架
storm/flink
实时流式处理框架
TeZ
分析数据,比MapReduce速度快测试Hadoop
mapreduce程序运行在YARN上
通过经典程序案例,wordcount,
Hadoop提到测试案例在share/mapreduce目录下/opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
-》准备数据,数据是放到hdfs上
在HDFS系统下创建一个datas目录
bin/hdfs dfs -mkdir /datas
准备一个文件,文件内容可以随意添加单词或字符,完了保存,将该文件上传到HDFS上
切换到Hadoop的安装目录下上传文件
bin/hdfs dfs -put /opt/datas/input.data /datas/
在http://bigdata-hpsk02.huadian.com:50070下查看结果
-》提交运行bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input.data /output1
hostname.8088能够看到结果点击上图的history后会找不到页面,需要配置历史服务器
进行运算的是mapred-site.xml,所以历史服务器在mapred-site.xml中进行配置,增加以下的配置
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-hpsk02.huadian.com:10020</value>
</property>
启动历史服务器sbin/mr-jobhistory-daemon.sh start historyserver
注意:在启动historyServer服务之前运行的job相关信息已经没了,只有后面运行的才有。
成功后再执行一次词频统计测试,单击history能够进入以下页面,端口号为19888单击上图中标出的1,会报错,还应该配置日志内聚功能,因为m、MapReduce运行在YARN之上,所以日志内聚应该在yarn-site.xml文件中进行配置
当MapReduce程序在YARN上运行完成之后,将产生日志文件上传到HDFS目录中,以便后续查看。
<!--日志集聚功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
·<!--日志存储的时间1周 60minutes*60seconds*24hours*7days=604800-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>这样,整个伪分布式Hadoop环境就搭建好了