分布式集群搭建步骤分析:
1)安装JDK
2)安装Hadoop
3)配置集群
4)单点启动
5)配置ssh
6)群起并测试集群
1、安装JDK
2、hadoop安装
1)Hadoop下载地址:
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
2)环境变量:
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
3、集群配置( 以下 配置文件 可以一次性配置完 再做启动测试)
1)核心配置文件:core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
2)HDFS配置文件:hdfs-site.xml
<!-- 副本数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop103:50090</value>
</property>
3)配置集群YARN上运行
-
配置:yarn-site.xml
<!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop101</value> </property>
-
配置:mapred-site.xml (对mapred-site.xml.template重新命名为)
<!-- 指定MR运行在YARN上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
4)配置历史服务器
为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:
-
配置mapred-site.xml
<property> <name>mapreduce.jobhistory.address</name> <value>hadoop101:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hadoop101:19888</value> </property> <!--第三方框架使用yarn计算的日志聚集功能 --> <property> <name>yarn.log.server.url</name> <value>http://hadoop101:19888/jobhistory/logs</value> </property>
-
启动历史服务器
[atren@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
-
查看历史服务器是否启动
[atren@hadoop101 hadoop-2.7.2]$ jps
-
查看JobHistory
http://hadoop101:19888/jobhistory
5)配置日志的聚集
日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。
开启日志聚集功能具体步骤如下:
-
配置yarn-site.xml
<!-- 日志聚集功能使能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
-
关闭NodeManager 、ResourceManager和HistoryManager
[atren@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop resourcemanager [atren@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop nodemanager [atren@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh stop historyserver
-
启动NodeManager 、ResourceManager和HistoryManager
[atren@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager [atren@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager [atren@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
-
删除HDFS上已经存在的输出文件
[atren@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -rm -R /user/atguigu/output
-
执行WordCount程序
[atren@hadoop101 hadoop-2.7.2]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/atren/input /user/atren/output
-
查看日志
http://hadoop101:19888/jobhistory
以上 配置文件 可以一次性配置完 再做启动测试
6)配置文件说明
Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
-
默认配置文件:
获取的默认文件 文件存放在Hadoop的jar包中的位置 ore-default.xml hadoop-common-2.7.2.jar/ core-default.xml dfs-default.xml hadoop-hdfs-2.7.2.jar/ hdfs-default.xml arn-default.xml hadoop-yarn-common-2.7.2.jar/ yarn-default.xml apred-default.xml hadoop-mapreduce-client-core-2.7.2.jar/ mapred-default.xml -
自定义配置文件:
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。
4、单点启动
-
如果集群是第一次启动,需要格式化NameNode
[atren@hadoop102 hadoop-2.7.2]$ hadoop namenode -format
-
在hadoop102上启动NameNode
[atren@hadoop102 hadoop-2.7.2]$ hadoop-daemon.sh start namenode
-
在hadoop101、hadoop102以及hadoop103上分别启动DataNode
[atren@hadoop102 hadoop-2.7.2]$ hadoop-daemon.sh start datanode
5、SSH无密登录配置
-
基本语法
ssh hadoop102(或者IP) -
生成公钥和私钥:
[aren@hadoop102 ~]$ ssh-keygen -t rsa
-
将公钥拷贝到要免密登录的目标机器上
[atren@hadoop102 ~]$ ssh-copy-id hadoop101 [atren@hadoop102 ~]$ ssh-copy-id hadoop102 [atren@hadoop102 ~]$ ssh-copy-id hadoop103
注意:
还需要在hadoop102上采用atren账号配置一下无密登录到hadoop101、hadoop102、hadoop103服务器上。 -
.ssh文件夹下(~/.ssh)的文件功能解释
nown_hosts 记录ssh访问过计算机的公钥(public key) d_rsa 生成的私钥 d_rsa.pub 生成的公钥 uthorized_keys 存放授权过得无密登录服务器公钥
6、群起集群
-
配置slaves
/opt/module/hadoop-2.7.2/etc/hadoop/slaves [atren@hadoop102 hadoop]$ vim slaves
在该文件中增加如下内容:
hadoop101 hadoop102 hadoop103
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
-
启动集群
(1)如果集群是第一次启动,需要格式化NameNode
[aren@hadoop102 hadoop-2.7.2]$ hadoop namenode -format
(2)启动HDFS
[atren@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh
(3)启动YARN
[atren@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh
注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。
(4)web端查看SecondaryNameNode
浏览器中输入: http://hadoop103:50090/status.html
-
群起脚本