三、zookeeper-3.7 集群部署

(1)下载安装包并解压到指定目录

(2)修改配置文件,分配ServerID、创建数据目录

(3)添加环境变量

配置文件说明(zoo_sample.cfg):

版本:3.7.0

# The number of milliseconds of each tick
# 机器之间发送心跳的时间间隔(毫秒),是zk维持分布式服务的基本时间单位
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
# LF初始通信时限,跟随者与领导者初始连接时能容忍的最多心跳数
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
# LF同步通信时限,集群中跟随者与领导者之间的最大响应时间(心跳数),超时挂掉
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
# 数据文件路径,日志路径可单独配置(dataLogDir)
dataDir=/tmp/zookeeper
# the port at which the clients will connect
# 客户端连接端口
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
# 单个客户端与单个zk服务器之间连接数的限制(ip),如果设置为0,则不限制
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
# dataDir中保存快照的数量
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
# 自动清理快照的时间间隔(小时),如果设置为0,则禁用
#autopurge.purgeInterval=1

## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

以dataxc用户为例,脚本示例如下:

#!/bin/bash
# zk.sh

nodes=(n101 n102 n103)

#将zookeeper安装包解压到程序目录
cd /home/dataxc/sw && tar zxvf apache-zookeeper-3.7.0-bin.tar.gz -C /home/dataxc/opt
cd /home/dataxc/opt && mv apache-zookeeper-3.7.0-bin zookeeper

#修改zk配置文件

#复制配置模板
cd /home/dataxc/opt/zookeeper/conf && cp zoo_sample.cfg zoo.cfg
#数据和文件目录,自动清理(快照保存数、清理间隔)
sed -i -e 's!dataDir=/tmp/zookeeper!dataDir=/home/dataxc/opt/zookeeper/zkdata\
dataLogDir=/home/dataxc/opt/zookeeper/zklogs!' \
-e 's/#autopurge.snapRetainCount=3/autopurge.snapRetainCount=30/' \
-e 's/#autopurge.purgeInterval=1/autopurge.purgeInterval=168/' /home/dataxc/opt/zookeeper/conf/zoo.cfg
#配置节点名称与地址
declare -i sid=0
for node in ${nodes[*]}
	do
		let sid+=1
		echo -e "server.$sid=$node:2888:3888" >> /home/dataxc/opt/zookeeper/conf/zoo.cfg
	done
#复制配置文件到其他节点
for node in ${nodes[*]:1}
	do
		scp -r /home/dataxc/opt/zookeeper dataxc@$node:/home/dataxc/opt
	done

#创建数据/文件目录和ServerID
declare -i myid=0
	for node in ${nodes[*]}
	do
		let myid+=1
		ssh dataxc@$node 'mkdir -p /home/dataxc/opt/zookeeper/{zkdata,zklogs};echo '$myid' > /home/dataxc/opt/zookeeper/zkdata/myid'
	done

#添加zk环境变量
for node in ${nodes[*]}
	do
		ssh dataxc@$node 'sed -i -e "/export JAVA_HOME=/a export ZOOKEEPER_HOME=/home/dataxc/opt/zookeeper" \
		-e "/export JAVA_HOME=/a export TZ='Asia/Shanghai'" \
		-e "/^export PATH=/ s/$/\:\$ZOOKEEPER_HOME\/bin/" /home/dataxc/.bashrc;
		source /home/dataxc/.bashrc'
	done

#启动zookeeper(所有节点)
#zkServer.sh start

#end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值