zoukankan      html  css  js  c++  java
  • Zookeeper Hello World

    1.Zookeeper的安装使用

        在官网上下载zk的安装包(http://labs.renren.com/apache-mirror/zookeeper/),解压后cd到zk的目录下。

        单机版安装方法:

        在conf目录下创建一个 zoo.cfg”的默认配置文件,稍后我们将用到它,编辑其内容为:

     

    tickTime=2000
    dataDir=~/src/zktest
    clientPort=2181

        zk的存储结构类似于文件系统,分为很多节点,每个节点会有值和一些权限控制信息。
    2.启动service和client

       service:bin/zkServer.sh start

      client:bin/zkCli.sh  -server 127.0.0.1:2181

      启动之后可以用help命令察看命令列表

      zk的存储结构类似于

    3.编写客户端的一个HelloWorld

    3.1建立节点信息:

     

            struct ACL acl[] =
    	{
    	       {ZOO_PERM_ALL,{"world","anyone"}}
    	};
    	int demo_acl_size1 = sizeof(acl)/sizeof(acl[0]);
    	struct ACL_vector acl_vector = { demo_acl_size1, acl };
    	int rc = zoo_create(this->zh, “/test”, "test_value", 10, &acl_vector, 0, 0, 0);
    	if (rc !=ZOK) {
    		std::cerr<< zerror(rc) <<std::endl;
    		exit(-1);
    	}

    在zk的命令行客户端中 输入命令 get /test 就会发现值“test_value ”已存在于节点 /test 下。

    3.1向节点中赋值

     

    void zk_set(const char *path, const char *value){
    	int len = strlen(value);
    	Stat stat;
    	int rc = zoo_set2(this->zh, path, value, len, -1, &stat);
    	if (rc != ZOK) {
    		std::cerr << zerror(rc) << std::endl;
    	}
    	//std::cout<<"Set Value:"<<value<<" for path:"<<path<<" succeed!"<<std::endl;
    }


    3.2取得节点中的值

     

    char *zk_get(const char *path){
    
    	int buf_len = sizeof(this->buf);
    	struct Stat stat;
    	//zhandle_t *zh1 = zookeeper_init("127.0.0.1:2181", 0, 10000, 0, 0, 0);
    	int rc = zoo_get(zh, path, 0, this->buf, &buf_len, &stat);
    	if (rc != ZOK){
    		std::cerr<< zerror(rc) <<std::endl;
    		exit(-1);
    	}
    	std::cout<<strlen(buf)<<std::endl;
    	return this->buf;
    }



  • 相关阅读:
    表空间_oracle
    linux_1_Wed May 15 10:18:56 CST 2019
    玩oracle vm virtualBox+mac电脑+isomini7centos
    字符串比较用equal以及==的区别
    送货地图中的数据库操作

    健康,有度
    qa角色记一次测试过程回溯
    jmeter计数器的使用
    jmeter解析response里的json对象和数组
  • 原文地址:https://www.cnblogs.com/yancey/p/3371363.html
Copyright © 2011-2022 走看看