zookeeper和PHP zookeeper和kafka 扩展安装
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 扩展安装的更多相关文章
- centos php Zookeeper kafka扩展安装
如题,系统架构升级引入消息机制,php 安装还是挺麻烦的,网上各种文章有的东拼西凑这里记录下来做个备忘,有需要的同学可以自行参考安装亲测可行 1 zookeeper扩展安装 1.安装zookeeper ...
- Kafka单机安装Version1.0.1(自带Zookeeper)
1.说明 Kafka单机安装,基于版本1.0.1, 使用kafka_2.12-1.0.1.tgz安装包, 其中2.12是编译工具Scala的版本. 而且不需要另外安装Zookeeper服务, 使用Ka ...
- linux 下安装 php kafka 扩展
我们使用官方推荐 php kafka 扩展 phpkafka,由于该扩展是基于 librdkafka 开发,所以我们首先需要安装 librdkafka 下载地址:http://kafka.apache ...
- 【Zookeeper系列】ZooKeeper安装配置(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4018459.html 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪 ...
- 【Hadoop 分布式部署 八:分布式协作框架Zookeeper架构功能讲解 及本地模式安装部署和命令使用 】
What is Zookeeper 是一个开源的分布式的,为分布式应用提供协作服务的Apache项目 提供一个简单的原语集合,以便与分布式应用可以在他之上构建更高层次的同步服务 设计非常简单易于编 ...
- Zookeeper - 什么是Zookeeper,以及zookeeper的安装(1)
Zookeeper 什么是Zookeeper? 官网传送门 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的 ...
- zookeeper学习(2)----zookeeper和kafka的关系
转载: Zookeeper 在 Kafka 中的作用 leader 选举 和 follower 信息同步 如上图所示,kafaka集群的 broker,和 Consumer 都需要连接 Zookeep ...
- php在windows上安装kafka扩展
一.下载kafka扩展包 链接:https://pecl.php.net/package/rdkafka 二.解压安装包 三.修改php.ini 复制librdkafka.dll 到php\php7. ...
- kafka 的安装部署
Kafka 的简介: Kafka 是一款分布式消息发布和订阅系统,具有高性能.高吞吐量的特点而被广泛应用与大数据传输场景.它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Ap ...
随机推荐
- 【Skynet】Traceback汇总
error: ./skynet/lualib/skynet.lua:534: ./skynet/lualib/skynet.lua:156: ./logic/gate/socket_msg.lua:5 ...
- 2018NOIP爆0记第二弹之day1
出门进了电梯 白底黑字的告示上只有一句话 善待你一生. 湖上的白天鹅和白鹭远远厮混成一点,抱着玻璃杯里装着的小菊花,又慢悠悠溜达去了实验楼. t1 原本写过原题,结果考场上死去活来也只搞出了个nlog ...
- Flink HA
standalone 模式的高可用 部署 flink 使用zookeeper协调多个运行的jobmanager,所以要启用flink HA 你需要把高可用模式设置成zookeeper,配置zookee ...
- 搭建Harbor私有镜像仓库--v1.5.1
搭建Harbor私有镜像仓库--v1.5.1 1.介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境 ...
- Discuz3.3精仿小米风格整站模板制作——1、新建模板方案
术语说明: 模板——模板是一堆按照规定命名方式的html文件,用于指定整个论坛不同页面的外观. 标签——标签和模板共同作用以实现论坛换肤功能,其中标签主要控制页面显示什么数据,显示多少条等. 风格—— ...
- day12生成器
迭代器 __iter__() 获取迭代器 __next__() 下一个 生成器 本质就是迭代器 两种方式写生成器 1. 生成器函数 2. 生成器表达式 生成器函数 函数内部有yield. yield返 ...
- Bing词典vs有道词典比对测试报告——体验篇之软件适应性
联网情况: 在联网情况下,针对每一次查询,有道词典的反应速度明显比必应词典快得多.据我推测有以下两个原因: 有道词典有本地词库而必应词典更多依赖联网. 有道词典的服务器在国内而必应的在国外. 断网情况 ...
- 《Spring2之站立会议8》
<Spring2之站立会议8> 昨天,添加了登录界面: 今天,准备添加注册界面: 遇到的问题:过程中遇到了一些困难,不过还是解决了.
- 【图论】POJ-3169 差分约束系统
一.题目 Description Like everyone else, cows like to stand close to their friends when queuing for feed ...
- JAVA学习IO(1)
面向过程和面向对象的区别:面向过程:把问题分析成一个一个步骤组成的过程面向对象:从一个问题中分析出各个功能对象,并描述各个功能在整个解决问题的步骤的行为.面向对象的3大特征:封装,继承,多态封装:把多 ...