hadoop完全分布式集群搭建步骤

  1. 观看此文档的基础为已经在VMWare WorkStation Pro里面安装好了一台centOS 7.最好是最小安装版本的.(最好在磁盘预留30G左右空间用于安装三台虚拟机)在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 先确认虚拟机是否可以联网 ping www.baidu.com (正常安装后可以联网)
    如图所示可以联网,然后可以ctrl+c停掉
    在这里插入图片描述
  3. 安装网络工具:yum install net-tools(会出现y/n的选项 输入yes即可)
    输入 ifconfig 出现ip地址即可
    在这里插入图片描述
  4. 安装ssh服务 yum -y install openssh-server yum -y install openssh-clients在这里插入图片描述
  5. 克隆master虚拟机(虚拟机右键管理有克隆选项,需要先把虚拟机关机) 克隆后的两台虚拟机分别为slave01 slave02在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6. 克隆完成后,将三台虚拟机进行开机登录操作,并输入 ifconfig 查看ip并单独记录下来在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7. 安装Xshell工具在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8. 使用Xshell去远程连接虚拟机(三台都要连接)在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:从这一步骤开始,后续会有三个虚拟机都执行的命令,三个虚拟机都执行的命令我们用蓝色字体表示

  1. 设置Xshell公共执行命令窗口:在这里插入图片描述
    在这里插入图片描述
  2. 关闭防火墙(三台虚拟机都执行) systemctl stop firewalld.service
    禁止firewall开机启动(三台虚拟机都执行) systemctl disable firewalld.service
    在这里插入图片描述
  3. 分别修改主机名(三台虚拟机都执行)
    vi /etc/hostname 将其修改成 master slave01 slave02 重启后输入hostname生效
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
12.配置 /etc/hosts文件,追加以下内容(三台虚拟机都执行) 命令为 vi /etc/hosts :
192.168.91.131 master ----->前面一定要是你的虚拟机名称所对应的ip地址
192.168.91.132 slave01
192.168.91.133 slave02
在这里插入图片描述
13. 生成公钥和私钥并设置无密码登录
(1) 生成公钥和私钥(三台虚拟机都执行) ssh-keygen -t rsa 一路回车即可(三次回车)
在这里插入图片描述
(2) 将公钥追加到到authorized_keys中并赋予authorized_keys 600权限(三台虚拟机都执行)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
在这里插入图片描述
(3) 将master节点上的authoized_keys远程传输到slave01和slave02的~/.ssh/目录下(master虚拟机执行)
scp /root/.ssh/authorized_keys root@slave01:/root/.ssh/
scp /root/.ssh/authorized_keys root@slave02:/root/.ssh/
在这里插入图片描述

在这里插入图片描述
(4) 验证无密码登录 : ssh slave01 不需要输入密码即可登录 exit:退出 (master虚拟机执行)在这里插入图片描述
14. 配置Java环境(此步骤要在master虚拟机中执行)
(1) 安装jdk和hadoop 使用 winscp 进行传输(master虚拟机执行)
(2) 在master虚拟机上创建一个software目录 cd/opt/ mkdir software
在这里插入图片描述

(3) 使用winscp连接到master虚拟机,将jdk和hadoop的压缩包传到/opt/software目录下

在这里插入图片描述

在这里插入图片描述

(4) 在master中进行jdk的解压操作tar zxvf jdk-8u241-linux-x64.tar.gz
修改文件名为: mv jdk1.8.0_241/ jdk1.8
在这里插入图片描述
(5) 在master中配置jdk环境变量: vi /etc/profile 在末尾追加:
export JAVA_HOME=/opt/software/jdk1.8
export JRE_HOME=/opt/software/jdk1.8/jre
CLASSPATH=.: J R E H O M E / l i b / r t . j a r : JRE_HOME/lib/rt.jar: JREHOME/lib/rt.jar:JAVA_HOME/lib/dt.jar: J A V A H O M E / l i b / t o o l s . j a r P A T H = JAVA_HOME/lib/tools.jar PATH= JAVAHOME/lib/tools.jarPATH=PATH: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin
export HADOOP_HOME=/opt/software/hadoop-2.6.5
export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
在这里插入图片描述
(6) 在master中刷新环境变量 source /etc/profile
验证是否安装成功: java -version javac java
在这里插入图片描述
15. 配置hadoop环境(此步骤要在master虚拟机中执行)
(1) 解压hadoop tar zxvf hadoop-2.6.5.tar.gz

(2) 解压后在hadoop安装目录下创建tmp、logs、hdfs、hdfs/name、hdfs/data五个文件夹
在这里插入图片描述
(3) 使用winscp软件进行配置文件的更改:配置文件都在hadoop2.6.5/etc/hadoop下(注意修改后保存)
① hadoop-env.sh 修改第25行的 ${JAVA_HOME}为自己的jdk安装目录(/opt/software/jdk1.8)
在这里插入图片描述
在这里插入图片描述
② yarn-env.sh
修改第23行, 解注释(export JAVA_HOME=/home/y/libexec/jdk1.6.0/)
修改为自己的jdk安装目录(/opt/software/jdk1.8)

在这里插入图片描述
在这里插入图片描述

③ slaves 将localhost 改为slave01 slave02
在这里插入图片描述
在这里插入图片描述
④ 配置 core-site.xml文件
在这里插入图片描述
在这里插入图片描述
⑤ 配置hdfs-site.xml文件
在这里插入图片描述
在这里插入图片描述
⑥ 配置yarn-site.xml
在这里插入图片描述
在这里插入图片描述
⑦ 在master命令行中执行以下命令(在opt/software/hadoop-2.6.5/etc/hadoop/目录下执行)
cd /opt/software/hadoop-2.6.5/etc/hadoop/
cp mapred-site.xml.template mapred-site.xml

扫描二维码关注公众号,回复: 11934534 查看本文章

在这里插入图片描述
⑧ 修改mapred-site.xml文件
在这里插入图片描述
在这里插入图片描述
(4) 将master中配置好的环境通过scp命令传递给slave01和slave02
① 在master中将software文件夹拷贝到slave01和slave02的opt目录下
scp -r /opt/software/ root@slave01:/opt/
scp -r /opt/software/ root@slave02:/opt/
② 在master中将/etc/profile文件拷贝到slave01heslave02的/etc目录下
scp /etc/profile root@slave01:/etc/
scp /etc/profile root@slave02:/etc/

在这里插入图片描述
③ 刷新slave01和slave02中的环境变量 验证java和hadoop是否配置成功(可以三台虚拟机都执行)
source /etc/profile:刷新
java -version && java & javac:验证java环境变量
hadoop version:验证hadoop环境变量

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(5) 锁定时间同步(三台虚拟机都执行)
① 安装时间同步软件ntpdate
yum -y install ntp ntpdate

在这里插入图片描述
② 和网络时间进行同步
ntpdate cn.pool.ntp.org

在这里插入图片描述
③ 把时间写入硬件进行锁定
hwclock --systohc

在这里插入图片描述
(6) 在master中进行格式化操作
① 进入hadoop-2.6.5/bin目录 cd /opt/software/hadoop-2.6.5/bin/

在这里插入图片描述
② 执行以下命令进行格式化: ./hdfs namenode -format

  1. 出现successfully formatted 表示成功
  2. 如果没有成功,做以下操作:
    a. 检查并修改出错的配置文件(修改后一定要传给slave01和slave02一份)
    将特定的配置文件传递给slave01或slave02:
    scp /opt/software/hadoop-2.6.5/etc/hadoop/mapred-site.xml root@slave02:/opt/software/hadoop-2.6.5/etc/hadoop/
    b. 删除三个主机上的hdfs中的name和data文件夹(三台虚拟机都执行)
    cd /opt/software/hadoop-2.6.5
    rm -rf hdfs/

在这里插入图片描述
c. 重新新建hdfs目录和hdfs/data 和hdfs/name 目录(三台虚拟机都执行)
mkdir /opt/software/hadoop-2.6.5/hdfs
mkdir /opt/software/hadoop-2.6.5/hdfs/data
mkdir /opt/software/hadoop-2.6.5/hdfs/name

在这里插入图片描述
d. 重新格式化(master中执行)
./hdfs namenode -format

在这里插入图片描述
16. 启动集群服务(master中执行)
(1) 启动hdfs服务:
① 进入到特定目录 cd /opt/software/hadoop-2.6.5/sbin/
② 启动hdfs服务 ./start-dfs.sh
③ 查看当前进程 jps
④ 出现以下结果代表集群启动成功:启动
master中输入jps出现 NameNode 和 SecondaryNameNode
slave01 和 slave02中注入jps出现 DataNode

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2) 启动yarn服务
① 进入到特定目录 cd /opt/software/hadoop-2.6.5/sbin/
② 启动yarn服务 ./start-yarn.sh
③ 出现以下结果代表集群启动成功:启动
master中输入jps多了 ResourceManager
slave01 和 slave02中注入jps多了 NodeManager

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3) 同时启动hdfs和yarn服务:直接执行 hdfs-all.sh
17. 访问相关网站
(1) 访问http://192.168.216.129:50070

在这里插入图片描述

(2) 访问:http://192.168.216.129:8088在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_47398053/article/details/109100579