1 免密登录
关闭防火墙,命令是:chkconfig iptables off(永久关闭防火墙)
在每台虚拟机的/etc/hosts文件中添加以下内容:
192.168.xxx.001 master
192.168.xxx.002 slave1
192.168.xxx.003 slave2
检查这3个机器是否相互联通,命令为:
ping -c 4 slave1
ping -c 4 slave2
给3个机器生成秘钥文件,命令为:ssh-keygen -t rsa -P ’’
秘钥文件保存到了/root/.ssh/目录内,/root/.ssh/目录下有两个文件,分别为:id_rsa和id_rsa.pub。
在3台机器的/root/.ssh/目录下都存入一个内容相同的文件,文件名称叫authorized_keys,文件内容是刚才为3台机器生成的公钥。为了方便,先在master上生成authorized_keys文件,然后把3台机器刚才生成的公钥加入到这个master的authorized_keys文件里,然后在将这个authorized_keys文件复制到slave1和slave2上面。
生成一个名为authorized_keys的文件,命令是:touch /root/.ssh/authorized_keys
将秘钥追加到keys中,命令是:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将其他机器的id_rsa.pub发送到master上,添加到keys中,命令是:
[root@master ~]# scp ~/.ssh/id_rsa.pub master:~/
[root@master ~]# cat id_rsa.pub >> ~/.ssh/authorized keys
将authorized_keys文件复制到其他机器,命令是:
[root@master ~]# scp ~/.ssh/authorized_keys slave1:~/.ssh/
[root@master ~]# scp ~/.ssh/authorized_keys slave2:~/.ssh/
2 Hadoop分布式安装
解压安装包并修改目录名:
[root@master opt]# tar -zxvf hadoop-2.8.5.tar.gz
[root@master opt]# mv hadoop-2.8.5 hadoop
新建目录:
mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data
配置/etc/hadoop/hadoop-env.sh
1 | export JAVA_HOME=/ opt /jdk1.8.0_191 |
配置core-site.xml
这里配置的是HDFS的地址和端口号:
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
</property>
配置hdfs-site.xml
这里配置的是HDFS存储时的备份数量和Hadoop数据临时目录:
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
配置yarn-site.xml
指定了Resourcemanager运行在哪个节点上,配置了yarn的默认混洗方式,yarn的Web客户端端口号:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
配置mapred-site.xml
将mapred-site.xml.template更名为mapred-site.xml
[root@master hadoop]# mv mapred-site.xml.template mapred-site.xml
指定mapreduce运行在yarn框架上:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
修改slaves
指定datanode运行在哪些机器上
添加:
1 | slave1 |
2 | slave2 |
启动
将配置好的hadoop文件夹发送到其他两台机器上:
scp -r /opt/hadoop/ slave1:/opt/hadoop/
配置hadoop环境变量:
1 | export HADOOP_HOME=/ opt /hadoop |
2 | export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ HADOOP_HOME/bin |
初始化并启动:
[root@master opt]# /opt/ hadoop/bin/hadoop namenode -format
[root@master opt]# /opt /hadoop/sbin/start-all.sh
在本地浏览器里访问如下地址:http:// 192.168.xxx.001:50070,自动跳转到了overview页面。在本地浏览器里访问如下地址:http:// 192.168.xxx.001:8088,自动跳转到了cluster页面。