zookeeper的配置参数详解(zoo.cfg)

2023-05-16

1.1安装前准备  

1.Java6 环境要求安装  
如果用Zookeeper在windows条件下运行,应该安装Cygwin. 
2.在hhtp://hadoop.apache.org/zookeeper/releases.html下载稳定释放zookeeper并在合适的地方解压 


% tar xzf zookeeper-x.y.z.tar.gz  


3.将如下放在在命令行路径中会为后续工作带来方便:  

% export ZOOKEEPER_INSTALL=/home/tom/zookeeper-x.y.z
% export PATH=$PATH:$ZOOKEEPER_INSTALL/bin  


4.在运行Zookeepr前,应先建立配置文件,按惯例命名为zoo.cfg,并把它放在conf子目录下,也可以把它放在/etc/zookeeper下。  
[txt]  view plain  copy
  1. tickTime=2000(是Zookeeper独立的工作时间单元)  
  2. dataDir=/Users/tom/zookeeper(存储数据的地址)  
  3. clientPort=2181(2181是经常的选择,此处是关于用户和Zookeeper相连的地方)  

在完成上述的过程后,就可以进行Zookeeper的部署了。 

1.2 独立模式  
1 配置conf/zoo.conf文件 

tickTime=2000
dataDir=/usr/zdatadir
dataLogDir=/usr/zlogdir
clientPort=2181
initLimit=5
syncLimit=2  

tickTime  
基本事件单元,以毫秒为单位。 它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。  
dataDir是存放内存数据库快照的位置;  
dataLogDir 是事务日志目录;  
clientPort是client连接的端口。  
2 启动server 
执行命令 

bin/zkServer.sh start
bin/zkCli.sh –server 127.0.0.1:2181  


1.3 复制模式  
Zookeeper运行在独立模式下可以很方便的进行测试,评估,研发,但在实际应用中Zookeeper运行在所谓的复制模式下, 我们把提供相同应用的服务器组称之为一个quorum,quorum中的所有机器都有相同的配置文件 ,在这里我们以五个机器组成的quorum为例,具体配置如下。 
1. 配置conf/zoo.conf文件 

tickTime=2000
dataDir=/usr/zdatadir
dataLogDir=/usr/zlogdir
clientPort=2181
initLimit=5
syncLimit=2
server.1=cloud:2888:3888
server.2=cloud02:2888:3888
server.3=cloud03:2888:3888
server.4=cloud04:2888:3888
server.5=cloud05:2888:3888  

其中server.X代表组成整个服务的机器,当服务启动时,会在数据目录下查找这个文件myid,这个文件中存有服务器的号码。 

initLimit: 这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的  Follower 服务器 初始化连接时最长能忍受多少个心跳时间间隔数。 当已经超过5个心跳的时间(也就是 tickTime)长度后 Zookeeper服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒 
syncLimit: 这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒 
server.A=B:C:D: 其中 A 是一个数字,表示这个是第几号服务器; B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。 如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。 

除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面就有一个数据就是 A 的值, Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。  

2 myid配置  
在dataDir所定义的目录下新建myid文件 ,本例中在/usr/zdatadir下新建myid文件[/b][/color],填入各主机之ID。 如cloud机器的myid文件内容为1。  

3 配置/etc/sysconfig/iptables文件 
在/etc/sysconfig/iptables中加入: 
[txt]  view plain  copy
  1. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2181 –j ACCEPT  
  2. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2888 –j ACCEPT  
  3. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3888 –j ACCEPT  

执行命令: 
      

service iptables stop
       service iptables start  

4 启动server  
         执行命令 
          

bin/zkServer.sh start
           bin/zkCli.sh –server 127.0.0.1:2181  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zookeeper的配置参数详解(zoo.cfg) 的相关文章

  • 使用Xshell7控制多台服务同时安装ZK最新版集群服务

    一 环境准备 主机名称 主机IP 节点 集群内通讯端口 选举leader clinet端提供服务 端口 docker0 192 168 1 100 node 0 2888 3888 2181 docker1 192 168 1 101 no
  • ZooKeeper(六)权限管理机制

    一 ZooKeeper权限管理机制 1 1 权限管理ACL Access Control List ZooKeeper 的权限管理亦即ACL 控制功能 使用ACL来对Znode进行访问控制 ACL的实现和Unix文件访问许可非常相似 它使用
  • Kafka一致性

    一 存在的一致性问题 1 生产者和Kafka存储一致性的问题 即生产了多少条消息 就要成功保存多少条消息 不能丢失 不能重复 更重要的是不丢失 其实就是要确保消息写入成功 这可以通过acks 1来保证 保证所有ISR的副本都是一致的 即一条
  • zookeeper学习草稿纸

    指令重排序 https baijiahao baidu com s id 1701616903992143186 wfr spider for pc JVM JDK JRE 静态方法为什么不能调用非静态成员 重载和重写的区别 可变参数 基本
  • Spring-boot+Dubbo(直连模式)

    Spring boot Dubbo 直连模式 Demo 这里应该有很多人会问 直连模式 什么鬼啊 一般情况下我们进行微服务开发时 都是通过zookeeper等注册中心来实现服务的提供和引用的 那直连模式没啥用啊 其实不然 直连模式大有用处
  • [分布式] zookeeper集群与kafka集群

    目录 一 Zookeeper 概述 1 1 Zookeeper定义 1 2 Zookeeper 工作机制 1 3 Zookeeper 特点 1 4 Zookeeper 数据结构 1 5 Zookeeper 应用场景 1 6 Zookeepe
  • Nacos、ZooKeeper和Dubbo的区别

    Nacos ZooKeeper和Dubbo是三个不同的分布式系统组件 它们之间有以下几点区别 功能定位 Nacos主要提供服务发现 配置管理和服务治理等功能 而ZooKeeper主要是分布式协调服务 提供了分布式锁 分布式队列等原语 Dub
  • 微服务框架

    微服务框架 1 SOA思想 面向服务的架构 SOA 是一个组件模型 它将应用程序的不同功能单元 称为服务 进行拆分 并通过这些服务之间定义良好的接口和协议联系起来 接口是采用中立的方式进行定义的 它应该独立于实现服务的硬件平台 操作系统和编
  • 使用rollapply函数使用R进行VaR计算

    我执行了以下操作来计算 20 个周期滚动窗口的风险价值 VaR require PerformanceAnalytics require zoo data edhec class edhec 1 xts zoo class edhec CT
  • 将每小时的动物园时间序列输入函数 stl()

    在你问之前 是的 我需要显示这么多数据 stl 需要两个周期的数据 在本例中 一个周期有 24 个值 因此 stl 至少需要 48 个值 另外 来自 stl 帮助 这应该是 ts 类的对象 其频率大于 1 我正在升级一些旧的计算 以便我的数
  • 从每日时间序列(动物园)中子集冬季(Dez、Jan、Feb)

    我有一个每日动物园 xts 包含几十年的数据 格式如下 head almorol 1973 10 02 1973 10 03 1973 10 04 1973 10 05 1973 10 06 1973 10 07 183 9 208 2 1
  • Zookeeper 和 Dubbo 的关系?

    Zookeeper的作用 zookeeper用来注册服务和进行负载均衡 哪一个服务由哪一个机器来提供必需让调用者知道 简单来说就是ip地址和服务名称的对应关系 当然也可以通过硬编码的方式把这种对应关系在调用方业务代码中实现 但是如果提供服务
  • 仅在时间序列中填充有限数量的 NA

    有什么办法可以让我们填补NAs in a zoo or xts数量有限的对象NA向前 换句话说就像填充NA最多连续 3 个NAs 然后保留NA从第 4 个值开始直到有效数字 像这样的东西 library zoo x lt zoo 1 20
  • 将 R 数据集中的 -inf、NaN 和 NA 值替换为零

    我正在尝试在 R 中运行一些交易策略 我已经下载了一些股票价格并计算了回报 新的返回数据集具有多个 inf NaN 和 NA 值 我正在复制数据集的一行 log ret 它是一个动物园数据集 library zoo log ret lt s
  • 根据日期计算数据表中的前几行

    如果这里的一些术语不正确 我深表歉意 我来自 SQL 背景 我才刚刚进入 R 世界 我有一个数据表 其中包含一系列按日期排序的条目 数据表中的字段之一是分组值 一个是时间值 随着数据按组排序 或键入 我是 R 的新手 仍然不确定差异 然后是
  • 当第一个观察值是 na 时,使用 na.locf 向前移动最后一个值,忽略第一行

    我想利用na locf https www rdocumentation org packages zoo versions 1 8 0 topics na locf结转数据帧的非缺失值 其中第一次观察可能为零 Problem dta lt
  • 读取包含日期和时间的 csv

    我正在 R 中工作并阅读 csv 其第一列中有日期和时间 我想先在R中导入这个csv文件 然后将其转换为zoo对象 我正在使用 R 中的代码 EURUSD lt as xts read zoo myfile csv sep tz heade
  • 如何使用 R 找到数据中最常见的序列?

    我正在尝试弄清楚如何使用rollapply函数 从Zoo包 来查找数据集中最常见字符串的序列 但我还需要对某些变量 例如日期 行等 进行分组 在进一步讨论之前 值得注意的是 该查询建立在我之前在此发布的一个问题的基础上 如何使用 Table
  • 用最新的非 NA 值替换 NA

    In a data frame or data table 我想用最接近的先前非 NA 值 向前填充 NA 一个简单的例子 使用向量 而不是data frame 如下 gt y lt c NA 2 2 NA NA 3 NA 4 NA NA
  • R 图中显示为小数的日期

    我正在尝试沿 x 轴绘制一些带有月份数据的数据 不幸的是 月份显示为小数 有任何想法吗 library zoo Requires the zoo library theMonths lt as yearmon c Mar 2011 Apr

随机推荐