hadoop|四十九、Hadoop HA部署(MINI版)

环境准备:

编号 主机名 类型 用户 密码
1 master1-1 主节点 root passwd
2 slave1-1 从节点 root passwd
3 slave1-2 从节点 root passwd

CentOS 7.4 MINI镜像文件
hadoop-2.7.1.tar.gz
jdk1.8.0_221.tar.gz
zookeeper-3.4.8.tar.gz
运维实操手册
环境版本手册
注:提取码均为: 0000

机器检查: 1、输入用户名及登录密码进行登录
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

2、 检查内网是否畅通
A、查看机器IP地址
ip addr

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

注:通过观察此台机器IP为192.168.231.244
B、测试内网
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

注:通过观察机器内网畅通
C、测试外网
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

注:通过观察此台机器外网畅通
注:三台机器分别进行检查,网络配置无误

静态IP配置: 1、查看各台机器IP地址
ip addr

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

2、编辑ifcfg-ens33网络
vi /etc/sysconfig/network-scripts/ifcfg-ens33

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

注:BOOTPROTO的值更改为static,加入最下面五行内容,分别为:IP,子网掩码,网关,DNS1,DNS2 其余配置勿进行更改
提示:IP地址要与网关处于同一网段内,DNS1与网关相同即可,子网掩码,DNS2照搬即可
3、重启网络
service network restart

4、进行内网与外网的检查
ping 192.168.231.244

ping www.baidu.com


此处笔者IP为:
主机名 IP
master1-1 192.168.231.244
slave1-1 192.168.231.245
slave1-2 192.168.231.246





环境部署: 一、解压 JDK 安装包到“/usr/local/src”路径,并配置环境变量;截取环境变量配置文件截图
1、关闭防火墙 和 关闭防火墙自启
systemctl stop firewalld.service

systemctl disable firewalld.service

注:三台机器全部都要关闭防火墙 和 自启
2、进入 /h3cu/ 目录
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

3、解压 jdk 到 /usr/local/src
tar -zxvf jdk1.8.0_221.tar.gz -C /usr/local/src/

4、配置环境变量
vi /etc/profile

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


二、在指定目录下安装ssh服务,查看ssh进程并截图(安装包统一在“/h3cu/”)
1、查看是否已安装ssh服务
rpm -qa | grep ssh

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

注:如有这些包,说明ssh服务已安装
2、使用yum进行安装ssh服务
yum -y install openssh openssh-server

3、查看ssh进程
ps -ef | grep ssh

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


三、创建 ssh 密钥,实现主节点与从节点的无密码登录;截取主节点登录其中一个从节点的结果
1、在指定目录下生成密钥对
ssh-keygen -t rsa

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

注:依次在系统等待输入时敲入回车键(一共4次回车)后,即可生成密钥对
2、分发公匙文件
ssh-copy-id 192.168.231.244 ssh-copy-id 192.168.231.245 ssh-copy-id 192.168.231.246

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

注:此为例图,需要免密登录的机器全部都要分发
3、主节点免密登录从节点
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


四、 根据要求修改每台主机 host 文件,截取“/etc/hosts”文件截图
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


注:此处需注意,三台机器的hosts文件全部都要修改

五、修 改 每 台 主 机 hostname 文 件 配 置 IP 与 主 机 名 映 射 关 系 ; 截 取 “/etc/hostname”文件截图
三台电脑分别设置主机名
hostnamectl set-hostname master1-1 hostnamectl set-hostname slave1-1 hostnamectl set-hostname slave1-2

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


六、在主节点和从节点修改 Hadoop 环境变量,并截取修改内容
1、修改Hadoop环境变量
vi /etc/profile

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


七、需安装 Zookeeper 组件具体要求同 Zookeeper 任务要求,并与 Hadoop HA 环境适配
1、解压zookeeper
tar -zxvf /h3cu/zookeeper-3.4.8.tar.gz -C /usr/local/src/

2、重命名
mv /usr/local/src/zookeeper-3.4.8 /usr/local/src/zookeeper

3、进入zookeeper/conf目录下
cd /usr/local/src/zookeeper/conf

4、重命名zoo_sample.cfg为zoo.cfg
mv zoo_sample.cfg zoo.cfg

5、修改zoo.cfg配置文件
vi zoo.cfg

tickTime=2000 initLimit=10 syncLimit=5 clientPort=2181 dataDir=/usr/local/src/zookeeper/data dataLogDir=/usr/local/src/zookeeper/logs server.1=master1-1:2888:3888 server.2=slave1-1:2888:3888 server.3=slave1-2:2888:3888

6、创建ZooKeeper 的数据存储与日志存储目录
mkdir /usr/local/src/zookeeper/data mkdir /usr/local/src/zookeeper/logs

7、创建myid文件并写入内容:1
vi /usr/local/src/zookeeper/data/myid

8、添加zookeeper环境变量
vi /etc/profile

export ZK_HOME=/usr/local/src/zookeeper export PATH=$PATH:$ZK_HOME/bin

9、集群分发
scp -r /etc/profile slave1-1:/etc/profile

scp -r /etc/profile slave1-2:/etc/profile

scp -r /usr/local/src/zookeeper slave1-1:/usr/local/src/

scp -r /usr/local/src/zookeeper slave1-2:/usr/local/src/

10、修改slave1-1 和 slave1-2的myid文件分别为2 ,3
vi /usr/local/src/zookeeper/data/myid


八、修改 namenode、datanode、journalnode 等存放数据的公共目录为 /usr/local/hadoop/tmp
1、解压安装Hadoop
tar -zxvf /h3cu/hadoop-2.7.1.tar.gz -C /usr/local/

2、重命名Hadoop
mv /usr/local/hadoop-2.7.1 /usr/local/hadoop

3、进入hadoop配置文件目录
cd /usr/local/hadoop/etc/hadoop

4、配置hadoop-env.sh文件
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

5、配置core-site.xml文件
fs.defaultFS hdfs://mycluster hadoop.tmp.dir /usr/local/hadoop/tmp ha.zookeeper.quorum master1-1:2181,slave1-1:2181,slave1-2:2181 ha.zookeeper.session-timeout.ms 30000 ms fs.trash.interval 1440

6、配置hdfs-site.xml文件
dfs.qjournal.start-segment.timeout.ms 60000 dfs.nameservices mycluster dfs.ha.namenodes.mycluster master1-1,slave1-1 dfs.namenode.rpc-address.mycluster.master1-1 master1-1:9000 dfs.namenode.rpc-address.mycluster.slave1-1 slave1-1:9000 dfs.namenode.http-address.mycluster.master1-1 master1-1:50070 dfs.namenode.http-address.mycluster.slave1-1 slave1-1:50070 dfs.namenode.shared.edits.dir qjournal://master1-1:8485; slave1-1:8485; slave1-2:8485/mycluster dfs.client.failover.proxy.provider.mycluster org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider dfs.ha.fencing.methods sshfence shell(/bin/true) dfs.permissions.enabled false dfs.support.append true dfs.ha.fencing.ssh.private-key-files /root/.ssh/id_rsa dfs.replication 2 dfs.namenode.name.dir /usr/local/hadoop/tmp/name dfs.datanode.data.dir /usr/local/hadoop/tmp/data dfs.journalnode.edits.dir /usr/local/hadoop/tmp/journal dfs.ha.automatic-failover.enabled true dfs.webhdfs.enabled true dfs.ha.fencing.ssh.connect-timeout 30000 ha.failover-controller.cli-check.rpc-timeout.ms 60000

7、配置mapred-site.xml文件
A、拷贝mapred-site.xml.template重命名为mapred-site.xml
cp mapred-site.xml.template mapred-site.xml

B、编辑文件
vi mapred-site.xml

mapreduce.framework.name yarn mapreduce.jobhistory.address master1-1:10020 mapreduce.jobhistory.webapp.address master1-1:19888

8、配置yarn-site.xml文件
yarn.resourcemanager.ha.enabled true yarn.resourcemanager.cluster-id yrc yarn.resourcemanager.ha.rm-ids rm1,rm2 yarn.resourcemanager.hostname.rm1 master1-1 yarn.resourcemanager.hostname.rm2 slave1-1 yarn.resourcemanager.zk-address master1-1:2181,slave1-1:2181,slave1-2:2181 yarn.nodemanager.aux-services mapreduce_shuffle yarn.log-aggregation-enable true yarn.log-aggregation.retain-seconds 86400 yarn.resourcemanager.recovery.enabled true yarn.resourcemanager.store.class org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore

9、创建tmp , logs, tmp/下创建name,data,journal目录
mkdir /usr/local/hadoop/tmp mkdir /usr/local/hadoop/logs mkdir /usr/local/hadoop/tmp/journal mkdir /usr/local/hadoop/tmp/data mkdir /usr/local/hadoop/tmp/name

10、配置hadoop/etc/hadoop/slaves文件
master1-1 slave1-1 slave1-2

11、分发jdk和hadoop文件
scp -r /usr/local/src/jdk1.8.0_221/ slave1-1:/usr/local/src/ scp -r /usr/local/src/jdk1.8.0_221/ slave1-2:/usr/local/src/ scp -r /usr/local/hadoop slave1-1:/usr/local/ scp -r /usr/local/hadoop slave1-2:/usr/local/

12、确保3台机器的环境变量已经生效
source /etc/profile

注:三台机器全部进行source即时生效

九、根据要求修改 Hadoop 相关文件,并初始化 Hadoop,截图初始化结果
1、启动zookeeper集群并查看状态
进入zookeeper安装目录下
bin/zkServer.sh start

bin/zkServer.sh status

注:三台机器都要启动
2、初始化HA在zookeeper中的状态
进入hadoop安装目录下
bin/hdfs zkfc -formatZK

3、启动全部机器的 journalnode 服务
进入/usr/local/hadoop安装目录下
sbin/hadoop-daemon.sh start journalnode

注:三台机器全部启动journalnode进程
4、初始化namenode
进入hadoop/bin目录下
hdfs namenode -format

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

注:观察是否有报错信息,status是否为0,0即为初始化成功,1则报错,检查配置文件是否有误

十、启动 Hadoop,使用相关命令查看所有节点 Hadoop 进程并截图
1、启动hadoop所有进程
进入hadoop安装目录下
sbin/start-all.sh


hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

【hadoop|四十九、Hadoop HA部署(MINI版)】
注:三台机器使用 ps -ef 命令查看进程

十一、本题要求配置完成后在 Hadoop 平台上运行查看进程命令,要求运行结果的截屏保存

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


注:三台机器使用 jps 命令查看hadoop 进程

十二、格式化主从节点
1、复制 namenode 元数据到其它节点
scp -r /usr/local/hadoop/tmp/* slave1-1:/usr/local/hadoop/tmp/

scp -r /usr/local/hadoop/tmp/* slave1-2:/usr/local/hadoop/tmp/

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

注:由于之前namenode,datanode,journalnode的数据全部存放在hadoop/tmp目录下,所以直接复制 tmp 目录至从节点


十三、启动两个 resourcemanager 和 namenode
1、在slave1-1节点启动namenode和resourcemanager进程
进入hadoop安装目录
sbin/yarn-daemon.sh start resourcemanager

sbin/hadoop-daemon.sh start namenode


十四、使用查看进程命令查看进程,并截图(要求截取主机名称),访问两个 namenode 和 resourcemanager web 界面.并截图保存(要求截到 url 状态)
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


1、配置windows中的hosts文件
A、进入C:\Windows\System32\drivers\etc目录下找到hosts文件
B、更改hosts文件的属性,使其可以修改内容
C、最后加入
192.168.231.244 master1-1 master1-1.centos.com 192.168.231.245 slave1-1 slave1-1.centos.com 192.168.231.246 slave1-2 slave1-2.centos.com

更改前
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

更改后
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


修改hosts文件拒绝访问参考:
Windows10 修改 hosts 拒绝访问如何解决?
win修改hosts拒绝访问

2、在浏览访问两个 namenode 和 resourcemanager web 界面
namenode web界面:
地址栏输入master1-1:50070 如图所示
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

地址栏输入slave1-1:50070 如图所示
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


resourcemanager web 界面:
hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


注:点击左方Nodes可以看到当前存在的节点

十五、终止 active 的 namenode 进程,并使用 Jps 查看各个节点进程,(截上主机名称),访问两个 namenode 和 resourcemanager web 界面.并截图保存 (要求截到 url 和状态)
1、终止活跃状态的namenode
kill -9 (namenode进程号)

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片


hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片



十六、重启刚才终止的 namenode,并查看 jps 进程,截图访问两个 namenode 的 web 界面,并截图保存
sbin/hadoop-daemon.sh start namenode

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片

hadoop|四十九、Hadoop HA部署(MINI版)
文章图片










Hadoop HA部署(MINI版)完成 不能打败你的必将使你愈发强大!


    推荐阅读