Hadoop3.x系列完全分布式集群搭建

一、安装虚拟机软件

本次安装的是VMware Workstation 16Player

详见安装教程,在此不做说明。

安装后打开虚拟网络编辑器,可以把IP地址的指定,这里指定的是100,网关和IP地址需要记住,后面还会用到。

在这里插入图片描述
更改后记得确定和应用。

二、 CentOS安装

本次安装的是mini包,只具备基本功能。

1、打开VM16,选择创建新虚拟机

图2-1

2、选择已下载好的光盘映像文件。这一步也可以选择稍后安装操作系统,最后加入.iso文件。

选择光盘映像文件

3、给虚拟机命名,并选择虚拟机的安装路径。这里我因为我已经有 123三个节点,所以命名为node04.在这里插入图片描述
4、点击下一步,选择磁盘大小,这里根据自身硬件情况选择,并勾选将虚拟磁盘拆分为多个文件。在这里插入图片描述
5、继续点击下一步,点击完成,开始安装。
6、出现以下界面,将输入定向到虚拟机内。使用上下箭头选择install centos7,并回车。
在这里插入图片描述
7、选择语言——Chinese,中文简体。

8、点击安装位置,选择自动配置分区。

9、配置网络。
(1) 点击网络和主机名,将主机名修改为node04,然后点击应用,可以看到当前主机名已经变更为了node04。

在这里插入图片描述
(2)点击配置,在常规处勾选可用时自动连接到这个网络

在这里插入图片描述

(3)IPV4处,将方法设定为手动,选择add,将IP设定为192.168.100.104,子网掩码为255.255.255.0或者24,网关为前面的192.168.100.2,DNS可以选择129.119.119.119,114.114.114.114 注意中间连接的是逗号,且所有字符皆为英文。

在这里插入图片描述

(4)ipv6推荐选择为忽略,保存并退出。正常情况下网络连接会自动打开,这里可以检查各项数据是否正确。无误后点击完成退出。
在这里插入图片描述
10、点击开始安装,这个过程可能需要一些时间,请耐心等待。
在这里插入图片描述
11、设置root密码,推荐123456,如果密码过于简单需要点击两次完成。
在这里插入图片描述
12、不推荐设置用户,可以使用默认root用户。接下来需要耐心等待安装。安装成功后点击重启,安装完成。

在这里插入图片描述

13、输入用户名root和密码123456可以成功登入,这时可以输入ip a查看本机IP地址,可以ping192.168.100.2和www.baidu.com检查网络连通性。(ctrl+c 可以停止)

在这里插入图片描述

14、接下来可以按照相同的步骤安装另外两台虚拟机,把网络和主机名分别修改为05和06(也可以克隆虚拟机)。

二、XShell及其他工具和使用

1、安装XShell
下载XShell和crack后,运行.exe文件,进行xshell的安装,记录下安装路径。安装完成后,先不要打开应用,将crack文件里的两个文件夹复制到xshell安装路径下,选择替换,再打开。
2、xshell的使用
(1)连接

点击新建会话,名称填node04,主机即IP地址

在这里插入图片描述

然后点击连接,输入账号密码

在这里插入图片描述
接收并保存弹出来的安全警告

在这里插入图片描述
最后连接,成功后显示如下

(2)其他设置

3、时间同步工具的安装及使用

点击工具,选择最上方的发送键输入到所有会话,则只需要在一个节点页面输入。
(1)执行安装命令
yum -y install npt nptdate
(2)设置各个节点的时间与网络同步
ntpdate cn.pool.ntp.org
(3)与硬件时间同步

4、安装vim编辑器
yum -y install vim
5、安装上传下载工具
yum -y install lrzsz
6、安装网络下载工具
yum -y install wget
只需要在node04上安装。

三、开始前准备
1、关闭防火墙
(1)防火墙相关命令
#!查看防火墙开启状态
systemctl status firewalld
#!关闭防火墙
systemctl stop firewalld
#!禁止开机启动防火墙
systemctl disable firewalld
#!开启防火墙
systemctl start firewalld
#!设置开机启动防火墙
systemctl enable firewalld
#!重启防火墙
systemctl restart firewalld
(2)实际操作
在这里插入图片描述

2、配置hosts文件
执行命令 vim /etc/hosts
在这里插入图片描述

按i进入编辑模式
在前两行输入#注释掉其内容
输入
|192.168.100.104 node04
192.168.100.105 node05
192.168.100.106 node06

在这里插入图片描述
如图所示,按ESC : wq 保存并退出,则hosts文件配置完成

3、设置ssh免密登录
(1)每个节点使用命令 ssh + IP地址,然后输入no,以在主目录产生一个.ssh文件夹
(2)每台机器均进入~/.ssh 目录进行操作
cd ~/.ssh
(3)输入以下命令,一路回车,用以产生公钥和秘钥
ssh-keygen -t rsa -P ‘’
出现以下信息说明生成成功
在这里插入图片描述
#! 将每台机器上的id_rsa.pub公钥内容复制到authorized_keys文件中
[root@node01 .ssh]# cp id_rsa.pub authorized_keys
#! 将所有的authorized_keys文件进行合并(最简单的方法是将其余两台node主机的文件内容追加到node04主机上)
cat ~/.ssh/authorized_keys | ssh root@node04 ‘cat >> ~/.ssh/authorized_keys’
cat ~/.ssh/authorized_keys | ssh root@node04 ‘cat >> ~/.ssh/authorized_keys’
#! 查看node04上的authorized_keys文件内容,类似如下即可,注意是否包含节点040506的内容。
命令 more authorized_keys
在这里插入图片描述
将node04上的authorized_keys文件分发到其他主机上
scp ~/.ssh/authorized_keys root@node05:~/.ssh/
scp ~/.ssh/authorized_keys root@node06:~/.ssh/
在每台节点之间进行ssh免密码登录操作,包括自己与自己
在这里插入图片描述
在这里插入图片描述

四、jdk
1、 查询当前所有安装的jdk版本
rpm -qa|grep jdk
如果什么都没有展示说明没有已安装的jdk,则无需卸载,如果出现以下jdk,则卸载之
copy-jdk-configs-2.2-3.el7.noarch
java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
卸载jdk,使用下面的方法卸载即可
yum -y remove copy-jdk-configs-2.2-3.el7.noarch
再次查询当前所有安装的jdk版本
rpm -qa|grep jdk
2、在node04主节点上创建指定目录
[root@node04 ~]# mkdir -p /opt/apps
3、 进入到apps目录
[root@node04 ~]# cd /opt/apps/
4、使用rz命令从Windows主机上传jdk压缩包到node01节点,也可以直接拖拽至xshell命令窗口,如果失败,可断开连接重新尝试。
[root@node04 apps]# rz
5、解压到当前目录
[root@node04 apps]# tar -zxvf jdk-8u281-linux-x64.tar.gz
6、配置环境变量,亦可配置到 /etc/bashrc 中
[root@node04 apps]# vim /etc/profile
#! 在该文件后面追加一下内容
export JAVA_HOME=/opt/apps/jdk1.8.0_281 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

7、使刚才的设置生效
[root@node04 apps]# source /etc/profile
8、 检测是否配置成功
[root@node04 apps]# java -version
在这里插入图片描述

9、注意
只需要在node04上配置即可,其他节点可以在最后远程复制过去
/etc/profile:在用户第一次登录时,加载一次
/etc/bashrc:在用户每次打开shell的时候,加载一次

五、hadoop
1、上传
[root@node04 ~]# cd /opt/apps
[root@node04 apps]# rz
2、 解压
[root@node04 apps]# tar -zxvf hadoop-3.2.2.tar.gz
在这里插入图片描述
3、查看解压后的目录信息
[root@node04 apps]# ll hadoop-3.2.2/
在这里插入图片描述

六、文件配置
1、hadoop-env.sh
进入hadoop-3.2.2目录
cd hadoop-3.2.2/
使用vim编辑
vim etc/hadoop/hadoop-env.sh
添加自己的jdk安装路径
export JAVA_HOME=/opt/apps/jdk1.8.0_281
2、core-site.xml
在中间添加以下内容



<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node04:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/opt/apps/hadoop-3.2.2/tmp</value>
</property>
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
</property>


在这里插入图片描述
其中

3、hdfs-site.xml

<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/opt/apps/hadoop-3.2.2/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/opt/apps/hadoop-3.2.2/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<property>
    <name>dfs.namenode.checkpoint.dir</name>
    <value>file:/opt/apps/hadoop-3.2.2/dfs/namesecondary</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node06:9868</value>
</property>

在这里插入图片描述
4、yarn-site.xml

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>node05</value>
</property>
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>1024</value>
</property>
<property>
    <name>yarn.nodemanager.resource.detect-hardware-capabilities</name>
    <value>true</value>
</property>
<property>
        <name>yarn.nodemanager.env-whitelist</name>
 <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>

在这里插入图片描述
5、mapred-site.xml

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>node04:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>node04:19888</value>
</property>

在这里插入图片描述
workers
vim etc/hadoop/workers
在这里插入图片描述
3.4.9 文件分发
将node04节点上的apps目录远程拷贝到其他节点

[root@node04 ~]# scp -r /opt/apps root@node05:/opt/
[root@node04 ~]# scp -r /opt/apps root@node06:/opt/

3.4.10 设置环境变量
#! 所有各节点均编辑/etc/profile文件
[root@node04 hadoop-3.2.2]# vi /etc/profile
#! 添加以下内容

##Hadoop
export HADOOP_HOME=/opt/apps/hadoop-3.2.2
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
##Hadoop User
export HADOOP_USERNAME=root
export HDFS_NAMENODE_USER=$HADOOP_USERNAME
export HDFS_DATANODE_USER=$HADOOP_USERNAME
export HDFS_SECONDARYNAMENODE_USER=$HADOOP_USERNAME
export YARN_RESOURCEMANAGER_USER=$HADOOP_USERNAME
export YARN_NODEMANAGER_USER=$HADOOP_USERNAME

export JAVA_HOME=/opt/apps/jdk1.8.0_281
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOMEb/dt.jar:$JAVA_HOMEb/tools.jar:$JRE_HOMEb/rt.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

#! 使设置立即生效
[root@node04 hadoop-3.2.2]# source /etc/profile

七、启动和访问
1、node04启动集群
2、node05启动yarn服务
3、node04启动jobhistoryserver
4、各个节点的jps检验
5、访问namenode information
端口号9870
在这里插入图片描述
6、访问ResouceManager
端口号8088
在这里插入图片描述
7、访问jobhistory
端口号19888
在这里插入图片描述
8、SecondnaryNamenode的访问
端口号9868
在这里插入图片描述

八、关闭
1、
mapred --daemon stop historyserver
2、

[root@node05 ~]# stop-yarn.sh
Stopping nodemanagers
上一次登录:三 3月 10 07:39:08 CST 2021pts/0 上
Stopping resourcemanager
上一次登录:三 3月 10 08:04:42 CST 2021pts/0 上

3、

[root@node04 ~]# stop-dfs.sh
Stopping namenodes on [node04]
上一次登录:三 3月 10 08:26:12 CST 2021pts/1 上
Stopping datanodes
上一次登录:三 3月 10 08:53:04 CST 2021pts/1 上
Stopping secondary namenodes [node06]
上一次登录:三 3月 10 08:53:06 CST 2021pts/1 上

九、注意点总结
十、错误问题汇总
1、npt未找到命令
问题现象
尝试:
原因:yum源出现问题
解决方法
2、rz文件拖拽上传出错
尝试强制执行
重启后上传成功

3、jps在05节点未找到命令

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值