zookeeper安装以及配置和注意事项

1,安装

wget 
tar zxvf zookeeper-3.4.9.tar.gz 
cd zookeeper-3.4.9/conf
cp zoo_sample.cfg zoo.cfg

修改zoo.cfg配置文件

如下

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/zookeeper-3.4.9/data
dataLogDir=/opt/zookeeper/zookeeper-3.4.9/logs
clientPort=2181
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=zk1:2888:3888:observer
server.2=zk2:2888:3888 
server.3=zk3:2888:3888
server.4=zk4:2888:3888

编辑环境变量vim /etc/profile

export ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.9/
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH

添加myid 文件

在dataDir目录下,添加myid,文件内容要与配置文件中server.1的数字一样,仅仅是数字

安装java8

yum install java1.8

启动zookeeper,并查看状态

zkServer.sh start
zkServer.sh status

2,集群配置注意事项

一般来讲,3到5个zookeeper投票者(leader,follower),必须是单数,因为数量过半才能保证正常运行,公式N=2F+1  其中F是可以容错的数量

配置observer(观察者)(跟follower没什么区别,只是不参与投票),为了减少选举过程中和资源,一般客户端都是连接observer,

配置如下:

要指定相关的机器是observer,并且在集群配置里注明

peerType=observer
server.1=zk1:2888:3888:observer

3,内存

zk在读写数据的时候,不要用swap交换分区,因为zookeeper都是把数据放在内存中,如果发生和磁盘交换的话,性能会大打折扣,修改启动脚本,配置jvm,配置原则物理内存的80%

vim zkServer.sh

case $1 in

start)

echo  -n "Starting zookeeper ... "

if [ -f "$ZOOPIDFILE" ]; then

if kill -0 `cat "$ZOOPIDFILE"` > /dev/null 2>&1; then

echo $command already running as process `cat "$ZOOPIDFILE"`.

exit 0

fi

fi

nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \

-cp "$CLASSPATH" $JVMFLAGS -Xmx512m -Xms512m $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &

4,磁盘

zk 对磁盘要求比较高,因为会做磁盘镜像备份snapshot到磁盘,第一要用高速磁盘,第二要定期处理,虽然配置里有自动清理,但是会遇到zk使用高峰,建议自己写crontab来定期清理

autopurge.snapRetainCount=3#保留最新的3个镜像数据
autopurge.purgeInterval=1#每隔1小时清理一次

5,最后说下投票机制

当有节点宕机了,所有服务都将进入选举模式,先断掉连接,然后开始选举,过程是server1挂了,server2 server3进入选举,每个server都会先投自己,选票结构(id,zxid),那么server2(2,0),server3(3,0),然后再把自己的选票发给所有的server,当每个server收到别人发来的选票会进行对比,对比顺序是先从zxid 开始(zxid是代表了数据的新旧,比如3>2,那么3就是最新的),如果zxid相同,在对比id,这是server2收到来自server3的选票(3,0),zxid相同,但是id比自己大,这是server2会更新自己的选票server2(3,0),再发给所有的server,进入下一轮选举,这是server3(3,0),没变化,所以不用更新,server2(3,0),那么这时server3变成leader,如果参与投票的机器比较多,那么就按照这个机制进行多轮投票

运维经验,这里有个问题,如果在zk宕机选举过程中,clint不断的尝试重新,会导致zk进入死循环,因为选举的第一步就是先断掉所有连接,所以,客户端要用调用的方式,而不是无限的重新连接

时间: 2024-10-11 17:28:14

zookeeper安装以及配置和注意事项的相关文章

ZooKeeper安装与配置

一. 单机安装.配置: 1. 下载zookeeper二进制安装包下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3.4.3.tar.gz 上面地址应该已经失效 最新地址是http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.9/ 2.解压zookeeper安装包把zookeeper-3.4.3.tar.gz文件存放在/home/hadoop目录下,进

[大数据] zookeeper 安装和配置

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.名字服务.分布式同步.组服务等. ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效.功能稳定的系统提供给用户. ZooKeeper包含一个简单的原语集. ZooKeeper代码版本中,提供了分布式独享锁.选举.队列的接口,代码在zookeeper-

Zookeeper 安装和配置

Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍. 单机模式 点击这里下载zookeeper的安装包之后, 解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg: Bash代码   tickTime=2000 dataDir=/Users/apple/zookeeper/data dataLogDir=/Users/apple/zookeeper/logs clientPort=4180 参数说明: ti

Zookeeper安装和配置

Zookeeper的安装和配置,可以配置成单机模式.伪集群模式.集群模式. 一. 单机模式 (1)zookeeper下载地址 : http://zookeeper.apache.org/, 本次下载版本为zookeeper-3.4.6.tar.gz (2)解压tar包, tar -zxvf zookeeper-3.4.6.tar.gz (3)cd到zookeeper-3.4.6/conf目录, cp zoo_sample.cfg zoo.cfg,然后vi zoo.cfg. tickTime=20

centos6.5下安装vsftp配置与注意事项

最近在公司服务器环境下部署应用,需要用到FTP来传图片,在配置权限上走了一些弯路,现把步骤记录下来,做后续参考: Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如ftp.redhat.com,ftp.kde.org,ftp.gnome.org.等.Vsftpd的实现有三种方式  1.匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问  2.本地用户形式:以/etc/passwd中的用户名为认证方式 

hadoop(六) - ZooKeeper安装与配置

一. ZooKeeper配置 1.使用winscp上传zk安装包 zookeeper-3.4.5.tar.gz 2.解压安装包tar -zxvf zookeeper-3.4.5.tar.gz -C /itcast 3.配置(先在一台节点上配置) 3.1 添加一个zoo.cfg配置文件 进入 $ZOOKEEPER/conf 执行 mv zoo_sample.cfg zoo.cfg 3.2 修改配置文件(zoo.cfg) dataDir=/itcast/zookeeper-3.4.5/data se

zookeeper 安装与配置

(1) 下载ZooKeeper,建议选择稳定版,即stable的. [[email protected] ~]# cd /usr/local [[email protected] local]# wget http://apache.dataguru.cn/zookeeper/stable/zookeeper-3.4.6.tar.gz (2) 解压 [[email protected] local]# tar -zxvf zookeeper-3.4.6.tar.gz (3) 修改配置文件 [[e

zookeeper安装和配置(单机+伪集群+集群)

#单机模式 解压到合适目录. 进入zookeeper目录下的conf子目录, 复制zoo_sample.cfg-->zoo.cfg(如果没有data和logs就新建):tickTime=2000 dataDir=/Users/apple/zookeeper/data dataLogDir=/Users/apple/zookeeper/logs clientPort=2180 参数说明:tickTime: zookeeper中使用的基本时间单位, 毫秒值.dataDir: 数据目录. 可以是任意目

centos7安装与配置zookeeper

由于要学习dubbo,需要用到zookeeper,所以这里记录一下linux的zookeeper安装与配置 一.下载zookeeper的包:官方地址 二.把包上传到linux上,同样也是放到 /usr/local 目录下,当然同样也是放在哪里都行,最后解压到 /usr/local/zookeeper 目录下即可 首先创建 zookeeper 文件夹 mkdir -p /usr/local/zookeeper 把zookeeper包解压到zookeeper目录下 tar -zxvf zookeep