Zookeeper安装部署调试命令
下载地址: http://www.apache.org/dyn/closer.cgi/zookeeper/
我选用清华的镜像 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
解压:
tar -zxvf zookeeper-3.4.9.tar.gz
copy到任意地点
cp -r ./zookeeper-3.4.9 /usr/zookeeper
修改配置文件
cd /usr/zookeeper/conf
mv ./zoo_sample.cfg ./zoo.cfg
vi ./zoo.cfg
单机模式
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
分布式
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/zookeeper/data
dataLogDir=/usr/zookeeper/data/datalog
clientPort=2181
server.1=host1:2888:3888
server.2=host2:2888:3888
server.3=host3:2888:3888
每台机器的dataDir目录下要建立一个文件myid,内容和配置一样是数字就行
启动
zkServer.sh start
查看启动状态
zkServer.sh status
正常情况
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper/bin/../conf/zoo.cfg
Mode: follower
不正常情况
Error contacting service. It is probably notrunning.
测试zk
$echo ruok |nc master 2181
---
imok
$echo srvr|nc master 2181
---
Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4
如果没有nc命令的话,yum -y install 一下就可以了
如果不行可以参考 http://www.cnblogs.com/sunddenly/p/4031322.html?utm_source=tuicool&utm_medium=referral 这哥们挺坎坷的
调试方法:
tail -500f $dataLogDir/zookeeper.out
或者以输出日志方式启动
zkServer.sh start-foreground
常见原因
1.
编辑zoo.cfg配置文件时,指定了log的输出目录,但是却未创建。 dataLogDir=/usr/zookeeper/data/datalog 因此需要按照里面指定的目录进行创建。
mkdir /usr/zookeeper/data/datalog
2.
最后检查配置zoo.cfg配置发现是该节点的主机名写错了 先停止zookeeper服务,逐一的修改节点上zoo.cfg配置文件,在逐一的启动
zkServer.sh stop
vi /usr/zookeeper/conf/zoo.cfg
PS: zk类的安装搭建过程中, 如果报错, 一定要把status中的错误贴出来, 其它的信息不容易找到答案.
3.
Caused by: java.lang.IllegalArgumentException: ./zookeeper/myid file is missing myid文件放错位置或者没有
mkdir -p /usr/zookeeper/data
vi /usr/zookeeper/data/myid
ZooKeeper 常用四字命令:
ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令
1. echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
2. echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
3. echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点。
4. echo kill | nc 127.0.0.1 2181 ,关掉server
5. echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息。
6. echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
7. echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
8. echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
9. echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息。
10. echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
11. echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。
安装配置官网地址 http://zookeeper.apache.org/doc/r3.4.9/zookeeperStarted.html
好文章 http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/
Zookeeper常用命令 https://my.oschina.net/u/347386/blog/313037
- HDU 1250 Hat's Fibonacci
- Scrapy在Ubuntu下的安装与配置
- Selenium2+python自动化20-引入unittest框架
- HDU 1002 A + B Problem II(高精度加法(C++/Java))
- POJ 1018 Communication System
- POJ 1017 Packets
- Codeforces 725B Food on the Plane
- Codefoces 723B Text Document Analysis
- Codefoces 723A The New Year: Meeting Friends
- ECJTUACM16 Winter vacation training #1 题解&源码
- 信息学奥赛一本通算法(C++版)基础算法:高精度计算
- 看破欧拉函数的奥秘
- 线段树入门总结
- 从零基础学三分查找
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 二分查找(Python实现)
- 图解JavaScript——代码实现【2】(重点是Promise、Async、发布/订阅原理实现)
- 编译器 bug 系列(1)
- 面试高频:反转链表
- 存储过程
- 为什么别人不想回答你提的问题?
- python面试题搜集:史上最全python面试题详解(一)
- 一日一技:在 Golang 中如何快速判断字符串是否在一个数组中
- 面试问题之操作系统
- 软技能提升:转转中后台规范落地实践
- python面试题搜集(三)
- 什么是计算机网络?为什么需要网络通信?如何进行网络编程?
- Python中好用又高效的Collections 模块
- 正确创建Python二维数组
- 深入理解Python内存管理与垃圾回收,再也不怕问了(一)