HA:高可用集群搭建

HA高可用集群搭建

需要知道的是部署集群节点至少需要三台虚拟机,这里我命名为node01,node02,node03,另外需要自己准备好各种安装包,一下是需要准备的安装包和本人使用的版本信息:
ISO映像文件 :CentOS-7-x86_64-Minimal-1804.iso
jdk:jdk-8u231-linux-x64.tar.gz
Hadoop:hadoop-3.1.4.tar.gz
zookeeper:apache-zookeeper-3.6.2-bin.tar.gz

部署集群节点

我们接下来需要部署的规划是分别让三台虚拟机拥有以下节点规划

服务器node01node02node03
Name NodeYYN
Data NodeYYY
Resource ManagerYNN
Node ManagerYYY
Journal NodeYYY
ZookeeperYYY
ZKFCYYN

创建虚拟机

先建立一台node01
创建

(本人使用的是VMware)
在这里插入图片描述
自己选择存放位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的虚拟机设置,之后可以在编辑内更改
在这里插入图片描述
点击编辑虚拟机设置,导入下载好的镜像文件
在这里插入图片描述

安装CentOS

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
等待,上述安装过程时间会有点久
注意:安装后点击重启

对node01进行操作
创建后续需要的文件夹

在这里插入图片描述
data:用于存储数据
servers:用于存放解压后的各种软件
software:用于存放刚下载或导入的安装包

查看虚拟机网络配置范围

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

这里启示ip地址为192.168.220.128,所以我给我的node01ip打算为192.168.220.129,node02为192.168.220.130,node03是190.168.220.131

编辑/etc/hosts文件

在这里插入图片描述

配置静态网络node01参数

在这里插入图片描述
vi 打开文件
i 进入编辑模式
在这里插入图片描述
这里IPADDR后填入你想给01的ip
DATEWAY和DNS1后面写入上面查询到的子网ip
NETMASK后是我们的子网掩码
配置好信息后
按Esc键后输入‘:wq’退出编辑
在这里插入图片描述

克隆

因为02、03现在所需要的配置修改和01一样(除了ip地址),所以我们可以直接复制,复制后修改ip更加方便快捷
(当然,你也可以后续在克隆,因为后续还要在装安装包,那样更加方便,我记录的是我在这里开始的克隆)

先关闭node01,右击node01->管理->克隆
注意:一定要先关闭node01
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同样的方法克隆node03
在这里插入图片描述

永久更改虚拟机的名字

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

更改node02、node03 IP

vi /etc/sysconfig/network-scripts/ifcfg-ens33
更改IPADDR后保存退出后,重启网关
在这里插入图片描述
在这里插入图片描述
至此,三台虚拟机准备完成

免密登录

分别对三台虚拟机做免密登录,注意包括自己
为了便于操作,接下来的步骤都是在secure CRT上操作的
免密操作的步骤,以node01为例:
在这里插入图片描述
完成了对自己的,接下来node01对02、03的
在这里插入图片描述
Node01验证
在这里插入图片描述
同样的在node02,node03上也是这样的命令和操作

安装工具包

下载lrzsz包

先下载lrzsz包,方便后续从windows导入安装包
在这里插入图片描述

安装jdk

导入jdk包
在这里插入图片描述
改名
在这里插入图片描述
配置jdk环境变量
在这里插入图片描述在这里插入图片描述

安装hadoop

在这里插入图片描述
改名
在这里插入图片描述
配置Hadoop的环境变量
在这里插入图片描述
在这里插入图片描述

安装zookeeper

在这里插入图片描述
改名
在这里插入图片描述
配置zookeeper环境变量
在这里插入图片描述
在这里插入图片描述
配置zoo.cfg
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建myid文件
创建这个文件是为了后续启动zkServer进程时,数值大的作为leader
在这里插入图片描述
在这里插入图片描述

分发文件
分发zookeeper相关文件夹到其他服务器

分发给node02
在这里插入图片描述
在这里插入图片描述
同样的将02改为03分发给03
修改各自的myid文件
在这里插入图片描述
在这里插入图片描述

分发jdk

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

分发hadoop

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

分发配置文件

在这里插入图片描述

验证

在这里插入图片描述
在这里插入图片描述
关闭所有防火墙
在这里插入图片描述
同样的,node02,node03也要关闭
开启zookeeper服务,并查看状态
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

配置Hadoop高可用集群

为了便于修改配置文件,我们用notepad++连接三台虚拟机,在内部进行修改
在这里插入图片描述
在这里插入图片描述

修改配置文件

/export/servers/Hadoop/etc/Hadoop
在这里插入图片描述

修改core-site.xml文件
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://ns1</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/export/servers/hadoop/tmp</value>
    </property>
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>node01:2181,node02:2181,node03:2181</value>
    </property>
</configuration>

这里我们需要新建tmp文件
在这里插入图片描述

修改hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/export/data/hadoop/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/export/data/hadoop/data</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.nameservices</name>
        <value>ns1</value>
    </property>
    <property>
        <name>dfs.ha.namenodes.ns1</name>
        <value>nn1,nn2</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.ns1.nn1</name>
        <value>node01:9000</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.ns1.nn1</name>
        <value>node01:50070</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.ns1.nn2</name>
        <value>node02:9000</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.ns1.nn2</name>
        <value>node02:50070</value>
    </property>
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://node01:8485;node02:8485;node03:8485/ns1</value>
    </property>
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/export/data/hadoop/journaldata</value>
    </property>
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.client.failover.proxy.provider.ns1</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>
            sshfence
            shell(/bin/true)
        </value>
    </property>
    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/root/.ssh/id_rsa</value>
    </property>
    <property>
        <name>dfs.ha.fencing.ssh.connect-timeout</name>
        <value>30000</value>
    </property>
</configuration>

这里需要新建文件
在这里插入图片描述

修改marped-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
修改yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1024</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>1024</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>1</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>yrc</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>node01</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>node02</value>
    </property>
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>node01:2181,node02:2181,node03:2181</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

</configuration>
修改workers
node01
node02
node03
修改hadoop-env.sh
<!--在末尾处加上-->
HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
HDFS_JOURNALNODE_USER=root
HDFS_ZKFC_USER=root
分发配置文件给node02 node03

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

启动HA集群

要确保zookeeper服务已经启动,启动zookeeper服务要关闭防火墙

启动集群各个节点监控namenode的管理日志journalNode

三台均输入命令
在这里插入图片描述

格式化,并分发文件到node02

注意不要分发给node03

格式化namenode

在这里插入图片描述
在这里插入图片描述
格式化成功
分发data文件
在这里插入图片描述

格式化ZKFC

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

启动hadfs和yarn,查看节点

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

HA高可用集群搭建完成,谢谢耐心看完

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值