kafka
简介
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
首先安装lnmp然后
先进行解压librdkafka-master并安装
unzip librdkafka-master.zip
cd librdkafka-master
./configure
make && make install
其次解压php-rdkafka-master并进行安装
unzip php-rdkafka-master.zip
cd php-rdkafka-master
安装依赖包
yum -y install autoconf
phpzie #不打这个命令不能用 ./configure 命令
./configure --with-php-config=/usr/local/php/bin/php-config --with-rdkafka
make && make test && make install
修改配置文件
ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ #查看的东西复制下来去php里面添加模块
vim /usr/local/php/php.ini
重启php
service php-fpm restart
修改主页文件
vim /usr/local/nginx/html/index.php
访问并验证
firefox 192.168.1.1/index.php
群集安装:
linkedin:kafka用于日志处理的分布式列队,支持离线和在线日志处理。
kafka是文件型存储。
offset唯一标记
Leader/follower所有读写/
每个consumer属于一个consumer group;
每个group中可以有多个consumer
Consumer group负责接收轮询写入的数据
增大访问量用一个group
如果多个进程之间的访问用多个group
消息传送机制:
At most once:最多一次无论成败不在重新发送
At least once:消息最少发送一次,如果失败,则重发
Exactly once:消息只会发送
zookeeper:
1、broker node registry:注册自己的节点信息
2、broker topic registry:注册broker中的topic和partition
3、consumer and consumer group:为了consumer负载平衡
4、consumer id registry:consumer的唯一id用来标记消费者信息
5、consumer offset registry:跟踪consumer消费的最大offset
6、partition owner registry:标记partition被哪个consumer消费
安装配置:
解压软件包并进行安装
tar -zxvf zookeeper-3.4.5.tar.gz
mv zookeeper-3.4.5 /usr/local/zookeeper
cd /usr/local/zookeeper/conf/
将模板复制为配置文件
cp -p zoo_sample.cfg zoo.cfg
cd ..
创建myid
mkdir data
echo 1 > data/myid
验证一下
cat data/myid
cd /usr/local/zookeeper/bin/
修改脚本
vim zkEnv.sh
添加:
图中化红线的进行修改
vim zkServer.sh
添加:
readlink -f 注意符号 是TAB键上面的那个点``包起来的
vim zkCli.sh
添加:
readlink -f 注意符号 是TAB键上面的那个点``包起来的
设置软链接优化路径
ln -s /usr/local/zookeeper/bin/zkServer.sh /usr/local/bin/zk-server
ln -s /usr/local/zookeeper/bin/zkCli.sh /usr/local/bin/zk-cli
启动服务
zk-server start
解压软件并安装
tar -zxvf kafka_2.9.1-0.8.2.2.tgz
cd kafka_2.9.1-0.8.2.2
将文件移动到配置文件夹
mv kafka_2.9.1-0.8.2.2 /usr/local/kafka
cd /usr/local/kafka/bin/
./kafka-server-start.sh ../config/server.properties &
然后打开一个新终端
cd /usr/local/kafka/bin/
./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning