设为首页 收藏本站
查看: 1521|回复: 0

[经验分享] ZeeKeeper 集群 伪分布式配置 zookeeper的使用

[复制链接]

尚未签到

发表于 2017-4-19 11:41:32 | 显示全部楼层 |阅读模式
  纯粹笔记 :不多说了。
  解压tar.gz文件,配置修改配置conf
  1,将zoo_sample.cfg 拷贝3分 zoo1.cfg,zoo2.cfg,zoo3.cfg
  ******************************************************************

  1,zoo1.cfg:
  ---------------------------
  tina@ubuntu:~/zookeeper/conf$ cat zoo1.cfg
# 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.
dataDir=/home/sina/zookeeper/data
# the port at which the clients will connect
clientPort=2184
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890


  ×××××××××××××××××××××××××××××××××××××××××××××××
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  ×××××××××××××××××××××××××××××××××××××××××××××××××
  2,zoo2.cfg
  ------------------------------------------------------------------------------------
  tina@ubuntu:~/zookeeper/conf$ more zoo2.cfg
# 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.
dataDir=/home/sina/zookeeper/data1
# the port at which the clients will connect
clientPort=2182
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890


  ******************************************************************
  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  *********************************************************************
  3,zoo3.cfg
  -------------------------------------------------------------------------------------
  tina@ubuntu:~/zookeeper/conf$ more zoo3.cfg
# 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.
dataDir=/home/sina/zookeeper/data2
# the port at which the clients will connect
clientPort=2183
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890


  ×××××××××××××××××××××××××××××××××××××××××××××××××
  》》》分别在 /data,data1,data2,下建立myid 文件,内容分别是1,2,3
  ---------------------------------
  

  启动zookeeper服务
  分别启动1,2,3:
  ./zkServer.sh start zoo1.cfg
  ./zkServer.sh start zoo2.cfg
  ./zkServer.sh start zoo3.cfg
  前面两个起的时候可能会有错误提示:
  2012-11-21 01:28:12,848 - WARN [QuorumPeer:/0:0:0:0:0:0:0:0:2184:QuorumCnxManager@379] - Cannot open channel to 3 at election address localhost/127.0.0.1:3890
java.net.ConnectException: Connection refused
  2012-11-21 01:28:12,847 - WARN [QuorumPeer:/0:0:0:0:0:0:0:0:2184:QuorumCnxManager@379] - Cannot open channel to 2 at election address localhost/127.0.0.1:3889
java.net.ConnectException: Connection refused
  这个可以不用管,等服务都起来之后就不会有这个提示了
  好了 一样画瓢来个示例:
  import java.io.IOException;

import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.ZooDefs.Ids;

public class demo {

// 会话超时时间,设置为与系统默认时间一致

private static final int SESSION_TIMEOUT = 30000;

// 创建 ZooKeeper 实例

ZooKeeper zk;

// 创建 Watcher 实例

Watcher wh = new Watcher() {

public void process(org.apache.zookeeper.WatchedEvent event) {
System.out.println("event="+event.toString());
}

};

// 初始化 ZooKeeper 实例

private void createZKInstance() throws IOException{
zk = new ZooKeeper("localhost:2183", demo.SESSION_TIMEOUT, this.wh);
  //这里随便随便3个中的任何一个都是可以连接的了
}

private void ZKOperations() throws IOException, InterruptedException, KeeperException{

System.out.println("\n 创建 ZooKeeper 节点 (znode : zoo2, 数据: myData2 ,权限: OPEN_ACL_UNSAFE ,节点类型: Persistent");

zk.create("/zoo2", "myData2".getBytes(), Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT);

System.out.println("\n 查看是否创建成功: ");

System.out.println(new String(zk.getData("/zoo2", false, null)));

System.out.println("\n 修改节点数据 ");

zk.setData("/zoo2", "shenlan211314".getBytes(), -1);

System.out.println("\n 查看是否修改成功: ");

System.out.println(new String(zk.getData("/zoo2", false, null)));
System.out.println("\n 修改节点数据 ");

zk.setData("/zoo2", "Hello_World".getBytes(), -1);

System.out.println("\n 查看是否修改成功: ");

System.out.println(new String(zk.getData("/zoo2", false, null)));

System.out.println("\n 删除节点 ");

zk.delete("/zoo2", -1);

System.out.println("\n 查看节点是否被删除: ");

System.out.println(" 节点状态: [" + zk.exists("/zoo2", false) + "]");

}

private void ZKClose() throws InterruptedException{
zk.close();
}

public static void main(String[] args) throws IOException,InterruptedException, KeeperException {
demo dm = new demo();
dm.createZKInstance();
dm.ZKOperations();
dm.ZKClose();
}

}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-366360-1-1.html 上篇帖子: zookeeper学习记录三(session,watcher,persit机制) 下篇帖子: 【大数据笔记】白话详解Zookeeper的一致性
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表