#vi /etc/hosts
kf23 192.168.0.50 master
kf2 192.168.0.51 slave1
kf3 192.168.0.52 slave2
1 免密登录
集群或单节点模式都需要用到SSH登录
#yum install openssh-server安装ssh
#ssh kf23测试ssh命令是否可用
(1)设置ssh无密码登录
#cd ~/.ssh
#ssh-keygen -t rsa #有提示,全部回车
#cat id_rsa.pub >> ./authorized_keys# 加入授权
#ssh kf23测试ssh无密码登录
(2)免密登录各个节点
让kf23节点可以无密码ssh登录到各个kf2,kf3节点上。
(2-1)在kf23节点将公钥传输到kf2和kf2节点
scp /root/.ssh/id_rsa.pub root@kf2:/root
#scp /root/.ssh/id_rsa.pub root@kf3:/root
(2-2)在kf2和kf3节点上将ssh公钥加入授权
#mkdir ~/.ssh #若已存在该文件夹,则忽略此命令
#cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
#rm ~/id_rsa.pub #用完删除即可
(2-3)在kf23上可以无密码ssh到kf2和kf3节点
[root@kf23 ~]# ssh kf2
[root@kf23 ~]# ssh kf3
2 安装Java环境
三台机器均需要安装,安装java的JDK。
#tar -xzvf jdk-8u181-linux-x64.tar.gz -C /usr/local/
#vi /root/.bashrc
export JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
#source /root/.bashrc
#java -version
3 安装hadoop
三台机器均需要安装
3.1 下载安装
#tar -xzvf hadoop-2.8.0.tar.gz -C /usr/local
#cd /usr/local
#mv ./hadoop-2.8.0/ ./hadoop
#vi /root/.bashrc
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export HADOOP_CLASSPATH=/usr/local/hadoop/share/hadoop/common/lib
#source /root/.bashrc
3.2 修改配置文件
集群分布式环境需要修改/usr/local/hadoop/etc/hadoop中的5个配置文件。此处仅设置了正常启动必须的设置项。
#cd /usr/local/hadoop/etc/hadoop/
3.2.1 slaves文件
此处让kf23节点仅作为NameNode使用,因此将文件中原来的localhost删除,只添加两行内容kf2和kf3。
#vim slaves
kf2
kf3
3.2.2 core-site.xml文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://kf23:9000</value>
<description>The name of the default file system. </description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
</configuration>
3.2.3 hdfs-site.xml文件
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>kf23:50090</value>
</property>
</configuration>
Standalone不需要配置下面两个文件
mapred-site.xml文件和yarn-site.xml文件
3.2.4 mapred-site.xml文件[若启动yarn必设]
#cp ./mapred-site.xml.template ./mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>kf23:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>kf23:19888</value>
</property>
</configuration>
3.2.5 yarn-site.xml文件[若启动yarn必设]
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value> mapreduce_shuffle </value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>kf23</value>
</property>
</configuration>
为了运行YARN,需要指定一台机器作为资源管理器。最简单的做法是将属性yarn.resourcemanager.hostname设置为用于运行资源管理器的机器的主机名或IP地址。资源管理器服务器的地址基本都可以从该属性获得。
3.2.6 hadoop-env.sh文件
#vi hadoop-env.sh
配置如下,其余保持默认即可
#The java implementation to use.
export JAVA_HOME=/usr/local/jdk1.8.0_181
4 启动集群
首次启动需在kf23上执行格式化
#hdfs namenode -format
#start-dfs.sh启动集群
http://kf23:50070 查看网页
#stop-dfs.sh停止集群