linux下zookeeper 配置参数

时间:2022-06-13 11:32:08

-----------zookeeper 配置文件

clientPort ---服务的监听端口
dataDir ---用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里 (注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。 )
tickTime ---心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间

--高级配置参数
dataLogDir ---用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争
globalOutstandingLimit --client请求队列的最大长度,防止内存溢出,默认值为1000
preAllocSize ---预分配的Transaction log空间为block个proAllocSize KB,默认block为64M,一般不需要更改,除非snapshot过于频繁
snapCount ---在snapCount个snapshot后写一次transaction log,默认值是100,000
traceFile ---用于记录请求的log,打开会影响性能,用于debug的,最好不要定义
maxClientCnxns ----最大并发客户端数,用于防止DOS的,默认值是10,设置为0是不加限制
clientPortBindAddress ---3.3.0后新增参数,可是设置指定的client ip以及端口,不设置的话等于ANY:clientPort
minSessionTimeout ---3.3.0后新增参数,最小的客户端session超时时间,默认值为2个tickTime,单位是毫秒
maxSessionTimeout ---3.3.0后新增参数,最大的客户端session超时时间,默认值为20个tickTime,单位是毫秒
--集群参数
electionAlg ---用于选举的实现的参数,0为以原始的基于UDP的方式协作,1为不进行用户验证的基于UDP的快速选举,2为进行用户验证的基于UDP的快速选举,3为基于TCP的快速选举,默认值为3
initLimit ---多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值
leaderServes ---leader是否接受客户端连接。默认值为yes。 leader负责协调更新。当更新吞吐量远高于读取吞吐量时,可以设置为不接受客户端连接,以便leader可以专注于同步协调工作。默认值是yes,说明leader可以接受客户端连接。(注意:当集群中有超过3台ZooKeeper Server时,强烈建议打开leader选举 )
server.x=[hostname]:nnnnn[:nnnnn], etc ---配置集群里面的主机信息,其中server.x的x要写在myid文件中,决定当前机器的id,第一个port用于连接leader,第二个用于leader选举。如果electionAlg为0,则不需要第二个port。hostname也可以填ip。
syncLimit ---多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。
group.x=nnnnn[:nnnnn] ---
weight.x=nnnnn ---

这两个是用于集群分组的参数,暂时只有3台机器,没仔细研究,先给个例子看看吧
group.1=1:2:3 group.2=4:5:6 group.3=7:8:9 ? weight.1=1 weight.2=1 weight.3=1 weight.4=1 weight.5=1 weight.6=1 weight.7=1 weight.8=1 weight.9=1

第二部分 zookeeper 验证
输入jps命令查看进程
QuorumPeerMain是zookeeper进程,启动正常。(HMaster和HRegionServer为已启动的hbase进程,

./bin/zkServer.sh start --zookeeper 项目启动

./bin/zkServer.sh stop ---停止服务的命令

./bin/zkServer.sh status --zookeeper 状态查看

./bin/zkCli.sh -server localhost:2181 --服务运行起来之后,就可以用客户端连接服务端了