怎么在window下配置zookeeper 单机配置的单机模式

Windows安装和使用zookeeper_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Windows安装和使用zookeeper
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢Linux下安装Zookeeper集群以及在Windows用dubbo和代码测试_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Linux下安装Zookeeper集群以及在Windows用dubbo和代码测试
来源:Linux社区&
作者:yuanjava
Linux下安装Zookeeper集群以及在Windows用dubbo和代码测试
首先,准备三台Linux虚拟机
三台机器&01 :192.168.1.168(lxs001) & centos03 :192.168.1.178(lxs003) & centos03 :192.168.1.188(lxs003) &三台机器
下载&zookeeper:
进入 opt 目录
下载&zookeeper:wget /zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
解压zookeeper:tar -zxvf zookeeper-3.4.6.tar.gz
zookeeper-3.4.6改名成zookeeper:mv zookeeper-3.4.6 zookeeper
进入conf目录配置文件 &cp 拷贝一个&zoo.cfg备份
编辑&zoo.cfg:Vim &zoo.cfg
增加集群信息
server.1=192.168.1.168:
server.2=192.168.1.178:
server.3=192.168.1.188:
将在168上配置好的zoo.cfg拷贝&到178 &188两台机器上
& scp &zoo.cfg &root@192.168.1.178:/opt/zookeeper/conf
配置dataDir:刚才dataDir 为 /var/zookeeper
进入 var, &mkdir新建zookerper文件夹
vim myid 新建myid 文本 编辑myid&文本并且写上service后的数字,
同时在178 &188 上同样创建个 myid,分别写上2,3
以上配置好了就可以连接测试zookeeper了,cd进入 /opt/zookeeper/bin目录,启动
telnet 192.168.1.168 &2181
如果没装 telnet &先装下
&重新连接 成功后输入stat
同时启动 178 &188服务器
有时候 集群不是 ,可能是机器上防火墙没有关闭,在三台机器上分别关闭防火墙
最后 三台机器集群起来就是下面这个
最后用代码 测试连接情况 ,以及用dubbo控制台查看提供者
dubbo.properties里配置
dubbo.registry.address=zookeeper://192.168.1.168:2181?backup=192.168.1.178:.1.188:2181&
最后在Windows(我的dubbo装在Windows上)看到代码里的提供者 说明服务已经在zookeeper注册上了
在 CentOS7 上安装 Zookeeper-3.4.9 服务
ZooKeeper官方文档翻译&&ZooKeeper Overview 3.4.6&
CentOS下ZooKeeper 3.4.8 集群环境搭建
CentOS 7下Zookeeper集群安装
ZooKeeper学习总结&
Linux下安装Zookeeper集群
Zookeeper集群的搭建与调试
Linux下Zookeeper集群的安装&
CentOS 7下安装 Zookeeper单机版&
本文永久更新链接地址:
相关资讯 & & &
& (05月02日)
& (03月05日)
& (03月15日)
& (02月11日)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款当前位置: →
→ Windows下Zookeeper启动脚本
Windows下Zookeeper启动脚本
& 作者及来源: 安安 - 博客园 &
&收藏到→_→:
摘要: Windows 下 Zookeeper 启动脚本
"Windows下Zookeeper启动脚本"::
1. 下载地址/zookeeper/当前最新版:/zookeeper/zookeeper-3.4.4/2. 解压到c:\myserver\zookeeper-3.4.4\3. 修改配置其中 单机模式不需要& initlimit 、synclimit 设置ticktime=2000datadir=c:\\myserver\\zookeeper-3.4.4\\datadatalogdir=c:\\myserver\\zookeeper-3.4.4\\logclientport=21814. 启动脚本start.batsetlocalset&zoocfgdir=%~dp0%../confset&zoo_log_dir=%~dp0%..set&zoo_log4j_prop=info,consoleset&classpath=%zoocfgdir%set&classpath=%~dp0../*;%~dp0../lib/*;%classpath%set&classpath=%~dp0../build/%~dp0../build/lib/*;%classpath%set&zoocfg=%zoocfgdir%/zoo.cfgset&zoomain=org.apache.zookeeper.server.zookeeperservermainjava&"-dzookeeper.log.dir=%zoo_log_dir%"&"-dzookeeper.root.logger=%zoo_log4j_prop%"&-cp&"%classpath%"&%zoomain%&"%zoocfg%"&%*&endlocal5. 双击 start.bat 启动,运行联网6.&在cmd下利用 netstat -ano 查看启动情况7. 客户端连接8. 以上是 zookeeper 单机运行模式,zookeeper 的集群模式的安装和配置也不是很复杂,增加参数initlimit 、synclimit 设置&&& 配置如下:ticktime=2000initlimit=5synclimit=2datadir=c:\\myserver\\zookeeper-3.4.4\\datadatalogdir=c:\\myserver\\zookeeper-3.4.4\\logclientport=2181server.1=192.168.1.1:server.2=192.168.1.2:&9. 在 “datadir=c:\\myserver\\zookeeper-3.4.4\\data” 目录下建立myid文件(建立文本文件,去掉扩展名txt即可)设置myid 在每台机器上配置的datadir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.x中x为什么数字,则myid文件中就输入这个数字,例如:在192.168.1.1机器上根据“server.1=192.168.1.1:” 设置为 1在192.168.1.2机器上根据“server.2=192.168.1.2:” 设置为 2&&&两篇好文:http://www.blogjava.net/hello-yun/archive//377250.html/fengzhichao7/item/ef381f1ac8a45b09e65c36d4其他参考http://space.itpub.net/8183550/viewspace-683571/sophiatang/archive//2387294.html
搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
Windows下Zookeeper启动脚本_博客园相关文章
博客园_总排行榜
博客园_最新
博客园_月排行榜
博客园_周排行榜
博客园_日排行榜ZooKeeper安装与操作实例 - 没有名称 - ITeye技术网站
博客分类:
,解压缩至/usr/zookeeper.
复制conf/zoo_sample.cfg重命名为conf/zoo.cfg,执行命令 & sudo cp conf/zoo_sample.cfg conf/zoo.cfg
修改zoo.cfg文件,编辑为如下:
tickTime=2000
dataDir=/home/sulin/zookeeper
#数据存放目录
dataLogDir=/usr/zookeeper/logs
#日志存放目录,手动存在。如果没有貌似启动不成功
clientPort=2181
#客户端连接端口
# 此时已经可以通过“bin/zkServer.sh start”命令启动zookeeper,然后通过shell访问了zookeeper了
----------后面的配置是为了上面配置的单机版能让其他主机也能访问此zookeeper(其实也是伪分布式)
server.1=218.196.207.186: #2888是zookeeper服务之间的通信端口,3888是zookeeper与其他应用程序之间通信端口。
手动创建数据存放目录(/home/sulin/zookeeper),然后在目录中创建一个叫做"myid"的文件,文件内容为“1”。此处的1与上面的1对应。
分布式配置
和上面的伪分布式配置是一样的,如果是三台的话,zoo.cfg配置为:
tickTime=2000
dataDir=/home/sulin/zookeeper
dataLogDir=/usr/zookeeper/logs
clientPort=2181
server.1=218.196.207.186:
server.2=218.196.207.185:
server.3=218.196.207.184:
然后可以使用rsync指令将第一台机器上的zookeeper文件夹发送至其他两台
& sudo rsync -a /usr/zookeeper UbuntuB:/usr
& sudo rsync -a /usr/zookeeper UbuntuC:/usr
之后在其余两台机器上面手动创建dataDir文件夹,并且新建myid文件,写入自己的序号1/2/3。
然后分别在三台机器上面启动zookeeper服务:& bin/zooService.sh start
注意:一定要谨记将logs文件夹重建,因为里面的version-2里面会保存原有记录,此记录有可能与新集群有冲突。
注意:还有dataDir也要重建,原有的节点快照都会导致新集群出现问题。下面就是dataDir忘记重建出现的读取快照失败错误
下面是一个比较简单的测试程序,此程序改编自ZooKeeper官方文档中的例子:
package net.sulin.hbase.
import java.io.IOE
import java.util.ArrayL
import java.util.L
import org.apache.hadoop.hbase.util.B
import org.apache.zookeeper.AsyncCallback.StatC
import org.apache.zookeeper.CreateM
import org.apache.zookeeper.KeeperE
import org.apache.zookeeper.KeeperException.C
import org.apache.zookeeper.WatchedE
import org.apache.zookeeper.W
import org.apache.zookeeper.ZooD
import org.apache.zookeeper.ZooK
import org.apache.zookeeper.data.ACL;
import org.apache.zookeeper.data.Id;
import org.apache.zookeeper.data.S
* @author sulin
上午08:59:50
@SuppressWarnings("deprecation")
public class ZooKeeperTest01 implements Watcher, Runnable, StatCallback{
private static String znode = "/test";
public ZooK
public ZooKeeperTest01(String hostPort, String znode, String filename) {
zk = new ZooKeeper(hostPort, 5000, this);
} catch (IOException e) {
e.printStackTrace();
if(zk.exists(znode, false) == null){
// 创建节点,权限随便设置了。
Id id = new Id("ip", "218.196.207.187");
ACL acl = new ACL(ZooDefs.Perms.ALL, id);
List&ACL& acls = new ArrayList&ACL&();
acls.add(acl);
zk.create(znode, Bytes.toBytes("这是第一次放入的数据"), acls, CreateMode.PERSISTENT);
stat = new Stat();
System.out.println("第一次读到的数据: " + Bytes.toString(zk.getData(znode,true,stat)));
} catch (KeeperException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
public static void main(String[] args) {
ZooKeeperTest01 temp = new ZooKeeperTest01("218.196.207.185:.207.184:.207.186:2181", znode, "");
new Thread(temp).start();
// 其他线程已启动
temp.zk.setData(znode, Bytes.toBytes("第二次放入的数据"), temp.stat.getVersion());
} catch (KeeperException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
synchronized (temp) {
temp.wait();
} catch (InterruptedException e) {
e.printStackTrace();
public void run() {
synchronized(this){
} catch (InterruptedException e) {
public void close(){
synchronized(this){
this.notifyAll();
* 监视事件被触发时执行此方法。
public void process(WatchedEvent event) {
String path = event.getPath();
if(event.getType() == Event.EventType.None){
// 节点没有发生改变,无节点创建、无接点删除、节点数据未改变、子节点未改变
// 那么说明可能是会话状态发生了改变
switch(event.getState()){
case SyncConnected:
// 此客户端处于连接状态,不需要做任何事
case Expired:
// 会话失效,结束
this.close();
// 状态改变了,检查是否znode节点值改变。如果改变则取出
if(path != null && path.equals(znode)){
zk.exists(znode, true, this, null);
* 状态回调方法,此方法被执行的触发条件是
* 在异步请求exists方法时,如果节点状态已经改变则执行此方法。
public void processResult(int rc, String path, Object ctx, Stat stat) {
boolean exists =
* 现在ZooKeeper已经将异常代码换为枚举类型而不是静态int常量
* 可以用KeeperException.Code.get(rc)获取rc的枚举类型。
switch(rc){
case Code.Ok:
// 一切完好
case Code.NoNode:
// 节点不存在
case Code.SessionExpired:
case Code.NoAuth:
this.close();
// 其他错误,重新尝试。。。
zk.exists(znode, false, this, null);
byte[] buf =
if(exists){
buf = zk.getData(znode, false, null);
} catch (KeeperException e) {
// 前面已经处理了此异常,此处不必处理
} catch (InterruptedException e) {
// 线程中断?事件线程中断?
// 读到了数据,简单打印看看了事
System.out.println("第二次异步读到的数据:" + Bytes.toString(buf));
执行的就是创建一个/test节点,之后放入一个数据,读出打印出来,同时设置监视器。
当第二次放入数据时,监视器会被触发,之后异步读取新数据并打印出来:
第一次读到的数据: 这是第一次放入的数据
第二次异步读到的数据:第二次放入的数据
浏览 11257
写道s 写道 写道楼主你好,你这个好像是在Linux下面安装的,是吗? 我对这个也不怎么懂,我想在window下面怎么安装呢?还是说不能装呢?请楼主多多指教,先谢过啦!应该可以在Windows上安装吧,不过我没有试过。但是bin目录里面有Windows的脚本文件(*.cmd),你把上面的执行*.sh替换成*.cmd试试看行不。非常感谢楼主的回答。好像是可以的,呵呵,只是我也不知道到底服务有没有启动好!我只是查看了一下端口netstat -ano发现2181的端口已经开启了,是不是说明我的服务已经启动了啊?呵呵可以用 bin/zcCli.cmd -server ip:port去连接看看。成功了会有"Welcome to Zookeeper!",还可以进一步操作写错了,是zkCli.cmd
s 写道 写道楼主你好,你这个好像是在Linux下面安装的,是吗? 我对这个也不怎么懂,我想在window下面怎么安装呢?还是说不能装呢?请楼主多多指教,先谢过啦!应该可以在Windows上安装吧,不过我没有试过。但是bin目录里面有Windows的脚本文件(*.cmd),你把上面的执行*.sh替换成*.cmd试试看行不。非常感谢楼主的回答。好像是可以的,呵呵,只是我也不知道到底服务有没有启动好!我只是查看了一下端口netstat -ano发现2181的端口已经开启了,是不是说明我的服务已经启动了啊?呵呵可以用 bin/zcCli.cmd -server ip:port去连接看看。成功了会有"Welcome to Zookeeper!",还可以进一步操作
写道楼主你好,你这个好像是在Linux下面安装的,是吗? 我对这个也不怎么懂,我想在window下面怎么安装呢?还是说不能装呢?请楼主多多指教,先谢过啦!应该可以在Windows上安装吧,不过我没有试过。但是bin目录里面有Windows的脚本文件(*.cmd),你把上面的执行*.sh替换成*.cmd试试看行不。非常感谢楼主的回答。好像是可以的,呵呵,只是我也不知道到底服务有没有启动好!我只是查看了一下端口netstat -ano发现2181的端口已经开启了,是不是说明我的服务已经启动了啊?呵呵
楼主你好,你这个好像是在Linux下面安装的,是吗? 我对这个也不怎么懂,我想在window下面怎么安装呢?还是说不能装呢?请楼主多多指教,先谢过啦!应该可以在Windows上安装吧,不过我没有试过。但是bin目录里面有Windows的脚本文件(*.cmd),你把上面的执行*.sh替换成*.cmd试试看行不。
浏览: 64898 次
来自: 北京
lliiqiang 写道既然是算法一定是有限功能,不可能完成无 ...
其实不存在什么知识产权的事情,因为都是人可以做的.只是说甚至对 ...
既然是算法一定是有限功能,不可能完成无限局限,你都挑出它不能做 ...
jar包是哪些啊
s 写道小马在天 写道楼主能否把加密的流程写 ...

我要回帖

更多关于 zookeeper window下载 的文章

 

随机推荐