http://blog.csdn.net/fenglailea/article/details/52458737#t3

 
 

风来了.fox

安装zookeeper

推荐1.1 直接复制

1.1.直接安装zookeeper(无须编译)

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

tar -zxvf zookeeper-3.4.9.tar.gz
mv zookeeper-3.4.9/ /usr/local/zookeeper/
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

设置全局变量

vim ~/.bash_profile
  • 1
  • 1

最后一行加入

export PATH=/usr/local/zookeeper/bin:$PATH
  • 1
  • 1

使之生效

source ~/.bash_profile
  • 1
  • 1

配置文件位置

/usr/local/zookeeper/conf/zoo.cfg 
  • 1
  • 1

注意:默认配置文件并没有,直有一个案例文件 zoo_sample.cfg
使用的时候要 自行复制一个

cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
  • 1
  • 1

1.2.源码编译安装zookeeper

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

tar -zxf zookeeper-3.4.9.tar.gz
cd zookeeper-3.4.9/src/c
./configure -prefix=/usr/local/zookeeper/zookeeper-3.4.9/
make && make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

设置全局变量

vim ~/.bash_profile
  • 1
  • 1

最后一行加入

export PATH=/usr/local/zookeeper/zookeeper-3.4.9/bin:$PATH
  • 1
  • 1

使之生效

source ~/.bash_profile
  • 1
  • 1

配置文件位置

/usr/local/zookeeper/zookeeper-3.4.9/conf/zoo.cfg 
  • 1
  • 1

注意:默认配置文件并没有,直有一个案例文件 zoo_sample.cfg
使用的时候要 自行复制一个

cp /usr/local/zookeeper/zookeeper-3.4.9/conf/zoo_sample.cfg /usr/local/zookeeper/zookeeper-3.4.9/conf/zoo.cfg
  • 1
  • 1

2.安装php zookeeper扩展

wget http://pecl.php.net/get/zookeeper-0.2.2.tgz
tar -zxvf zookeeper-0.2.2.tgz
cd zookeeper-0.2.2
phpize
./configure -with-php-config=/www/lanmps/php5.6.23/bin/php-config -with-libzookeeper-dir=/usr/local/zookeeper/zookeeper-3.4.9/
make && make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注意:phpize 为你的PHP版本目录的 phpize

注意最新版kafka请使用7(3和4PASS)

3.安装librdkafka

wget https://github.com/edenhill/librdkafka/archive/master.zip
mv master.zip librdkafka-master.zip
unzip librdkafka-master.zip
cd librdkafka-master
./configure
make
make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.安装php-kafka扩展

wget https://github.com/EVODelavega/phpkafka/archive/master.zip
mv master.zip phpkafka-master.zip
unzip phpkafka-master.zip
cd phpkafka-master
phpize
./configure --enable-kafka --with-php-config=/www/lanmps/php5.6.23/bin/php-config
make #编译
make install #安装
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

注意:phpize 为你的PHP版本目录的 phpize

5.配置扩展

编辑PHP配置文件

vim php.ini
  • 1
  • 1

末尾增加

extension=zookeeper.so
extension=kafka.so
  • 1
  • 2
  • 1
  • 2

注意:先查找 extension_dir 是否已经配置过,如果没有配置,请自行配置。
每个扩展编译安装成功后都会输出(类似如下)

Installing shared extensions:     /安装目录/php5.6.23/lib/php/extensions/no-debug-non-zts-20131226/ 
  • 1
  • 1

只要把地址复制,改成如下格式,加入到php.ini里

extension_dir=/安装目录/php5.6.23/lib/php/extensions/no-debug-non-zts-20131226/
  • 1
  • 1

6.查看是否安装完成


phpinfo();
里面查看
是否有 kafka,zookeeper 扩展,如果有表示安装成功

7.PHP-kafka扩展(3和4安装完成后无法使用时)

https://github.com/nmred/kafka-php
使用此扩展,支持最新版kafka
这里使用composer安装的,以下是示例(example文件夹下):

producer.php

<?php
require 'vendor/autoload.php'; $part = mt_rand(0, 1);
$produce = \Kafka\Produce::getInstance('localhost:2181', 3000);
// get available partitions
$partitions = $produce->getAvailablePartitions('topic_name');
var_dump($partitions);
// send message
$produce->setRequireAck(-1);
$produce->setMessages('topic_name', 0, array(date('Y-m-d H:i:s'));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

consumer.php

require 'vendor/autoload.php';

$consumer = \Kafka\Consumer::getInstance('localhost:2181');
$group = 'topic_name';
$consumer->setGroup($group);
$consumer->setFromOffset(true);
$consumer->setTopic('topic_name', 0);
$consumer->setMaxBytes(102400);
$result = $consumer->fetch();
print_r($result);
foreach ($result as $topicName => $partition) {
foreach ($partition as $partId => $messageSet) {
var_dump($partition->getHighOffset());
foreach ($messageSet as $message) {
var_dump((string)$message);
}
var_dump($partition->getMessageOffset());
}
}
 

zookeeper和PHP zookeeper和kafka 扩展安装的更多相关文章

  1. centos php Zookeeper kafka扩展安装

    如题,系统架构升级引入消息机制,php 安装还是挺麻烦的,网上各种文章有的东拼西凑这里记录下来做个备忘,有需要的同学可以自行参考安装亲测可行 1 zookeeper扩展安装 1.安装zookeeper ...

  2. Kafka单机安装Version1.0.1(自带Zookeeper)

    1.说明 Kafka单机安装,基于版本1.0.1, 使用kafka_2.12-1.0.1.tgz安装包, 其中2.12是编译工具Scala的版本. 而且不需要另外安装Zookeeper服务, 使用Ka ...

  3. linux 下安装 php kafka 扩展

    我们使用官方推荐 php kafka 扩展 phpkafka,由于该扩展是基于 librdkafka 开发,所以我们首先需要安装 librdkafka 下载地址:http://kafka.apache ...

  4. 【Zookeeper系列】ZooKeeper安装配置(转)

    原文链接:https://www.cnblogs.com/sunddenly/p/4018459.html 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪 ...

  5. 【Hadoop 分布式部署 八:分布式协作框架Zookeeper架构功能讲解 及本地模式安装部署和命令使用 】

    What  is  Zookeeper 是一个开源的分布式的,为分布式应用提供协作服务的Apache项目 提供一个简单的原语集合,以便与分布式应用可以在他之上构建更高层次的同步服务 设计非常简单易于编 ...

  6. Zookeeper - 什么是Zookeeper,以及zookeeper的安装(1)

    Zookeeper 什么是Zookeeper? 官网传送门 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的 ...

  7. zookeeper学习(2)----zookeeper和kafka的关系

    转载: Zookeeper 在 Kafka 中的作用 leader 选举 和 follower 信息同步 如上图所示,kafaka集群的 broker,和 Consumer 都需要连接 Zookeep ...

  8. php在windows上安装kafka扩展

    一.下载kafka扩展包 链接:https://pecl.php.net/package/rdkafka 二.解压安装包 三.修改php.ini 复制librdkafka.dll 到php\php7. ...

  9. kafka 的安装部署

    Kafka 的简介: Kafka 是一款分布式消息发布和订阅系统,具有高性能.高吞吐量的特点而被广泛应用与大数据传输场景.它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Ap ...

随机推荐

  1. javascript this(上)

    javascript的this指向的是一个函数运行时动态绑定对象. this的4种常见的指向: 作为对象的方法调用 var obj={ name:"姚小白", getName:fu ...

  2. IEEE1588 verision 2 报文介绍

    PTP 报文 PTP verision 2 报文是由 报头 / header,主体 / body 和 报尾 / suffix 组成,报尾长度可能为 0 ; PTP verision 2 报文在 ver ...

  3. 【Docker】第一篇 Docker的初始化安装部署

    一.Docker基础 Dacker倡导的理念:一个容器一个进程 Docker的版本了解: Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人 ...

  4. 欧拉筛——$O(n)$复杂度的质数筛法

    欧拉筛法可以以\(O(n)\)的时间,空间复杂度求出\(1-n\)范围内的所有质数. 其核心思想是每个合数仅会被其最小的质因数筛去一次. See this website for more detai ...

  5. bootstrap table的展开行问题

    照着网上与api里说的添加detailView属性设置为true,detailFormatter属性为展开后的内容,但是设置之后发现,在表格每一行最前面是多出一列正常该显示"+"的 ...

  6. 使用switchPage.js插件jQuery全屏滚动翻页

    1. 先引入jquery.js,再引入switchPage.js 文件地址:点击打开链接 <script src="jquery.min.js"></script ...

  7. 对Largest函数的测试

    题目:查找list[]中的最大值:int Largest(int list[], int length); int Largest(int list[], int length) { int i,ma ...

  8. 计算机网络的服务质量(QoS)

    QoS入门,为了进一步学习DPDK上的QoS <计算机网络的服务质量(QoS)> 林闯,单志广,任丰原 著 Background Internet的传统分组交换网络是面向非实时数据通信而设 ...

  9. Fast Packet Processing - A Survey

    笔记是边读边写的旁注,比较乱,没有整理就丢上来了. 可以说不仅要说fast packet process servey,也同时是一篇packet process的综述了.packet processi ...

  10. python learning Regular Expression.py

    # 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索.替换那些符合某个模式(规 ...