`
lesorb
  • 浏览: 123136 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用php访问zookeeper服务

阅读更多
下载zookeeper依赖库:
http://apache.fayea.com/zookeeper/zookeeper-3.4.6/
解压
tar -zxf zookeeper-3.4.6.tar.gz
cd zookeeper-3.4.6/src/c
安装
./configure --prefix=/usr/local/zookeeper/zookeeper-3.4.6/
make & make install

下载PHPzookeeper扩展库:
http://pecl.php.net/package/zookeeper

解压
tar -zxvf zookeeper-3.4.6.tar.gz
安装
/usr/local/php5.4/bin/phpize
./configure --with-php-config=/usr/local/php5.4/bin/php-config --with-libzookeeper-dir=/usr/local/zookeeper/zookeeper-3.4.6/
make & make install

编辑配置php
vim /usr/local/conf/php5.4/php.ini
/usr/local/php5.4/bin/php -m

l /usr/local/php5.4/lib/php/extensions/no-debug-non-zts-20100525
重启fpm
kill -USR2 `cat /usr/local/php5.4/var/run/php-fpm.pid`

测试访问zookeeper服务状态:
vim test_zookeeper.php

<?php

class zookeeper_instance extends Zookeeper {
    function connect_cb($type, $event, $string) {
        if ($event == Zookeeper::CONNECTED_STATE) {
            $acl=array(
                "perms"=>0x1f,
                "scheme"=>"world",
                "id"=>"anyone"
            );
        }
    }
}

$zk=new zookeeper_instance();
echo "instance ok\n";

$zk->connect("127.0.0.1:2181", array($zk, 'connect_cb'),200000);
echo "connect ok\n";
$zkm=$zk->get("/hbase/master");
var_dump($zk->getState());
var_dump($zk->getClientId());
var_dump($zk->getAcl("/hbase/master"));
var_dump($zk->getRecvTimeout());
var_dump($zkm);

echo "\n\r";

运行:
php test_zookeeper.php
结果:
instance ok
connect ok
string(65) "20165@namenode1.dd.comnamenode1.dd.com,60000,1429518731888"
int(3)
array(2) {
  [0]=>
  int(165782755280355365)
  [1]=>
  string(18) "?.L[?c6."
}
array(2) {
  [0]=>
  array(11) {
    ["czxid"]=>
    float(227633267014)
    ["mzxid"]=>
    float(227633267014)
    ["ctime"]=>
    float(1429518733469)
    ["mtime"]=>
    float(1429518733469)
    ["version"]=>
    int(0)
    ["cversion"]=>
    int(0)
    ["aversion"]=>
    int(0)
    ["ephemeralOwner"]=>
    float(2.3780011668065E+17)
    ["dataLength"]=>
    int(65)
    ["numChildren"]=>
    int(0)
    ["pzxid"]=>
    float(227633267014)
  }
  [1]=>
  array(1) {
    [0]=>
    array(3) {
      ["perms"]=>
      int(31)
      ["scheme"]=>
      string(5) "world"
      ["id"]=>
      string(6) "anyone"
    }
  }
}
int(40000)
0
0
分享到:
评论

相关推荐

    Zookeeper-3.4.12

    通过Zookeeper,服务可以注册自己的地址,并且其他服务可以通过名称来查找和连接这些服务,提高了服务发现的效率和可扩展性。 3. **分布式同步**: Zookeeper支持多种类型的分布式同步机制,如选举算法、分布式锁...

    Kafka简介及使用PHP处理Kafka消息

    Kafka简介及使用PHP处理Kafka消息 Kafka 是一种高吞吐的分布式消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区、多副本、冗余,因此被广泛用于大规模消息...

    ZK 开发手册 以前的项目中用到过

    1. **配置管理**: 分布式系统中的配置信息可以通过Zookeeper进行集中管理和分发,确保所有节点都能访问到最新的配置。 2. **命名服务**: 通过Zookeeper可以实现服务发现,每个服务都可以注册一个唯一的ID,其他服务...

    网络安全之渗透测试20w字全套笔记

    NMAP使用 工具 网站架构和指纹识别 其他信息 人员信息 初始访问 Web服务突破 前端 SQL注入 判断注入 数据库类型识别 MSSQL MYSQL Oracle PostgreSQL SQLite DB2 SQLMAP XSS CSRF PHP包含下载读取 XML SSRF DNSLOG ...

    查看同步的服务器页面

    4. **分布式系统同步**:在多服务器环境下,为了保持各个节点的数据一致,需要使用分布式协调服务,如Zookeeper、etcd或Consul,它们提供锁服务、配置管理等功能,确保全局状态的一致性。 5. **前端框架**:现代...

    《Pinpoint & Pinpoint C Agent(支持PHP) 简易安装文档》

    2. **JAVASE**: 对于更高版本,请访问官方网站获取安装指导。 - OpenJDK: [http://openjdk.java.net/install/](http://openjdk.java.net/install/) - JAVASE: ...

    [PHP] 基于redis的分布式锁防止高并发重复请求.docx

    分布式锁是指在分布式系统中,使用锁机制来确保只有一个线程或进程可以访问共享资源的技术。分布式锁的特点是: * 原子性:同一时刻,只能有一个机器的一个线程得到锁; * 可重入性:同一对象(如线程、类)可以...

    pinpoint集群.docx

    7. **验证部署**:通过访问pp-web的Web界面,检查是否能成功接收到应用程序的数据,调用链是否完整,性能指标是否正常。 在实际运维过程中,定期更新Pinpoint版本,以获取最新的功能和性能优化。同时,结合日志管理...

    fastdfs-6.06搭建安装包

    FastDFS提供了文件存储、文件同步、文件访问(文件上传、文件下载)等功能,特别适合以文件为载体的在线服务,如图片分享网站、视频分享网站等。FastDFS将文件存储和文件服务分离,通过Tracker Server进行调度,使得...

    Hbase从入门到精通

    客户端访问数据时,首先访问Zookeeper获取-ROOT-表的位置,然后访问-ROOT-表得到.META.表的位置信息,再访问.META.表获取用户表Region的信息,最后才能定位到具体的数据。为了提高效率,客户端通常会对这些信息进行...

    05-Hbase安装部署及优化.pdf

    Client访问用户数据之前需要首先访问Zookeeper,然后访问-ROOT-表,接着访问.META.表,最后才能找到用户数据的位置去访问。 以上知识点梳理了Hbase的基础架构、角色组成、数据访问方式、安装部署及调优方法,以及...

    Hadoop之Hbase从入门到精通.doc

    客户端在访问用户数据之前,需要先访问Zookeeper获取-ROOT-表的位置信息,再访问-ROOT-表获取.META.表的位置信息,最后根据.META.表获取具体用户数据的位置。这一过程虽然涉及多次网络操作,但是客户端端通常会缓存...

    PHP秒杀系统 高并发高性能的极致挑战-

    - **消息队列**:引入RabbitMQ或Kafka等消息队列服务,异步处理任务,提高系统的吞吐量。 - **限流措施**:通过Nginx或自定义逻辑限制单位时间内处理的请求数量,防止系统过载。 ##### 3.2 技术选型 - **前端框架*...

    分布式配置文件

    例如,在微服务架构中,每个服务可能需要访问相同的配置,如数据库URL或API密钥,使用分布式配置可以避免每个服务都需要维护自己的配置副本,从而降低了维护成本并减少了出错的可能性。 ### 实现机制 分布式配置...

    php测试kafka项目示例

    Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献...

    phphbaseadminmaster

    在实际使用中,"phphbaseadminmaster"可能需要与Hadoop和HBase集群集成,依赖于Apache ZooKeeper进行集群协调。安装和配置过程中,用户可能需要设置HBase的连接信息,如ZooKeeper地址、HBase的Master节点等。同时,...

    Flex上传压缩文件到服务器路径并解压存进数据库

    例如,在Java中,可以使用Apache Commons Compress或Zookeeper等库来解压上传的ZIP或RAR文件。解压后,服务器可以访问文件内容。 5. **数据库操作**: 一旦文件解压,其内容可能需要存储在数据库中。这通常涉及到...

    基于java语言开发的cas单点登录系统

    4. **配置中心**:在大型分布式系统中,配置中心是必不可少的,它集中管理所有服务的配置,如Spring Cloud Config或Zookeeper。在CAS系统中,配置中心可以确保所有节点的配置一致,简化运维工作。 5. **监控平台**...

    Laravel开发-laravel-kong-jwt .zip.zip

    3. **服务发现**:通过集成 Consul 或 ZooKeeper 等服务发现工具,动态管理后端服务。 4. **安全**:通过认证和授权插件,如 JWT 插件,确保只有经过验证的请求才能访问后端服务。 JWT 的关键点在于: 1. **令牌**...

Global site tag (gtag.js) - Google Analytics