0


Hadoop完全分布式环境部署(一看就会)

一、部署前的准备

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

  1. 创建好虚拟机,设置ip 设置ip地址首先点击vm上的编辑按钮下虚拟网络编辑器查看VMnet8的ip地址是多少,比如我这ip地址为192.168.223.0,那么我的虚拟机的ip地址前3位就需要设置为192.168.223。vmnet8 然后打开虚拟机登录,输入命令: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,退出保存。image-20220426130556474 退出后,使用命令systemctl restart network重置网卡,使用ip addr查看。image-20220426131129691
  2. 克隆虚拟机 首先对刚刚设置好的虚拟机进行关机,然后右击虚拟机下的管理下的克隆,选择创建完整克隆,一共需要创建两个克隆,创建完成后在创建好的两台克隆虚拟机上进行上面的操作,修改IP地址,因为这两台虚拟机是克隆的所以我们修改IP地址只需要修改IPADDR那一项就行了,我的三台虚拟机分别是192.168.223.200,192.168.223.201,192.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的对应关系,比如我的:image-20220426132453337 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/hostscp -r /etc/hosts root@slave2:/etc/host 至此,完成了三台机器SSH免密码通信的配置。配置完成后需要进行测试, 在任意机器输入 ssh 主机名 进行通信,不提示输入密码则为成功image-20220426132453337

二、解压jdk安装包

在master上操作

  1. 将jdk安装包上传到虚拟机(master)image-20220426131954853 创建目录: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 jdkimage-20220426132453337 使用master发送给slave1和slave2,命令:scp -r /usr/java/jdk root@slave1:/usr/javascp -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

image-20220426132453337
发送给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是否安装成功。
image-20220426132453337

三、Hadoop集群环境的搭建

  1. 解压Hadoop安装包 将Hadoop安装包上传到虚拟机(master)image-20220426132453337 解压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/hadoopvi 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,看到如下进程:
image-20220426132453337
在slave1和slave2输入jps,看到如下进程:
image-20220426132453337
输入网址:http://192.168.223.200:50070(master ip),通过这个Web界面查看namenode的启动情况。
image-20220426132453337
输入网址:http://192.168.223.200:8088(master ip),通过这个Web界面查看yarn的启动情况
image-20220426132453337

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

标签: hadoop hdfs 大数据

本文转载自: https://blog.csdn.net/weixin_54412689/article/details/124425121
版权归原作者 -starshine丨 所有, 如有侵权,请联系我们删除。

“Hadoop完全分布式环境部署(一看就会)”的评论:

还没有评论