一、环境说明
1.1 软硬件说明
- JDK8
- Haddop2.7.7
- Centos7
- 3台服务器
CPU:4核,内存:4G,硬盘:40G
1.2 服务器配置说明
本节主要说明服务器的基本配置说明,包括(网络环境、JDK等)。
1.2.1 主机名和IP
ServerMaster:192.168.4.223
ServerSlaveOne:192.168.4.224
ServerSlaveTwo:192.168.4.225
1.2.2 JDK配置
步骤一,配置JDK环境变量,打开编辑
vi ~/.bashrc
步骤二,在尾部加入,并保存退出
export JAVA_HOME=/opt/java/jdk8
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH
步骤三,重新加载配置
source ~/.bashrc
注: 配置环境有两种方式,一种是上面所写的配置方式,只针对当前登陆用户有效,另一种是配置"/etc/profile"对所有用户有效,操作方式与以上相同,但是需要在root用户下配置才有效。
1.2.3 无密码访问
集群环境程序需要通过SSh访问各个服务器,所以需要设置各服务器之间无密码访问,通过生成配置ssh-key来完成此项功能。
步骤一,生成ssh-key
ssh -keygen -t rsa
步骤二,将生成的ssh-key添加到各个服务器
ssh-copy-id 主机地址(名称或IP)
注: 需要对每台服务器进行以上操作,才能实现相互间的SSH无密码访问
二、Hadoop集群配置
2.1 设置配置文件
2.1.1 配置core-site.xml
打开{hadoop路径}/etc/hadoop/core-site.xml,在<configuration></configuration>中添加如下配置:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://ServerMaster:8020</value>
<description>默认文件系统的名称</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/data/tmp</value>
<description>其他临时目录的基础。</description>
</property>
2.1.2 配置hdfs-site.xml
打开{hadoop路径}/etc/hadoop/hdfs-site.xml,在<configuration></configuration>中添加如下配置:
<property>
<name>dfs.namenode.secondary.http.address</name>
<value>ServerSlaveOne:50090</value>
<description>指定secondaryNameNode的http访问地址和端口号</description>
</property>
2.1.3 配置mapred-site.xml
首先需要复制{hadoop路径}/etc/hadoop/mapred-site.xml.template下的模板:
cp {hadoop路径}/etc/hadoop/mapred-site.xml.template {hadoop路径}/etc/hadoop/mapred-site.xml
然后打开{hadoop路径}/etc/hadoop/mapred-site.xml,在<configuration></configuration>中添加如下配置:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>指定mr框架为yarn方式</description>
</property>
2.1.4 配置yarn-site.xml
打开{hadoop路径}/etc/hadoop/yarn-site.xml,在<configuration></configuration>中添加如下配置:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>ServerSlaveTwo</value>
<description>指定resourcemanager服务器指向</description>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
<description>配置是否启用日志聚集功能</description>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
<description>配置聚集的日志在HDFS上最多保存多长时间</description>
</property
2.1.4 配置slaves
打开{hadoop路径}/etc/hadoop/slaves,内容为组建集群的三台服务器名:
ServerMaster
ServerSlaveOne
ServerSlaveTwo
2.2 详情配置说明
其他配置可以访问:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html#namenode->Configuration,包含了 2.1 中介绍的三个文件的各个配置项的说明。
三、启动Hadoop分布式集群
3.1 格式NameNode
在NameNode机器上执行格式化:
hadoop namenode –format
3.1 启动集群
3.1.1 启动HDFS
在任一台服务器上启动:
{hadoop路径}/etc/hadoop/sbin/start-hdfs.sh
3.1.1 启动yarn
在主节点服务器上启动:
{hadoop路径}/etc/hadoop/sbin/yarn-daemon.sh start resourcemanager
3.1.1 启动ResourceManager:
需要在配置ResourceManager上的服务器上启动:
{hadoop路径}/etc/hadoop/sbin/start-yarn.sh
3.2 查看启动情况
查看启动情况使用JPS命令,输入:
jps
3570 Jps
3537 JobHistoryServer
3310 SecondaryNameNode
3213 DataNode
3392 NodeManager
如上显示,表示启动成功。