zookeeper之一 安装和配置(单机+集群)
这里我以zookeeper3.4.10.tar.gz来演示安装,安装到/usr/local/soft目录下。
一.单机版配置
1.安装和配置
#.下载
wget http://apache.fayea.com/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
#.解压
tar -zxvf zookeeper3.4.10.tar.gz #.在zookeeper-3.4./conf目录下创建目录:
mkdir data
mkdir logs #.将zookeeper3.4.10/conf目录下的zoo_sample.cfg 文件拷贝一份,命名为为zoo.cfg
cp zoo_sample.cfg zoo.cfg #.修改zoo.cfg配置文件
vim zoo.cfg
#修改为上面创建的目录
dataDir=/usr/local/soft/zookeeper-3.4./data
#【该配置项为优化项,用于单独存放事务日志。参考官方文档】
dataLogDir=/usr/local/soft/zookeeper-3.4./logs
说明:
dataDir是快照存储的目录。配置文件中已经明确说明不要使用/tmp来存储,/tmp在这里仅仅是为了演示的目的。
dataLogDir是一个优化项,可以参考官方说明:优化
大致意思是:指明一个明确的事务日志目录可以在更新时降低延迟。默认的事务日志存放位置与data快照和myid文件存放位置相同。使用dataLogDir参数就可以指定一个不同的目录。
2.配置环境变量(可选)
配置环境变量后,则可在bin目录之外直接使用相应的命令。
#打开配置
vim /etc/profile #在文件尾加入以下内容
export ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.
export PATH=$PATH:$ZOOKEEPER_HOME/bin #刷新配置
source /etc/profile
3.启动(不要使用root用户启动)
#启动
zkServer.sh start
#停止
zkServer.sh stop
#查看运行状态
zkServer.sh status
运行状态中standalone表明当前为单节点模式。

4.设置开机启动(可选。生产环境下需要)
设置开机启动有两种方式,分别对应/etc/rc.d目录下的init.d目录和rc.local文件。
说明: 由于linux建立了软链接init.d -> rc.d/init.d,rc.local -> rc.d/rc.local的缘故,所以/etc/rc.d/init.d可以简写为/etc/init.d,同样/etc/rc.d/rc.local可简写为/etc/rc.local
①方式一:开机启动脚本
该方式类似于windows的’启动’目录,里面的批处理文件会在系统启动后自动运行。对应/etc/rc.d/init.d目录。
打开/etc/rc.d/rc.local文件,加入以下内容
#以非root用户来启动脚本
su - 用户名 -c '/usr/local/soft/zookeeper-3.4.10/zkServer.sh start'
然后,重启试试。
②方式二:开机自启动服务服务
另一种是做成开机自启动服务,这类似于windows中的系统服务,这些服务会在系统启动时自动启动。对应/etc/rc.d/rc.local文件。
#进入/etc/rc.d/init.d目录
cd /etc/rc.d/init.d
#创建zookeeper文件(每个服务对应一个文件),并授予执行权限
touch zookeeper
chomod +x zookeeper #编辑zookeeper文件(创建zookeeper服务)
vim zookeeper
加入如下内容(这里使用的是root用户)
#!/bin/bash
#chkconfig:
#description:zookeeper
#processname:zookeeper
case $ in
start) su root /usr/local/soft/zookeeper-3.4./bin/zkServer.sh start;;
stop) su root /usr/local/soft/zookeeper-3.4./bin/zkServer.sh stop;;
status) su root /usr/local/soft/zookeeper-3.4./bin/zkServer.sh status;;
restart) su root /usr/local/soft/zookeeper-3.4./bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac #将zookeeper服务添加到开机启动项
chkconfig –add zookeeper
#查看开机自启项中是否已有zookeeper服务
chkconfig --list
#重启系统试试
#测试服务
service zookeeper start/stop/restart/status
二、配置参数说明
1.tickTime:
Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。
tickTime=2000
2.initLimit:Leader-Follow初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。启动有快有慢,超过该值则认为启动失败。
initLimit=5
3.syncLimit:LF同步通信时限
集群中的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=test05:2888:3888
server.2=test06:2888:3888
server.3=test07:2888:3888
三、集群版配置
为了高可用,通常会配置zookeeper集群。Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的。正是基于这个特性,要将ZK集群的节点数量要为奇数(2n+1:如3、5、7个节点)较为合适。
以下是由三台zookeeper组成的集群的配置。
1.添加配置
只需要在前面单机配置的基础上,在配置文件追加如下内容
#服务器编号,服务器地址,Leader-Follow通信端口,选举端口
server.=test01::
server.=test02::
server.=test03::
说明:服务器地址可以直接写成ip形式,但推荐使用了ip与主机名绑定形式。
只需在/etc/hosts文件中添加:
# zookeeper servers
192.168.8.88 test01
2.验证集群
分别启动三个zookeeper节点,查看运行状态。
zkServer.sh status
如果集群正常,则三台zookeeper都不再是standalone模式,而是会有一个leader模式和两个follower模式。其中leader是由zookeeper的选举策略选举产生的。
zookeeper之一 安装和配置(单机+集群)的更多相关文章
- Zookeeper 2、Zookeeper的安装和配置(集群模式)
1.下载与解压 Zookeeper下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/ 下载完成以后解压到一个特定目录 同步时间所有节点的时间,并关 ...
- ZooKeeper 的安装和配置---单机和集群
如题本文介绍的是ZooKeeper 的安装和配置过程,此过程非常简单,关键是如何应用(将放在下节及相关节中介绍). 单机安装.配置: 安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个 ...
- Redis 安装、配置、集群
1. Redis的安装 1.1. Redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: ...
- zookeeper:springboot+dubbo配置zk集群并测试
1.springboot配置zk集群 1.1:非主从配置方法 dubbo: registry: protocol: zookeeper address: ,, check: false 1.2:主从配 ...
- zookeeper的安装与部署-伪集群
1.Zookeeper的下载与解压 通过后面的链接下载Zookeeper: Zookeeper下载在此我们下载zookeeper-3.4.5下载后解压至安装目录下,本文我们解压到目录:/ ...
- 【Linux】【Services】【SaaS】Docker+kubernetes(5. 安装和配置ETCD集群)
1. 简介: 1.1. ETCD是kubernetes和openstack都用到的组件,需要首先装好 1.2. 官方网站:https://coreos.com/etcd/ 1.3. ETCD的作用: ...
- 快速安装与配置kubernetes集群搭
Kubernetes是什么? 首先,它是一个全新的基于容器技术的分布式架构领先方案.这个方案尽然很新,但它是谷歌十几年以来大规模应用容器技术的经验积累和升华的一个重要成果.确切地说,kubernete ...
- 安装和配置hadoop集群步骤
hadoop集群的安装步骤和配置 hadoop是由java语言编写的,首先我们肯定要在电脑中安装jdk,配置好jdk的环境,接下来就是安装hadoop集群的步骤了,在安装之前需要创建hadoop用户组 ...
- ZooKeeper(3.4.5) - 配置伪集群模式
1. 准备 Java 运行环境,需要安装 Java1.6 或更高版本的 JDK. 2. 下载 ZooKeeper 的稳定版本 zookeeper-x.x.x.tar.gz,将其解压,约定目录名称为 % ...
随机推荐
- Controller控制台Vuser虚拟用户的运行状态
Controller控制台Vuser运行的状态 Down:没有运行Pending:挂起Init:初始化Ready:准备就绪Run:正在运行Rendezvous:正在集结Passed:运行通过Faile ...
- 506C Mr. Kitayuta vs. Bamboos
分析 代码 #include<bits/stdc++.h> using namespace std; #define int long long ],h[],now[],cnt[]; in ...
- sql进阶练习题
student SNO SNAME SAGE SSEX01 赵雷 1990-01-01 00:00:00 男02 钱电 1990-12-21 00:00 ...
- python学习笔记:(六)str(字符串)常用方法
注意点: 1.字符串是不可变的: 2.%格式化操作符:左侧放置字符串,右侧放置希望被格式化的值. 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应 ...
- 【Qt开发】【Linux开发】QT设置环境变量QWS_DISPLAY
QT设置环境变量QWS_DISPLAY 当应用程序./myQtApp -qws启动时,会去检测QWS_DISPLAY这个环境变量, 判断界面最终显示在哪个framebuffer中, 如果是虚拟的fra ...
- centos 7 中如何提取IP地址
ifconfig |grep -Eo "(([1-9)?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|1[0-9]{2}|2[0-4][0 ...
- 关于postman
1 Get 1.1 Params 直接显示在url上,即url参数,用&分隔开. springboot中可以用@RequestParam注解获取. 1.2 Headers 1.3 Body 1 ...
- exists、in和join比较
这个根据实际情况具体分析 遇到问题了再具体分析就行.
- [转帖]linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令
linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令 https://binwaer.com/post/12.html yun install -y screen ...
- 02: CI(持续集成)/CD(持续交付/持续部署)
1.1 持续集成.持续交付 介绍 参考博客:https://www.cnblogs.com/cay83/p/8856231.html 1.传统交付 1. 传统软件的开发与交付的周期都很漫长,从需求 ...