Zookeeper集群部署

系列文章目录

OpenEuler部署单机Hadoop SingleNode模式_yhy_only的博客-CSDN博客


目录

系列文章目录

前言

一、升级操作系统和软件,并安装常用软件

二、集群部署

1. 3台主机和Ip地址。

2.先配置 spark01 之后 可进行克隆或者在重新配置剩下的2台机器

特别注意:

总结


前言

在上一篇部署了hadoop的SingleNode模式,本篇开始Zookeeper集群部署


提示:以下是本篇文章正文内容,下面案例可供参考

一、升级操作系统和软件,并安装常用软件

步骤代码和以往一样不做过多赘述

#升级系统
yum -y update

#安装软件
yum -y install gcc gcc-c++ autoconf automake cmake make rsync openssh-server vim man zip unzip net-tools zlib zlib-devel openssl openssl-devel pcre-devel tcpdump lrzsz tar

二、集群部署

1. 3台主机和Ip地址。

主机名IP地址
spark01192.168.177.11
spark02192.168.177.12
spark03192.168.177.13

2.先配置 spark01 之后 可进行克隆或者在重新配置剩下的2台机器

修改主机名

#修改主机名为 spark01
hostnamectl set-hostname spark01
#或者
vim /etc/hostname 
#向hostname中插入
spark01
bash

修改IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens160

#网卡配置文件示例

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=943779e9-249c-44bb-b272-d49ea5831ed4
DEVICE=ens160
ONBOOT=yes
#注意从winodws的cmd命令中查看ipconfig。查找VMnet8的IPv4地址,根据其修改
# spark02,和spark03修改依次改为12,13
IPADDR=192.168.177.11
PREFIX=24
#和上述IP地址相对应
GATEWAY=192.168.177.2
DNS1=192.168.177.2

修改保存后重启网络服务

nmcli con up ens160

 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

修改防火墙相关配置文件

vim  /etc/selinux/config
#文中SELINUX=enforcing,SELINUXTYPE=targeted改为注释
#SELINUX=enforcing
#SELINUXTYPE=targeted
#在末尾处加入
SELINUX=disabled

保存后重启

setenforce 0

将jdk和hadoop压缩包上传,并配置环境变量

#建立同一文件夹,便于查找管理
mkdir -p /opt/soft
#进入目录
cd /opt/soft
# 上传jdk zookeeper,并进行解压改名操作
tar -zxvf jdk-8u361-linux-x64.tar.gz
mv jdk1.8.0_361 jdk8
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
mv apache-zookeeper-3.7.1-bin zookeeper

#修改相关的配置文件
vim /etc/profile
#修改内容如下	

export JAVA_HOME=/opt/soft/jdk8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export ZOOKEEPER_HOME=/opt/soft/zookeeper

export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin

编辑完成后使用source命令使文件/etc/profile生效执行以下命令
source /etc/profile
#检查环境变量(可以查看是否能够成功设别)
printenv

修改域名映射

vim /etc/hosts
192.168.177.11 spark01
192.168.177.12 spark02
192.168.177.13 spark03
#进行重启完成Ip的修改

配置shh免密钥登录

#创建本地秘钥并将公共秘钥写入认证文件
#如果采用克隆完成spark02,spark03的配置则运行下边2行就行
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 如果采用依次配置spark01,spark02,spark03则可采用以下写法,完成认证文件的修改
ssh-copy-id spark01
ssh-copy-id spark02
ssh-copy-id spark03
scp -rv  ~/.ssh root@spark02:~/
scp -rv  ~/.ssh root@spark03:~/

# 远程登录自己
ssh spark01
# Are you sure you want to continue connecting (yes/no)? 此处输入yes
# 登录成功后exit或者logout返回
exit

拷贝配置文件分发到其它服务器或者使用脚本分发

scp -v  ~/.bashrc root@spark02:~/
scp -v  ~/.bashrc root@spark03:~/
scp -rv /opt/soft/hadoop3/etc/hadoop/* root@spark02:/opt/soft/hadoop3/etc/hadoop/
scp -rv /opt/soft/hadoop3/etc/hadoop/* root@spark03:/opt/soft/hadoop3/etc/hadoop/

在各服务器上使环境变量生效

编辑配置文件 

上下2篇代码相同,上边主要是介绍不同代码的功能。修改可以直接拷贝第二篇的代码

cd /opt/soft/zookeeper/conf
vim zoo.cfg

修改内容
# 心跳单位,2s 。查看集群是否发生挂死
tickTime=2000
# zookeeper初始化的同步超时时间,10个心跳单位,也即20s
initLimit=10
# 普通同步:发送一个请求并得到响应的超时时间,5个心跳单位也即10s
syncLimit=5
# 内存快照数据的存储位置
dataDir=/home/zookeeper/data
# 事务日志的存储位置
dataLogDir=/home/zookeeper/datalog
# 当前zookeeper节点的端口 
clientPort=2181
# 单个客户端到集群中单个节点的并发连接数,通过ip判断是否同一个客户端,默认60
maxClientCnxns=1000
# 保留7个内存快照文件在dataDir中,默认保留3个
autopurge.snapRetainCount=7
# 清除快照的定时任务,默认1小时,如果设置为0,标识关闭清除任务
autopurge.purgeInterval=1
#允许客户端连接设置的最小超时时间,默认2个心跳单位
minSessionTimeout=4000
#允许客户端连接设置的最大超时时间,默认是20个心跳单位,也即40s,
maxSessionTimeout=300000
#zookeeper 3.5.5启动默认会把AdminService服务启动,这个服务默认是8080端口
admin.serverPort=9001
#集群地址配置
server.1=spark01:2888:3888
server.2=spark02:2888:3888
server.3=spark03:2888:3888
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zookeeper/data
dataLogDir=/home/zookeeper/datalog 
clientPort=2181
maxClientCnxns=1000
autopurge.snapRetainCount=7
autopurge.purgeInterval=1
minSessionTimeout=4000
maxSessionTimeout=300000
admin.serverPort=9001
server.1=spark01:2888:3888
server.2=spark02:2888:3888
server.3=spark03:2888:3888

保存后根据配置文件创建目录

mkdir -p /home/zookeeper/data
mkdir -p /home/zookeeper/datalog
# spark02,和spark03修改依次改为2,3
echo 1 > /home/zookeeper/data/myid
more /home/zookeeper/data/myid

编写zookeeper开机启动脚本

cd /etc/systemd/system
vim zookeeper.service

#编写内容如下
[Unit]
Description=zookeeper
After=syslog.target network.target

[Service]
Type=forking
# 指定zookeeper 日志文件路径,也可以在zkServer.sh 中定义
Environment=ZOO_LOG_DIR=/home/zookeeper/datalog
# 指定JDK路径,也可以在zkServer.sh 中定义
Environment=JAVA_HOME=/opt/soft/jdk8
ExecStart=/opt/soft/zookeeper/bin/zkServer.sh start
ExecStop=/opt/soft/zookeeper/bin/zkServer.sh stop
Restart=always
User=root
Group=root

[Install]
WantedBy=multi-user.target
[Unit]
Description=zookeeper
After=syslog.target network.target

[Service]
Type=forking
Environment=ZOO_LOG_DIR=/home/zookeeper/datalog
Environment=JAVA_HOME=/opt/soft/jdk8
ExecStart=/opt/soft/zookeeper/bin/zkServer.sh start
ExecStop=/opt/soft/zookeeper/bin/zkServer.sh stop
Restart=always
User=root
Group=root

[Install]
WantedBy=multi-user.target
# 重新加载服务
systemctl daemon-reload

# 启动zookeeper
systemctl start zookeeper

# 开机自启动
systemctl enable zookeeper

# 查看zookeeper状态
systemctl status zookeeper

systemctl daemon-reload
systemctl start zookeeper
systemctl enable zookeeper
systemctl status zookeeper
#3台机器依次检查
#jps显示有 QuorumPeerMain
#zkServer.sh status 从此命令检查 leader 和 follower

特别注意:

1.spark02和spark03的IP的地址

2. /home/zookeeper/data/myid 不同的电脑不对应不同的myid 。要注意如果运行不起来知道错误在哪


总结

配置3台主机可以先配置1台主机,然后使用VMware的克隆的功能,但是要特别注意修改相关的配置文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值