一、部署前的准备
创建三台虚拟机并且设置虚拟机的ip,名称:
- 创建好虚拟机,设置ip
设置ip地址首先点击vm上的编辑按钮下虚拟网络编辑器查看VMnet8的ip地址是多少,比如我这ip地址为192.168.223.0,那么我的虚拟机的ip地址前3位就需要设置为192.168.223。
然后打开虚拟机登录,输入命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33进行设置。点击 i 进行编辑
第一步,设置为静态,更改成BOOTPROTO=static
第二步,设置重启激活网卡,更改成ONBOOT=yes
第三步,添加IP地址,添加IPADDR=192.168.223.200(最后一位取决你的网段分配情况,不是随便填写)
第四步,添加子网掩码,添加NETMASK=255.255.255.0
第五步,添加网关地址,添加GATEWAY=192.168.223.2
第六步,添加DNS地址,添加DNS1=114.114.114.114
DNS2=8.8.8.8
设置完毕,按Esc输入:wq,退出保存。
退出后,使用命令systemctl restart network重置网卡,使用ip addr查看。
- 克隆虚拟机
首先对刚刚设置好的虚拟机进行关机,然后右击虚拟机下的管理下的克隆,选择创建完整克隆,一共需要创建两个克隆,创建完成后在创建好的两台克隆虚拟机上进行上面的操作,修改IP地址,因为这两台虚拟机是克隆的所以我们修改IP地址只需要修改IPADDR那一项就行了,我的三台虚拟机分别是192.168.223.200,192.168.223.201,192.168.223.202,设置好后使用工具xshell连接这3台虚拟机。 - 修改主机名
三台机器都要操作
主机的hostname分别改成:master、slave1、slave2,修改方法如下:
第一台主机使用命令:hostname master
第二台主机使用命令:hostname slave1
第三台主机使用命令:hostname slave2
4.修改主机映射
三台机器都要操作
首先确定三台主机的ip和对应的hostname,比如我的如下:
192.168.223.200 master
192.168.223.201 slave1
192.168.223.202 slave2
然后在三台主机上执行命令:vi /etc/hosts
在文件最下面增加三台ip地址和hostname的对应关系,比如我的:
5.禁用防火墙
三台机器都要操作
使用命令:systemctl stop firewalld.service关闭防火墙
使用命令:systemctl disable firewalld.service 禁止防火墙服务器
6.配置SSH免密码通信
在第一台机器操作
输入命令 ssh-keygen -t rsa 然后连续按下三次回车然后输入命令
ssh-copy-id master 按下回车后输入master所对应的虚拟机密码
ssh-copy-id slave1 按下回车后输入slave1所对应的虚拟机密码
ssh-copy-id slave2 按下回车后输入slave2所对应的虚拟机密码
设置完后进行scp命令操作进行另外两台虚拟机的文件更新
scp -r /etc/hosts root@slave1:/etc/host
scp -r /etc/hosts root@slave2:/etc/host
至此,完成了三台机器SSH免密码通信的配置。配置完成后需要进行测试,
在任意机器输入 ssh 主机名 进行通信,不提示输入密码则为成功
二、解压jdk安装包
在master上操作
- 将jdk安装包上传到虚拟机(master)
创建目录:mkdir /usr/java
解压jdk到/usr/java目录下:tar -zxvf jdk-8u101-linux-x64.tar.gz -C /usr/java
解压后,进入到/usr/java目录下:cd /usr/java
创建jdk的软连接:ln -s jdk1.8.0_101 jdk
使用master发送给slave1和slave2,命令:
scp -r /usr/java/jdk root@slave1:/usr/java
scp -r /usr/java/jdk root@slave2:/usr/java - 配置环境变量
使用命令:vi /etc/profile(注意:这个文件夹里面的内容不要删除!!!)
输入 i 进行编辑,在最后面添加如下内容(这里直接把zookeeper和hadoop的环境变量也添加进去了):
JAVA_HOME=/usr/java/jdk
HADOOP_HOME=/usr/local/src/hadoop
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export JAVA_HOME CLASSPATH PATH HADOOP_HOME
发送给slave1和slave2,使用命令:
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
然后三台机器都输入:source /etc/profile,使配置文件生效。
3. 验证JDK是否安装成功
输入java -version,验证jdk是否安装成功。
三、Hadoop集群环境的搭建
- 解压Hadoop安装包
将Hadoop安装包上传到虚拟机(master)
解压Hadoop到/usr/local/src目录下:tar -zxvf hadoop-2.7.4.tar.gz -C /usr/local/src/
解压后,进入到/usr/java目录下:cd /usr/local/src
创建jdk的软连接:ln -s hadoop-2.7.4/ hadoop
2.修改Hadoop配置文件
首先进入hadoop配置文件的目录下,也就是刚才解压后的hadoop文件下的etc下的hadoop,如果不是按照我的目录来写的就使用自己的方法进入hadoop配置文件目录下,如果目录和我的是一样的就输入 cd /usr/local/src/hadoop/etc/hadoop
vi core-site.xml
<property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name>HADOOP.tmp.dir</name><value>/usr/local/usr/hadoop/data/tmp</value></property>
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk
vi hdfs-site.xml
<property><name>dfs.replication</name><value>2</value>
</property>
<property><name>dfs.namenode.secondary.http-address</name><value>master:50090</value>
</propetry>
vi yarn-env.sh
export JAVA_HOME=/usr/java/jdk
vi yarn-site.xml
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<property><name>yarn.resourcemanager.hostname</name><value>master</value>
</property>
vi mapred-env.sh
export JAVA_HOME=/usr/java/jdk
先cp mapred-site.xml.template mapred-site.xml
再vi mapred-site.xml
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
vi slaves 注意:里面的东西需要全部删完再添加
slave1
slave2
然后使用scp命令对另外两台的hadoop配置文件更新
scp -r /usr/local/src/hadoop-2.7.4/ root@slave1:/usr/local/src/
scp -r /usr/local/src/hadoop-2.7.4/ root@slave2:/usr/local/src/
3. 创建软连接
三台机器都要操作
ln -s hadoop-2.7.4/ hadoop
4. 启动HDFS和YARN
格式化HDFS
在master机器上执行:
hdfs namenode -format
启动HDFS集群
在master机器上执行:
start-dfs.sh
启动Yarn
在master上操作:
start-yarn.sh
5. 验证HDFS和YARN是否启动成功
在master下输入jps,看到如下进程:
在slave1和slave2输入jps,看到如下进程:
输入网址:http://192.168.223.200:50070(master ip),通过这个Web界面查看namenode的启动情况。
输入网址:http://192.168.223.200:8088(master ip),通过这个Web界面查看yarn的启动情况