zookeeper学习之集群环境搭建
一、安装环境
zookeeper:3.4.6
JDK:1.8
linux:centos6.5 64位
主机:
server0:192.168.0.224
server1:192.168.0.225
server2:192.168.0.226
二、安装
- 1、将ZK解压到/usr/local/zookeeper下
- 2、修改配置文件(配置环境变量) /etc/profile
- JAVA_HOME=/usr/local/jdk1.8
- ZOOKEEPER_HOME=/usr/local/zookeeper
- PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
- CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- export JAVA_HOME ZOOKEEPER_HOME PATH CLASSPATH
- 3、source /etc/profile 让配置生效
- 4、修改zk的配置文件名 /usr/local/zookeeper/conf/zoo_sample.cfg
- [root@rocketmq-nameserver1 conf]# mv zoo_sample.cfg zoo.cfg
- 5、修改配置 zoo.cfg
- #存放数据的路径
- dataDir=/usr/local/zookeeper/data
- 6、在/usr/local/zookeeper 下 创建 myid文件
- server0:192.168.0.224 myid=0
- server1:192.168.0.225 myid=1
- server2:192.168.0.226 myid=2
- 7、zoo.cfg 配置集群节点 在该文件末尾添加
- server.0=192.168.0.224:2888:3888
- server.1=192.168.0.225:2888:3888
- server.2=192.168.0.226:2888:3888
- 8、zk的启动
- 对于配置环境变量的启动 :
- zkServer.sh start
- 没有配置环境变量 可以在 zk 的bin 目录中启动
- [root@rocketmq-nameserver1 bin]# ./zkServer.sh 启动这三台服务器
1、启动异常:
- [root@localhost bin]# ./zkServer.sh status
- JMX enabled by default
- Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
- Error contacting service. It is probably not running.
如果遇到该情况试着开启2181端口(或者关闭防火墙)
- /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT 写入修改
- /etc/init.d/iptables save 保存修改
- service iptables restart 重启防火墙,修改生效
- service iptables stop 关闭防火墙
2、查看是否启动成功:三个服务器分别查看
- [root@localhost bin]# ./zkServer.sh status
- JMX enabled by default
- Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
- Mode: follower
三、配置文件
- # The number of milliseconds of each tick
- #tickTime这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳。
- tickTime=2000
- # The number of ticks that the initial
- # synchronization phase can take
- #initLimit这个配置项是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)
初始化连接时最长能忍受多少个心跳时间间隔数。- #当已经超过10个心跳的时间(也就是tickTime)长度后 zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20秒。
- initLimit=10
- # The number of ticks that can pass between
- # sending a request and getting an acknowledgement
- #syncLimit这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。
- syncLimit=5
- # the directory where the snapshot is stored.
- # do not use /tmp for storage, /tmp here is just
- # example sakes.
- #dataDir顾名思义就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存在这个目录里;
- dataDir=/usr/local/zookeeper/data
- # the port at which the clients will connect
- #clientPort这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求;
- 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
- #server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,
D是在leader挂掉时专门用来进行选举leader所用的端口。- server.0=192.168.0.224:2888:3888
- server.1=192.168.0.225:2888:3888
- server.2=192.168.0.226:2888:3888
日志文件配置:cat /usr/local/zookeeper/bin/zkEnv.sh
- ZOOBINDIR="${ZOOBINDIR:-/usr/bin}"
- ZOOKEEPER_PREFIX="${ZOOBINDIR}/.."
- if [ "x$ZOOCFGDIR" = "x" ]
- then
- if [ -e "${ZOOKEEPER_PREFIX}/conf" ]; then
- ZOOCFGDIR="$ZOOBINDIR/../conf"
- else
- ZOOCFGDIR="$ZOOBINDIR/../etc/zookeeper"
- fi
- fi
- if [ -f "${ZOOCFGDIR}/zookeeper-env.sh" ]; then
- . "${ZOOCFGDIR}/zookeeper-env.sh"
- fi
- if [ "x$ZOOCFG" = "x" ]
- then
- ZOOCFG="zoo.cfg"
- fi
- ZOOCFG="$ZOOCFGDIR/$ZOOCFG"
- if [ -f "$ZOOCFGDIR/java.env" ]
- then
- . "$ZOOCFGDIR/java.env"
- fi
- if [ "x${ZOO_LOG_DIR}" = "x" ]
- then
- ZOO_LOG_DIR="/usr/local/zookeeper/logs"
- fi
- if [ "x${ZOO_LOG4J_PROP}" = "x" ]
- then
- ZOO_LOG4J_PROP="INFO,CONSOLE"
四、常用命令
1、登录服务器 :zkCli.sh -server localhost:2181
2、查看帮助 help:
- [zk: 192.168.1.13:2181(CONNECTED) 0] help
- ZooKeeper -server host:port cmd args
- stat path [watch]
- set path data [version]
- ls path [watch]
- delquota [-n|-b] path
- ls2 path [watch]
- setAcl path acl
- setquota -n|-b val path
- history
- redo cmdno
- printwatches on|off
- delete path [version]
- sync path
- listquota path
- rmr path
- get path [watch]
- create [-s] [-e] path data acl
- addauth scheme auth
- quit
- getAcl path
- close
- connect host:port
3、查看更目录的节点:
- [zk: 192.168.1.13:2181(CONNECTED) 1] ls /
- [zookeeper]
4、创建节点: 创建一个新的Znode节点"zkTest",以及和它相关内容myData,
- [zk: 192.168.1.13:2181(CONNECTED) 2] create /zkTest myData
- Created /zkTest
5、查看节点中的内容
- [zk: 192.168.1.13:2181(CONNECTED) 4] get /zkTest
- myData
- cZxid = 0x300000002
- ctime = Wed Aug 16 19:48:01 CST 2017
- mZxid = 0x300000002
- mtime = Wed Aug 16 19:48:01 CST 2017
- pZxid = 0x300000002
- cversion = 0
- dataVersion = 0
- aclVersion = 0
- ephemeralOwner = 0x0
- dataLength = 6
- numChildren = 0
6、修改节点内容
- [zk: 192.168.1.13:2181(CONNECTED) 5] set /zkTest testSet
- cZxid = 0x300000002
- ctime = Wed Aug 16 19:48:01 CST 2017
- mZxid = 0x300000003
- mtime = Wed Aug 16 19:52:22 CST 2017
- pZxid = 0x300000002
- cversion = 0
- dataVersion = 1
- aclVersion = 0
- ephemeralOwner = 0x0
- dataLength = 7
- numChildren = 0
7、删除节点
- [zk: 192.168.1.13:2181(CONNECTED) 7] delete /zkTest
- [zk: 192.168.1.13:2181(CONNECTED) 9] ls /
- [zookeeper]
zookeeper学习之集群环境搭建的更多相关文章
- ZooKeeper 完全分布式集群环境搭建
1. 搭建前准备 示例共三台主机,主机IP映射信息如下: 192.168.32.101 s1 192.168.32.102 s2 192.168.32.103 s3 2.下载ZooKeeper, 以 ...
- ZooKeeper 介绍及集群环境搭建
本篇由鄙人学习ZooKeeper亲自整理的一些资料 包括:ZooKeeper的介绍,我们要学习ZooKeeper的话,首先就要知道他是干嘛的对吧. 其次教大家如何去安装这个精巧的智慧品! 相信你能研究 ...
- Zookeeper的单机&集群环境搭建
单机环境的安装 首先下载ZK的二进制安装包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/ 将安装包上传到Linux上: 进行解 ...
- 大数据 -- zookeeper和kafka集群环境搭建
一 运行环境 从阿里云申请三台云服务器,这里我使用了两个不同的阿里云账号去申请云服务器.我们配置三台主机名分别为zy1,zy2,zy3. 我们通过阿里云可以获取主机的公网ip地址,如下: 通过secu ...
- zookeeper伪分布式集群环境搭建
step1.下载 下载地址:http://zookeeper.apache.org/releases.html 将下载的压缩包放到用户家目录下(其他目录也可以) step2.解压 $tar –zxvf ...
- 大数据hadoop入门学习之集群环境搭建集合
目录: 1.基本工作准备 1.虚拟机准备 2.java 虚拟机-jdk环境配置 3.ssh无密码登录 2.hadoop的安装与配置 3.hbase安装与配置(集成安装zookeeper) 4.zook ...
- 大数据 -- Hadoop集群环境搭建
首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.它其实是将一个大文件分成若干块保存在不同服务器的多个节点中.通过联网 ...
- ZooKeeper学习之路(二)—— Zookeeper单机环境和集群环境搭建
一.单机环境搭建 1.1 下载 下载对应版本Zookeeper,这里我下载的版本3.4.14.官方下载地址:https://archive.apache.org/dist/zookeeper/ # w ...
- zookeeper集群环境搭建详细图文教程
zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...
随机推荐
- SQL学习笔记:分块提取查询结果
实践中,数据库中可能有数十亿条记录.查询结果有可能达到千万条.如果用dbGetQuery( ) 一次性取出所有查询结果,内存可能吃不消.但是,如果容许分块处理数据来完成任务,那么下述方法不失为一个好的 ...
- 【 C 】高级字符串查找之查找标记(token)函数 strtok介绍
我的csdn博客 一个字符串常常包含几个单独的部分,它们彼此被分隔开来.每次为了处理这些部分,你首先必须把它们从字符串中抽取出来. 这个任务有#include<string.h>中的str ...
- 20155305乔磊2016-2017-2《Java程序设计》第三周学习总结
20155305乔磊 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 对象(Object):存在的具体实体,具有明确的状态和行为 类(Class):具有相同属 ...
- NetWork——关于HTTP、HTTPS的知识总结
. )根据用户的当前的网络质量来判断下载什么质量的图片. 最后,如果觉得有所收获,请点下面的赞多多支持~谢谢各位
- BZOJ4034_树上操作_KEY
题目传送门 这道题可以树链剖分+线段树. 其他操作模板,第二个操作只需要将x~x+size[x]-1区间加值即可. code: #include <cstdio> #include < ...
- 【BZOJ4560】[NOI2016]优秀的拆分
[BZOJ4560][NOI2016]优秀的拆分 题面 bzoj 洛谷 题解 考虑一个形如\(AABB\)的串是由两个形如\(AA\)的串拼起来的 那么我们设 \(f[i]\):以位置\(i\)为结尾 ...
- Drupal7 针对特定条件才显示区块
当D7中开启PHP filter模块. Text format就会多出“PHP Code”选项. 而且,新建block时也会多出"Pages on which PHP code return ...
- Electron小记
一.安装 1.安装NodeJS 2.安装electronjs:npm install -g electron --unsafe-perm=true --allow-root 安装完,环境为: Node ...
- SQL创建数据库、建表、填入内容
--创建数据库 create database Information go --使用数据库 use Information go --创建表 create table Student ( Sno ) ...
- selenium webdriver API详解(一)
本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应) 一:打开某个网址:get() from selenium import ...