`

zookeeper集群搭建

 
阅读更多

原创转载请注明出处:http://agilestyle.iteye.com/blog/2290649

 

Zookeeper介绍

Zookeeper是Hadoop下的一个子项目,它是一个针对大型分布式系统的可靠的协调系统,提供的功能包括配置维护、名字服务、分布式同步、组服务等。ZooKeeper是可以集群复制的,集群间通过Zab(Zookeeper Atomic Broadcast)协议来保持数据的一致性。该协议看起来像是Paxos协议的某种变形,该协议包括两个阶段:leader election阶段和Atomic broadcas阶段。集群中将选举出一个leader,其他的机器则称为follower,所有的写操作都被传送给leader,并通过broadcas将所有的更新告诉follower。当leader崩溃或者leader失去大多数follower时,需要重新选举出一个新的leader,让所有的服务器都恢复到一个正确的状态。当leader被选举出来,且大多数服务器完成了和leader的状态同步后,leader election的过程就结束了,将进入Atomic broadcas的过程。Atomic broadcas同步leader和follower之间的信息,保证leader和follower具有相同的系统状态。


 

Zookeeper的核心其实类似一个精简的文件系统,提供一些简单的操作和一些附件的抽象(例如:znode的排序与watch),并且集群的部署方式使其具有较高的可靠性。Zookeeper的协作过程简化了松散耦合系统之间的交互,即使参与者彼此不知道对方的存在,也能够相互发现并且完成交互。

 

集群搭建

配置ZOOKEEPER_HOME

sudo vi /etc/profile
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper-3.4.8
export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${ZOOKEEPER_HOME}/bin


配置之后,记得source /etc/profile 

 

创建两个文件夹zkdata和zkdatalog

mkdir zkdata
mkdir zkdatalog


 

配置zoo.cfg

cd conf
cp zoo_sample.cfg zoo.cfg


 

vi zoo.cfg

修改dataDir,添加dataLogDir,修改clientPort,防止端口已被占用(默认端口号前面加1,比如2181 > 12181, 2888:3888 > 12888:13888

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/home/hadoop/app/zookeeper-3.4.8/zkdata
dataLogDir=/home/hadoop/app/zookeeper-3.4.8/zkdatalog
# the port at which the clients will connect
clientPort=12181
# the maximum number of client connections.
# increase this if you need to handle more clients
#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
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.0=hadoop-0000:12888:13888
server.1=hadoop-0001:12888:13888
server.2=hadoop-0002:12888:13888


 

机器标识写入快照文件

cd zkdata
ls
echo 0 > myid
ls
cat myid


 

配置完hadoop-0000上的ZooKeeper之后,scp到hadoop-0001和hadoop-0002

scp -r /home/hadoop/app/zookeeper-3.4.8/ hadoop-0001:/home/hadoop/app/zookeeper-3.4.8
scp -r /home/hadoop/app/zookeeper-3.4.8/ hadoop-0002:/home/hadoop/app/zookeeper-3.4.8

scp之后,需要修改每个Server的机器标识


 

最后分别启动三台Server上的zookeeper

zkServer.sh start




 

查看Server状态

zkServer.sh status




 

查看目录情况

zkCli.sh -server-port 12181


 

jps查看进程


 

修改zookeeper默认的日志zookeeper.out以及日志文件位置

修改conf目录下的log4j.properties

zookeeper.root.logger=INFO, ROLLINGFILE


修改bin目录下的zkEnv.sh

ZOO_LOG_DIR="/home/hadoop/app/zookeeper-3.4.8/zkdatalog"
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"


 

重新启动zookeeper后,输出的日志文件就在自定义的zkdatalog目录下了


 

设置定时清理日志和快照

http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#Ongoing+Data+Directory+Cleanup

 

Reference

大型分布式网站架构设计与实践 陈康贤 著

  • 大小: 12.5 KB
  • 大小: 6.4 KB
  • 大小: 31.2 KB
  • 大小: 53.5 KB
  • 大小: 12.8 KB
  • 大小: 34.9 KB
  • 大小: 28.5 KB
  • 大小: 8 KB
  • 大小: 8.1 KB
  • 大小: 8.1 KB
  • 大小: 12.2 KB
  • 大小: 12.1 KB
  • 大小: 12.4 KB
  • 大小: 110 KB
  • 大小: 5 KB
  • 大小: 25.2 KB
  • 大小: 17.7 KB
  • 大小: 7.7 KB
  • 大小: 84.8 KB
分享到:
评论

相关推荐

    Zookeeper集群搭建.doc

    Zookeeper集群搭建是一个重要的任务,尤其在分布式系统中,它作为协调服务,为高可用性和数据一致性提供了基础。Zookeeper是Apache的一个开源项目,用于处理分布式应用中的命名服务、配置管理、集群同步、选举等功能...

    zookeeper 集群搭建1

    【Zookeeper集群搭建详解】 Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终将简单易用的接口和性能高效、...

    zookeeper集群搭建脚本

    此附件是快速搭建zookeeper集群的脚本,方便灵活,减少了自己一大堆复杂的操作,像运行服务一样执行几条start,stop等命令即可轻松完成集群搭建。

    Kafka和Zookeeper集群搭建

    【Kafka和Zookeeper集群搭建】是IT领域中常见的分布式系统构建过程,主要涉及两个核心组件:Apache Kafka和Apache ZooKeeper。Kafka是一款高吞吐量的分布式消息系统,而ZooKeeper则是一个分布式服务框架,常用于...

    zookeeper集群搭建手册配置指导

    Zookeeper集群搭建手册配置指导 Apache ZooKeeper是一个分布式协调服务,广泛应用于分布式系统,如大数据处理、服务治理、配置管理等。它提供了一种简单、高效且可靠的分布式数据一致性解决方案。在搭建Zookeeper...

    centos7下Redis哨兵集群和kafka集群和zookeeper集群搭建

    centos7下Redis哨兵集群和kafka集群和zookeeper集群搭建 http://blog.csdn.net/gaowenhui2008/article/details/71516901 https://cwiki.apache.org/confluence/display/KAFKA/Clients

    linux下zookeeper集群环境搭建详细图文教程.docx

    linux下zookeeper集群环境搭建详细图文教程,简单易使用

    Zookeeper集群搭建详细文档

    详细介绍了Zookerper注册中心集群搭建的准备工作以及搭建的详细步骤,并且模拟了集群的一些常见异常,可以使学习Zookeeper的同志们通过阅读本篇文档,能够快速上手对Zookeeper的搭建使用

    windows环境下zookeeper集群搭建

    在Windows环境下搭建Zookeeper集群是一项基础且重要的任务,特别是在分布式系统和大数据领域。Zookeeper作为一个高可用的分布式协调服务,广泛应用于配置管理、命名服务、分布式锁和集群管理等场景。下面将详细介绍...

    zookeeper linux集群搭建流程

    zookeeper Linux 集群搭建流程 ZooKeeper 是一个广泛使用的分布式协调服务,主要用于管理和协调分布式系统中的各个节点。Linux 集群搭建是 ZooKeeper 的一种常见应用场景,本文将详细介绍 ZooKeeper Linux 集群搭建...

    面试官:Zookeeper集群怎么搭建?.doc

    "Zookeeper集群搭建" Zookeeper集群是一种分布式应用程序协调服务,用于管理和协调分布式系统中的应用程序。下面是 Zookeeper集群的搭建方式和角色介绍: 一、Zookeeper集群模式 Zookeeper集群有三种搭建方式:...

    zookeeper集群

    ZooKeeper集群搭建和管理 ZooKeeper是一种广泛使用的分布式协调服务,常用于分布式系统中的服务注册、配置管理、群策略管理等方面。下面将从 ZooKeeper 集群的搭建、配置、管理等方面进行详细的知识点介绍。 一、...

    集群搭建(zookeeper集群+solr集群)

    2. **Zookeeper集群搭建**:按照官方文档安装配置Zookeeper集群,确保集群稳定运行。 3. **SolrCloud集群配置**:在每台Solr服务器上安装Solr,并配置与Zookeeper集群的连接。通过Zookeeper提供的界面配置SolrCloud...

Global site tag (gtag.js) - Google Analytics