【运维技术】Zookeeper单机以及集群搭建教程
Zookeeper单机以及集群搭建教程
单机搭建
单机安装以及启动
安装zookeeper的前提是必须有java环境
# 选择目录进行下载安装
cd /app
# 下载zk,可以去官方网站下载,自己上传
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz
# 解压zk
tar -zxvf zookeeper-3.4.11.tar.gz
# 设定软连接
ln -s zookeeper-3.4.11 zookeeper
# 添加两个目录,一个是数据目录,一个是日志目录
cd zookeeper/
mkdir data
mkdir log
# 添加配置文件zoo.cfg在zookeeper的config目录下面见【2】使用:wq! 进行保存
cd conf
cp zoo_sample.cfg zoo.cfg
# 修改 dataDir=/app/zookeeper/data dataLogDir=/app/zookeeper/log 目录
vi zoo.cfg
# 进入bin目录进行启动
cd ../bin
./zkServer.sh start
# 显示如下:Starting zookeeper ... STARTED即为成功
单机配置zoo.cfg的配置的内容,只需要修改dataDir、dataLogDir
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/app/zookeeper/data
dataLogDir=/app/zookeeper/log
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
单机常用命令
# 进入zookeeper目录使用命令,连接成功则说明通过
./zkCli.sh
# 启动zk服务
./zkServer.sh start
# 查看zk服务状态
./zkServer.sh status
# 停止zk服务
./zkServer.sh stop
# 重启zk服务
./zkServer.sh restart
集群搭建
虚拟机配置
| 虚拟机1 | 虚拟机2 | 虚拟机3 |
|---|---|---|
| 172.16.48.129 | 172.16.48.130 | 172.16.48.131 |
| myid:1 | myid:2 | myid:3 |
myid配置
# 在每个虚拟机的dataDir=/app/zookeeper/data目录下面创建myid文件
cd /app/zookeeper/data
# 创建myid文件,内容依照表格1,2,3.使用:wq进保存
vim myid
zoo.cfg配置添加
# 其他配置同单机配置
# 在zoo.cfg下面添加如下的集群配置server.myid
# 对应其他实例的内网ip地址
server.1=172.16.48.129:2888:3888
server.2=172.16.48.130:2888:3888
server.3=172.16.48.131:2888:3888
在三台虚拟机的终端同时启动三个zookeeper实例,zk1 -》 zk2 -》 zk3
cd /app/zookeeper/bin
./zkServer.sh start
./zkServer.sh status
# 分别在状态中显示了leader还是follower
| 虚拟机1 | 虚拟机2 | 虚拟机3 |
|---|---|---|
| 172.16.48.129 | 172.16.48.130 | 172.16.48.131 |
| follower | follower | leader |
高可用测试
按照道理zookeeper高可用3台的情况下只要两台挂了,集群就无法提供服务了。
一台挂了的情况: 关闭虚拟机3的zookeeper,调用status命令
| 虚拟机1 | 虚拟机2 | 虚拟机3 |
|---|---|---|
| 172.16.48.129 | 172.16.48.130 | 172.16.48.131 |
| follower | leader | Error contacting service. It is probably not running. |
虚拟机2转为了leader,虚拟机1和2一起提供服务
两台挂了的情况: 关闭虚拟机2的zookeeper,调用status命令
| 虚拟机1 | 虚拟机2 | 虚拟机3 |
|---|---|---|
| 172.16.48.129 | 172.16.48.130 | 172.16.48.131 |
| Error contacting service. It is probably not running. | Error contacting service. It is probably not running. | Error contacting service. It is probably not running. |
重新启动一台后,虚拟机1和虚拟机2能够提供服务
【运维技术】Zookeeper单机以及集群搭建教程的更多相关文章
- ZooKeeper单机伪集群搭建与启动
下载解压 [xiaobai@xiaobai ~]$ tar -zvxf zookeeper-3.4.9.tar.gz 本机ip地址映射 [xiaobai@xiaobai /]$ su - rootPa ...
- Zookeeper单机伪集群
Zookeeper单机伪集群 1.配置 zookeeper下载地址:http://apache.mirrors.lucidnetworks.net/zookeeper/ 可以选择需要的版本,我下载的是 ...
- 基于zookeeper的Swarm集群搭建
简介 Swarm:docker原生的集群管理工具,将一组docker主机作为一个虚拟的docker主机来管理. 对客户端而言,Swarm集群就像是另一台普通的docker主机. Swarm集群中的每台 ...
- zookeeper及kafka集群搭建
zookeeper及kafka集群搭建 1.有关zookeeper的介绍可参考:http://www.cnblogs.com/wuxl360/p/5817471.html 2.zookeeper安装 ...
- Zookeeper简介与集群搭建【转】
Zookeeper简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式同步.集群管理.数据库切换等服务.它不适合用来存储大量信息,可以用来存储一些配置.发布与订阅等少 ...
- zookeeper(二):linux centos下安装zookeeper(单机和集群)
下载 http://zookeeper.apache.org/releases.html 解压 tar –zxvf zookeeper-3.4.6.tar.gz 解压文件到"/usr/loc ...
- zookeeper与Kafka集群搭建及python代码测试
Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...
- zookeeper 安装以及集群搭建
安装环境: jdk1.7 zookeeper-3.4.10.tar.gz VM虚拟机redhat6.5-x64:192.168.1.200 192.168.1.201 192.168.1.202 ...
- 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...
随机推荐
- Windows下重置Mysql密码
1.首先停止正在运行的MySQL进程 >net stop mysql 如未加载为服务,可直接在进程管理器或者服务中进行关闭. 2.以安全模式启动MySQL进入mysql目录在命令行下运行 > ...
- java基础----->TCP和UDP套接字编程
这里简单的总结一下TCP和UDP编程的写法,另外涉及到HttpUrlConnection的用法 . TCP套接字 一.项目的流程如下说明: .客户输入一行字符,通过其套接字发送到服务器. .服务器从其 ...
- MQTT-SN协议乱翻之小结篇
前言 这里简单做一些小结和对比,针对前面的协议翻译部分,一阶段的学习完结. MQTT-SN VS MQTT MQTT-SN基于MQTT原有语义,但做了很多的调整.比如: 一个CONNECT消息被拆分为 ...
- LeetCode - Employees Earning More Than Their Managers
Description: The Employee table holds all employees including their managers. Every employee has an ...
- Sencha中Element的使用
在sencha touch中如果你要是用模板来构造一些UI,那么你就必定要去操作Element,如下是我对Element的一些操作和遇到的问题 获取Elenent Ext.get("ID&q ...
- DNS隧道通信的检测
DNS隧道通信的检测 DNS 隧道通信 DNS 隧道通信是C&C常用的通信方式,一般常用的编码方式Base64,Binary编码,NetBios编码等,Hex编码等.且请求的Type一般都是t ...
- Egret3D初步学习笔记三 (角色使用)
一 Unity中编辑角色 仍然使用unity4.7.1_Egret3D_Dll.unitypackage. 里面含有一个角色. 二 查看人物的动画 选中lingtong 属性面板里有个Animator ...
- 从零打造在线网盘系统之SSH框架整合
欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...
- JS事件监听的添加方法
一. 我们一般在的事件添加时是这样做的: elm.onclick = function( ) { //handler } 这样的写法兼容主流的浏览器,但是存在一个问题,当同一个elm绑定多个事件时,只 ...
- Windows 7 Ultimate(旗舰版)SP1 32/64位官方原版下载地址
MSDN于2011年5月12日,最新发布简体中文Windows 7 Ultimate 旗舰版 SP1 DVD镜像安装包,分32位和64位两个版本.最新发行代号分别是:677486(32位),67740 ...