Hadoop完全分布式环境部署

Hadoop完全分布式环境部署,第1张

一、部署前的准备

创建三台虚拟机并且设置虚拟机的ip,名称:

  1. 创建好虚拟机,设置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查看。
  2. 克隆虚拟机
    首先对刚刚设置好的虚拟机进行关机,然后右击虚拟机下的管理下的克隆,选择创建完整克隆,一共需要创建两个克隆,创建完成后在创建好的两台克隆虚拟机上进行上面的 *** 作,修改IP地址,因为这两台虚拟机是克隆的所以我们修改IP地址只需要修改IPADDR那一项就行了,我的三台虚拟机分别是192.168.223.200192.168.223.201192.168.223.202,设置好后使用工具xshell连接这3台虚拟机。
  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上 *** 作

  1. 将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
  2. 配置环境变量
    使用命令: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集群环境的搭建
  1. 解压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
	
		fs.defaultFS
		hdfs://master:9000
	
	
		HADOOP.tmp.dir
		/usr/local/usr/hadoop/data/tmp
	

vi hadoop-env.sh

export JAVA_HOME=/usr/java/jdk

vi hdfs-site.xml



		dfs.replication
		2


      dfs.namenode.secondary.http-address
      master:50090

vi yarn-env.sh

export JAVA_HOME=/usr/java/jdk

vi yarn-site.xml


        yarn.nodemanager.aux-services
        mapreduce_shuffle


        yarn.resourcemanager.hostname
        master

vi mapred-env.sh

export JAVA_HOME=/usr/java/jdk

先cp mapred-site.xml.template mapred-site.xml
再vi mapred-site.xml


		mapreduce.framework.name
		yarn

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的启动情况

至此,Hadoop完全分布式部署成功

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/743376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-29
下一篇 2022-04-29

发表评论

登录后才能评论

评论列表(0条)

保存