centos6安装zookeeper集群+javademo(curator)
2015-12-15 11:52
686 查看
引用:http://blog.csdn.net/dc_726/article/details/46475633
引用:http://m.blog.csdn.net/blog/no99es/50131123
curator版本(2.91)–下maven地址(注意版本问题、如果curator用3.0会报错KeeperErrorCode = Unimplemented):http://search.maven.org/#search%7Cga%7C1%7Corg.apache.curator
![](https://img-blog.csdn.net/20151215114519352)
zookeeper版本(http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.7/zookeeper-3.4.7.tar.gz)
一、zookeeper安装步骤
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.7/zookeeper-3.4.7.tar.gz
假设有三台机器,hostname和ip对应关系是:
192.168.3.16 zk01 test16
192.168.3.39 zk02 test39
192.168.3.96 zk03 test96
ZooKeeper不存在明显的master/slave关系,各个节点都是服务器,leader挂了,会立马从follower中选举一个出来作为leader.
由于没有主从关系,也不用配置SSH无密码登录了,各个zk服务器是自己启动的,互相之间通过TCP端口来交换数据。
修改配置文件conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zookeeper/local/var/zookeeper
clientPort=2181
server.1=test16:2888:3888
server.2=test39:2888:3888
server.3=test96:2888:3888
myid文件
要在每台机器的dataDir下,新建一个myid文件,里面存放一个数字,用来标识当前主机。
zookeeper@test16:echo“1”>>/usr/local/data/myidzookeeper@test39: echo “2” >> /usr/local/data/myid
zookeeper@test96:$ echo “3” >> /usr/local/data/myid
启动
./zkServer.sh start ./zkServer.sh status tail -f zookeeper.out
windows客户端连接:cmd >zkCli.cmd -server 192.168.3.96:2181
![](https://img-blog.csdn.net/20151215114817500)
二、java代码
zookeeper学习的第一步骤,继续…
引用:http://m.blog.csdn.net/blog/no99es/50131123
curator版本(2.91)–下maven地址(注意版本问题、如果curator用3.0会报错KeeperErrorCode = Unimplemented):http://search.maven.org/#search%7Cga%7C1%7Corg.apache.curator
zookeeper版本(http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.7/zookeeper-3.4.7.tar.gz)
一、zookeeper安装步骤
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.7/zookeeper-3.4.7.tar.gz
假设有三台机器,hostname和ip对应关系是:
192.168.3.16 zk01 test16
192.168.3.39 zk02 test39
192.168.3.96 zk03 test96
ZooKeeper不存在明显的master/slave关系,各个节点都是服务器,leader挂了,会立马从follower中选举一个出来作为leader.
由于没有主从关系,也不用配置SSH无密码登录了,各个zk服务器是自己启动的,互相之间通过TCP端口来交换数据。
修改配置文件conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zookeeper/local/var/zookeeper
clientPort=2181
server.1=test16:2888:3888
server.2=test39:2888:3888
server.3=test96:2888:3888
myid文件
要在每台机器的dataDir下,新建一个myid文件,里面存放一个数字,用来标识当前主机。
zookeeper@test16:echo“1”>>/usr/local/data/myidzookeeper@test39: echo “2” >> /usr/local/data/myid
zookeeper@test96:$ echo “3” >> /usr/local/data/myid
启动
./zkServer.sh start ./zkServer.sh status tail -f zookeeper.out
windows客户端连接:cmd >zkCli.cmd -server 192.168.3.96:2181
二、java代码
package test; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.RetryNTimes; /** * Curator framework's client test. * Output: * $ create /zktest hello * $ ls / * [zktest, zookeeper] * $ get /zktest * hello * $ set /zktest world * $ get /zktest * world * $ delete /zktest * $ ls / * [zookeeper] */ public class CuratorClientTest { /** Zookeeper info */ private static final String ZK_ADDRESS = "192.168.3.16:2181,192.168.3.39:2181,192.168.3.96:2181"; private static final String ZK_PATH = "/test2"; public static void main(String[] args) throws Exception{ CuratorFramework client= CuratorFrameworkFactory.newClient( ZK_ADDRESS, new RetryNTimes(10, 5000) ); client.start(); // System.out.println("zk client start successfully!"); // if(client.isStarted()){//是否创建成功 // System.out.println("创建客户端成功<><><><><><><><><><>"); // }else{ // System.out.println("创建客户端失败《》《》《》《》《》《》"); // } //// Thread.sleep(2000); String data1 = "hello"; // client.create().forPath(ZK_PATH, data1.getBytes()); // try { // print(client.getChildren().forPath("/")); // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // // 2.Client API test // // 2.1 Create node // String data1 = "hello"; // print("create", ZK_PATH, data1); client.create(). creatingParentsIfNeeded(). forPath(ZK_PATH, data1.getBytes()); // // // 2.2 Get node and data // print("ls", "/"); // print(client.getChildren().forPath("/")); // try { // client.setData().forPath(ZK_PATH, "I love footballqq".getBytes()); // } catch (Exception e1) { // // TODO Auto-generated catch block // e1.printStackTrace(); // } // print("get", ZK_PATH); // try { // print(client.getData().forPath(ZK_PATH)); // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } } private static void print(String... cmds) { StringBuilder text = new StringBuilder("$ "); for (String cmd : cmds) { text.append(cmd).append(" "); } System.err.println(text.toString()); } private static void print(Object result) { System.err.println(result instanceof byte[] ? new String( (byte[]) result) : result); } }
zookeeper学习的第一步骤,继续…
相关文章推荐
- Linux系统复制vmware 虚拟机后网卡不能启动该怎么办?
- Linux挂载移动设备
- centos&nbsp;7&nbsp;安装和配置vncserver
- linux修改文件权限命令
- linux查看某个进程的CPU及占用情况
- Linux执行.sh文件,提示No&nbsp;su…
- 每天一个linux命令(1):more命令
- linux命令积累
- 配置centos&nbsp;7&nbsp;ntp&nbsp;server
- linux mount一个硬盘
- CentOS7.0安装JDK1.8.0_31
- 红帽Linux忘记root密码怎么办
- 查看LINUX操作系统及位数
- CentOS防火墙
- linux下文件夹的创建、复制、剪切…
- 去掉linux光标和制作linux Logo
- Linux下的tar压缩解压缩命令详解
- Linux系统下安装跨平台团队开发工具Vagrant的教程
- linux notes
- linux6.5 redhat 安装centos 免注册的yum 源