欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

使用虚拟机完成Hadoop完全分布式的搭建

时间:2023-04-20

1、首先要下载好虚拟机VMware workstation,并进行安装。

链接:https://pan.baidu.com/s/1EuNflW8so-xx46qrdCRbDg 提取码:hjl4

2、下载Linux的对应版本,可以通过官网下载。

链接:https://pan.baidu.com/s/1DJ411izE54jI014dgVwekg 提取码:hjl4

3、在VMware上新建三台虚拟机(以示范为主),主机名分别为master、slave1,slave2。

4、创建好虚拟机后,每台虚拟机都要进行以下几步操作。

                设置静态IP;                关闭防火墙;                修改主机名;                配置主机名与IP映射;                设置SSH免密登录;                安装Java运行环境;                配置时间同步服务;

设置静态IP

在打开的虚拟机的命令行中输入以下代码,然后回车

vi /etc/sysconfig/network-scripts/ifcfg-ens33

   并将以下标记的项进行添加和修改。(修改不了记得切换root用户)  

IPADDR=192.168.5.130NETMASK=255.255.255.0GATEWAY=192.168.5.2DNS1=114.114.114.114DNS2=8.8.8.8

要根据自身的电脑去设置IPADDR和GATEWAY。这里只是示例。

关闭防火墙         

使用以下命令关闭防火墙

关闭——systemctl stop firewalld.service

永久关闭——systemctl disable firewalld.service(防止重启虚拟机后防火墙重新开启)

查看状态——firewall-cmd --state

 

修改主机名

vi /etc/hostname

 把原本的改为master(其他两台虚拟机是slave1和slave2)

 修改完后需要重启虚拟机

shutdown -r now

 重启后

 

配置主机名与IP映射

vi /etc/hosts

 添加以下代码

192.168.5.130 master192.168.5.131 slave1192.168.5.132 slave2

 

设置SSH免密登录

在三台虚拟机中都使用以下命令生成密钥。输入命令后一直回车。

ssh-keygen -t rsa

 出现以下结果为成功

 然后在三个虚拟机都输入以下命令

ssh-copy-id -i ~/.ssh/id_rsa.pub masterssh-copy-id -i ~/.ssh/id_rsa.pub slave1ssh-copy-id -i ~/.ssh/id_rsa.pub slave2

然后验证三台机器时间是否可以免密登录

 

 

安装Java运行环境

(链接:https://pan.baidu.com/s/1j0NLSMr9viSOCDPWgQbIow    提取码:hjl4 )

将下载好的JDK上传到每个虚拟机的/usr/local目录下

可以使用这个moba远程连接工具进行拖动上传

(链接:https://pan.baidu.com/s/1YJspblyMrTf2bdyPITpDDQ  提取码:hjl4 )

 使用以下命令进行解压

tar -zxvf jdk-8u144-linux-x64.tar.gz

  使用以下命令更改jdk的文件名

mv jdk1.8.0_144 jdk

                 

配置环境变量

vi /etc/profile

添加以下代码

export JAVA_HOME=/usr/local/jdkexport PATH=.:$JAVA_HOME/bin:$PATH

 保存后退出

输入以下代码刷新环境变量

source /etc/profile

然后输入

java -version

 出现以下结果即成功安装Java

配置时间同步服务

使用以下命令下载ntpdate进行时间同步

yum install ntpdate -y

 下载完成后输入以下命令同步至上海NTP服务器

ntpdate -u ntp.api.bz

 

5、安装与配置Hadoop

链接:https://pan.baidu.com/s/1eeCKS95XQnWXVv7wKjwmfQ 
提取码:hjl4 
 

将下载好的hadoop压缩包上传至/usr/local目录下

 使用命令解压

tar -zxvf hadoop-3.3.1.tar.gz

并将解压后的文件夹改名为hadoop

mv hadoop-3.3.1 hadoop

 修改环境变量

vi /etc/profile

添加以下代码

export HADOOP_HOME=/usr/local/hadoopexport PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

 

更新环境变量

source /etc/profile

 出现以下情况表面已经表面成功

hadoop version

6、修改配置文件,以下修改可先修改主节点服务器的,之后通过分发的方式进行修改其余节点配置文件。

修改hadoop-env.sh、yarn-env.sh、mapred-env.sh配置文件,增加Java环境变量

vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh

vi /usr/local/hadoop/etc/hadoop/yarn-env.sh

vi /usr/local/hadoop/etc/hadoop/mapred-env.sh

 

 修改core-site.xml

vi /usr/local/hadoop/etc/hadoop/core-site.xml

fs.defaultFS hdfs://master:8020 hadoop.tmp.dir /usr/local/hadoop/tmp

修改hdfs-site.xml

vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml

dfs.replication 2 dfs.namenode.name.dir file:/usr/local/hadoop/tmp/dfs/name dfs.datanode.data.dir file:/usr/local/hadoop/tmp/dfs/data dfs.secondary.http.address slave1:9870

修改mapred-site.xml

vi /usr/local/hadoop/etc/hadoop/mapred-site.xml

mapreduce.framework.name yarn

修改yarn-site.xml

vi /usr/local/hadoop/etc/hadoop/yarn-site.xml

yarn.resourcemanager.hostname master yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.webapp.address master:18088

修改slaves

vi /usr/local/hadoop/etc/hadoop/slaves

masterslave1slave2

7、分发主节点配置文件到集群中的从节点服务器

输入以下两条命令

scp -r /usr/local/hadoop/etc/hadoop root@slave1:/usr/local/hadoop/etc/

scp -r /usr/local/hadoop/etc/hadoop root@slave2:/usr/local/hadoop/etc/

 出现以上情况已成功分发,可前往从节点服务器查看

8、完成以上配置以后,可以说,前期配置已经完成了

现在在启动Hadoop集群以前,需要对NameNode进行格式化操作。

输入以下命令

cd /usr/local/hadoop/binhdfs namenode -format

 出现以下情况便已成功

 依次启动HDFS和YARN

cd /usr/local/hadoop/sbin./start-dfs.sh

有可能出现以下情况(若无此问题可忽略)

 解决方法:(三个虚拟机都需操作)

修改/usr/local/hadoop/sbin下的两个文件start-dfs.sh/stop-dfs.sh

在两个文件的顶部插入

HDFS_DATANODE_USER=rootHADOOP_SECURE_DN_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root

 

 还要修改/usr/local/hadoop/sbin下的两个文件start-yarn.sh/stop-yarn.sh

在这两个文件顶部插入

YARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yarnYARN_NODEMANAGER_USER=root

 现在可以正常启动了

输入jps查看进程

 

 

 

 在浏览器地址栏中输入:http://192.168.5.130:9870/

  在浏览器地址栏中输入:http://192.168.5.130:18088

 

 至此,Hadoop的完全分布式部署已经完成。

祝大家成为大神~

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。