文档章节

ZooKeeper参数调优

郑加威
 郑加威
发布于 2017/09/11 17:18
字数 726
阅读 22
收藏 3
点赞 0
评论 0

zookeeper的默认配置文件为zookeeper/conf/zoo_sample.cfg,需要将其修改为zoo.cfg。

其中各配置项的含义,解释如下:

1. tickTime:Client-Server通信心跳时间
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。
tickTime=2000

2. initLimit:Leader-Follower初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
initLimit=5

3. syncLimit:Leader-Follower同步通信时限
集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
syncLimit=2

4. dataDir:数据文件目录
Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
dataDir=/home/michael/opt/zookeeper/data

5. clientPort:客户端连接端口
客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
clientPort=2181

6. 服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
这个配置项的书写格式比较特殊,规则如下:
server.N=YYY:A:B

server.1=itcast05:2888:3888
server.2=itcast06:2888:3888
server.3=itcast07:2888:3888

7. ZK为什么设置为奇数个?
zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1;同理你多列举几个:2 -> 0; 3 -> 1; 4 - >1; 5 -> 2; 6 -> 2会发现一个规律,2n和2n-1的容忍度是一样的,都是n-1,所以为了更加高效,何必增加那一个不必要的zookeeper呢。

8. ZK集群安装

1). 上传zk安装包

2). 解压

3). 配置(先在一台节点上配置)
    3.1) 将文件/conf/zoo_sample.cfg改为/conf/zoo.cfg
        mv zoo_sample.cfg zoo.cfg
    
    3.2) 修改配置文件(zoo.cfg)
        dataDir=/hadoop/zookeeper-3.4.5/tmp
        
        server.1=hadoop04:2888:3888
        server.2=hadoop05:2888:3888
        server.3=hadoop06:2888:3888
    
    3.3) 在(dataDir=/hadoop/zookeeper-3.4.5/tmp)创建一个myid文件,里面内容是server.N中的N(server.2里面内容为2)
        echo "1" > myid
    
    3.4) 将配置好的zk拷贝到其他节点 
        scp -r /hadoop/zookeeper-3.4.5/ hadoop05:/hadoop/
        scp -r /hadoop/zookeeper-3.4.5/ hadoop06:/hadoop/
    
    3.5 注意:在其他节点上一定要修改myid的内容
        在hadoop05应该讲myid的内容改为2 (echo "2" > myid)
        在hadoop06应该讲myid的内容改为3 (echo "3" > myid)
        
4). 启动集群
    分别启动zk
        ./zkServer.sh start

© 著作权归作者所有

共有 人打赏支持
郑加威
粉丝 83
博文 566
码字总数 867463
作品 0
杭州
架构师
安装ZooKeeper(单机、伪集群、集群)

安装ZooKeeper(单机、伪集群、集群)博客分类: 大数据平台架构移动互联网 关键字:安装ZooKeeper(单机、伪集群、集群) 推荐学习列表: zookeeper jvm设置:http://www.th7.cn/Program/j...

qq_27264789 ⋅ 04/17 ⋅ 0

ZooKeeper进阶(一):Zookeeper简介

ZooKeeper进阶(一):Zookeeper简介 1、zookeeper配置文件简介 ZooKeeper 的功能特性通过 ZooKeeper 配置文件来进行控制管理( zoo.cfg 配置文件)。ZooKeeper 这样的设计其实是有它自身的原...

sunhuaqiang1 ⋅ 04/22 ⋅ 0

Zookeeper集群部署和使用

Zookeeper 由 Apache Hadoop 的 Zookeeper 子项目发展而来,Google Chubby的一个开源实现。它是一个分布式应用程序协调服务,提供的功能包括:配置管理,名字服务,提供分布式同步、队列管理...

justin_peng ⋅ 06/21 ⋅ 0

Zookeeper+Kafka集群搭建

Zookeeper集群搭建 Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群。 1、软件环境 (3台服务器-我的测试) 192.168.30.204 server1 192.168.30.205 server2 192.168.30.206...

qianghong000 ⋅ 05/04 ⋅ 0

ZooKeeper教程资源收集(简介/原理/示例/解决方案)

菩提树下的杨过: ZooKeeper 笔记(1) 安装部署及hello world ZooKeeper 笔记(2) 监听数据变化 ZooKeeper 笔记(3) 实战应用之【统一配置管理】 ZooKeeper 笔记(4) 实战应用之【消除单点故障】...

easonjim ⋅ 2017/09/05 ⋅ 0

ZooKeeper学习笔记四 ZooKeeper基本使用

Windows单机版本安装 下载zookeeper windows3.3.6 把conf/zoo_sample.cfg改名为zoo.cfg 1、tickTime:这个时间是作为Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每...

xundh ⋅ 04/27 ⋅ 0

ZooKeeper 可视化工具 - ZooHelper

ZooHelper 一款基于 PHP + ExtJS 开发的 ZooKeeper 可视化工具 工具特性 树形展示znode节点 支持znode节点CURD操作 下载地址 https://github.com/yoonper/ZooHelper 环境要求 Linux PHP >= 5...

YoonPer ⋅ 05/28 ⋅ 0

kafka的简单shell命令管理

启动kafka步骤 1、先启动zookeeper(kafka自带zookeeper的,可以启动自身的)当前目录为bin目录上一级 ./bin/zookeeper-server-start.sh config/zookeeper.properties & (启动后,基本上当前...

qq_38872310 ⋅ 04/16 ⋅ 0

SolrCloud 配置及参数

写这篇文章的初衷是因为所在的新公司在服装业务搜索方面使用的是Solr搜索引擎,业务需要将Solr的Schema增加个业务字段,公司用的又是SolrCloud,而在这之前我都没有用过Solr。网上的资料又大...

gs_albb ⋅ 04/22 ⋅ 0

CentOs7 Kafka单机消息的发布-订阅

这段时间一直在学习大数据相关的知识,从Spark,Spark Streaming,Scala到Kafka等等,涉及到的知识面很多,总体看下来,觉得大数据还是很好玩的,在现在及以后的方方面面都很适用。下面说下K...

海岸线的曙光 ⋅ 03/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 23分钟前 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 49分钟前 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 57分钟前 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

容器之查看minikue的environment——minikube的环境信息

执行如下命令 mjduan@mjduandeMacBook-Pro:~/Docker % minikube docker-envexport DOCKER_TLS_VERIFY="1"export DOCKER_HOST="tcp://192.168.99.100:2376"export DOCKER_CERT_PATH="/U......

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部