Zookeeper日志配置以及集群搭建
2017-12-22 09:58
330 查看
1、下载与安装
1.1、准备 Java 运行环境
1.2、下载 ZooKeeper 安装包
下载地址: http://zookeeper.apache.org/releases.html1.3、安装与配置
解压至某目录,以$ZK_HOME表示zookeeper安装目录参考:
http://blog.csdn.net/morning99/article/details/40426133
http://zookeeper.apache.org/doc/current/index.html
https://cwiki.apache.org/confluence/display/ZOOKEEPER/HowToContribute
2、日志配置
2.1、编辑zookeeper环境变量
编辑$ZK_HOME/bin/zkEnv.sh,找到配置ZOO_LOG_DIR以及ZOO_LOG4J_PROP的位置(大概在Line56,Line61)if [ "x${ZOO_LOG_DIR}" = "x" ] then #配置zookeeper日志输出存放路径 ZOO_LOG_DIR="/home/xxx/zookeeper-2181/logs" fi if [ "x${ZOO_LOG4J_PROP}" = "x" ] then #配置日志输出级别,这里把几个级别一并配上 ZOO_LOG4J_PROP="INFO,CONSOLE,ROLLINGFILE,TRACEFILE" fi
2.2、编辑Log4J配置文件log4j.properties
此部分参考Log4J配置# Define some default values that can be overridden by system properties zookeeper.root.logger=INFO, CONSOLE, ROLLINGFILE, TRACEFILE zookeeper.console.threshold=INFO zookeeper.log.dir=. zookeeper.log.file=zookeeper.log zookeeper.log.threshold=ERROR zookeeper.tracelog.dir=. zookeeper.tracelog.file=zookeeper_trace.log log4j.rootLogger=${zookeeper.root.logger}
3、运行模式与集群搭建
分为以下三种模式:单机模式
伪集群模式
集群模式
参考http://developer.51cto.com/art/201702/529953.htm
3.1、单机模式
zoo.cfg配置文件如下:tickTime=2000 ##Zookeeper最小时间单元,单位毫秒(ms),默认值为3000 dataDir=/var/lib/zookeeper ##Zookeeper服务器存储快照文件的目录,必须配置 dataLogDir=/var/lib/log ##Zookeeper服务器存储事务日志的目录,默认为dataDir clientPort=2181 ##服务器对外服务端口,一般设置为2181 initLimit=5 ##Leader服务器等待Follower启动并完成数据同步的时间,默认值10,表示tickTime的10倍 syncLimit=2 ##Leader服务器和Follower之间进行心跳检测的最大延时时间,默认值5,表示tickTime的5倍
3.2、伪集群模式
这是一种特殊的集群模式,即集群的所有服务器都部署在一台机器上。当你手头上有一台比较好的机器,如果作为单机模式进行部署,就会浪费资源,这种情况下,ZooKeeper允许你在一台机器上通过启动不同的端口来启动多个 ZooKeeper 服务实例,以此来以集群的特性来对外服务。集群数量最低3个(必须是奇数,便于投票)
复制已安装的zookeeper,修改日志输出配置
修改zoo.cfg,三个zookeeper分别对应2181,2182,2183
#配置启动时的数据存放路径 dataDir=/tmp/zookeeper/2181 #启动端口 clientPort=2181 #三个zookeeper的server.id=host:port1:port2 #其中,id 被称为 Server ID,用来标识该机器在集群中的机器序号(在每台机器的 dataDir 目录下创建 myid 文件,文件内容即为该机器对应的 Server ID 数字)。 #host 为机器 IP,port1 用于指定 Follower 服务器与 Leader 服务器进行通信和数据同步的端口,port2用于进行 Leader 选举过程中的投票通信。 #注意,同一台机器上,为避免端口号占用,需要设置不同的端口 server.1=localhost:2888:3888 server.2=localhost:2889:3889 server.3=localhost:2890:3890
在 dataDir 目录下创建名为 myid 的文件,在文件第一行写上对应的 Server ID(即1,2,3)
3.3、集群模式
此模式与伪集群不同的地方就是,多个 ZooKeeper 集群通常由一组机器组成,一般 3 台(假设IP为IP1,IP2,IP3)以上就可以组成一个可用的 ZooKeeper 集群了。组成 ZooKeeper 集群的每台机器都会在内存中维护当前的服务器状态,并且每台机器之间都会互相保持通信。只要集群中存在超过一半的机器能够正常工作,那么整个集群就能够正常对外服务。ZooKeeper 的客户端程序会选择和集群中的任意一台服务器创建一个 TCP 连接,一旦客户端和服务器断开连接,客户端就会自动连接到集群中的其他服务器。在三台机器上都安装一个zookeeper,配置可以完全一样,先配置一台,其余可直接模仿。
按照之前的说明,配置日志
修改zoo.cfg,三台机器配置不变,可全部使用2181端口
#配置启动时的数据存放路径 dataDir=/tmp/zookeeper/2181 #启动端口 clientPort=2181 #三个zookeeper的server.id=host:port1:port2 #其中,id 被称为 Server ID,用来标识该机器在集群中的机器序号(在每台机器的 dataDir 目录下创建 myid 文件,文件内容即为该机器对应的 Server ID 数字)。 #host 为机器 IP,port1 用于指定 Follower 服务器与 Leader 服务器进行通信和数据同步的端口,port2用于进行 Leader 选举过程中的投票通信。 server.1=IP1:2888:3888 server.2=IP2:2888:3888 server.3=IP3:2888:3888
在 dataDir 目录下创建名为 myid 的文件,在文件第一行写上对应的 Server ID
相关文章推荐
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑 (转载)
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑 (转载)
- ZooKeeper集群搭建实例,以及集成dubbo时的配置
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性測试,以及各种坑
- Kafka 0.9+Zookeeper3.4.6集群搭建、配置,新Client API的使用要点,高可用性测试,以及各种坑
- zookeeper集群的搭建以及hadoop ha的相关配置
- zookeeper单机版以及集群的搭建
- zookeeper集群搭建与配置
- 关于SSH框架的集群,负载均衡,以及缓存集群的配置搭建
- zookeeper集群,单机版,伪集群搭建与配置
- 002_如何安装JDK以及Hadoop集群环境搭建_2台机都要配置一致
- 真分布式SolrCloud+Zookeeper+tomcat搭建、索引Mysql数据库、IK中文分词器配置以及web项目中solr的应用(1)
- 学习日志---hive的搭建与配置以及应用
- Zookeeper集群搭建和配置
- zookeeper集群、伪集群、单机的搭建与配置
- ZooKeeper 简介以及服务器集群的搭建
- Zookeeper安装以及集群搭建
- Zookeeper的安装部署,zookeeper参数配置说明,集群搭建,查看集群状态