ZK安装及kafka基本运行小结
来源:互联网 发布:php apache forbidden 编辑:程序博客网 时间:2024/06/13 17:54
ZK安装及kafka基本运行小结
Sec.1 安装前置
系统版本:Centos 6.5
用户:Cccola
ip:192.168.69.135
Java 配置
JDK 1.8.0_65~/.bash_profileexport JAVA_HOME=/home/Cccola/jdk1.8.0_65export PATH=$JAVA_HOME/binexport CLASSPATH=,:$JAVA_HOME/lib/dt.jar:%JAVA_HOME/lib/tools.jar
Sec.2 安装Zookeeper
版本:Zookeeper3.4.6
1.解压ZK
2.ZK单机版配置
conf/zoo.cfg
# set data directory where the snapshot is stored.dataDir=/home/Cccola/zookeeper-3.3.6/data# set logsdataLogDir=/home/Cccola/zookeeper-3.3.6/logs# set serverserver.1=localhost:4887:5887
server.2 3可用于多机配置
3.启动Zookeeper
修改bin下执行权限
su rootchmod +x bin/*
启动命令
bin/zkServer.sh start查看运行状态参数 status关闭参数 stop重启参数 restart
本机启动Linux下客户端
bin/zkCli.sh -sever 192.168.69.135
Sec.3 kafka初探
3.1安装与配置
kafka版本:2.9.2-0.8.1.1
配置文件 conf/server.properties
broker.id=0host.name=192.168.69.135zookeeper.connect=192.168.69.135:2181
kafka运行
sbin/startkafka.sh
检查是否运行成功
Sec.4 kafka运行机制及初次尝试运行
kafak的运行方式包括如下模块
Producer:向kafka发送消息的客户端。
Consumer:从kafka获取消息的客户端。
Topic:消息队列。
Broker:一台kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以容纳多个topic。
Partition:为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上。kafka只保证按一个partition中的顺序将消息发给consumer,不保证一个topic的整体(多个partition间)的顺序。
4.1建立Topic及P&C通信
建立topic
bin/kafka-topic.sh --create --zookeeper 192.168.69.135:2181 --replication-factor 1 --partition 1 --topic topic-name/*参数解释:--replication 副本--partition 创建分区数目--topic 话题名*/
建立producer在Topic中的客户端
bin/kafka-console-producer --broker-list 192.168.69.135:9092 --topic topic-name
建立consumer在Topic中的客户端
bin/kafka-console-producer --zookeeper 192.168.69.135:2181 --topic topic-name
建立成功后可以在producer的命令行中输入消息,在consumer中可以显示producer发出的消息
4.2 Producer中运行shell脚本
实现思想:通过linux管道将脚本运行的结果导入Topic中,在consumer中便可以进行处理
示例:
shelllogger.sh
#!/bin/sh# start cmd:# nohup sh shellcrawler.sh >> shellcrawler.log 2>&1 &# set timerg_getTime=""function getTime{ g_getTime=`date '+%Y%m%d %H:%M:%S'`}#getTime && echo "[$g_getTime] [$0:$LINENO:$FUNCNAME] - "# set functionfunction crawler { int=1 while(( $int<=1000000000 )) do log="INSERT INTO test(user,content) VALUES('Cccola.w','hello world');" let "int++" echo $log >> access.log sleep 1s #usleep 1000 done} # main crawler
启动脚本生成文件 access.log
nohup sh shelllogger.sh &
在producer端将access.log导入Topic
nohup tail -f /home/Cccola/storm/access.log | bin/kafka-console-producer.sh --broker-list 192.168.69.135:9092 --topic topic-name >logs/producer.log 2>&1 &
在consumer端便可接收到producer提供的信息
- ZK安装及kafka基本运行小结
- storm集群安装及zk集群安装
- Windows安装运行Kafka
- Windows安装运行Kafka
- kafka与ZK
- zk+kafka集群
- kafka、zk集群一
- kafka、zk集群二
- 安装kafka以及kafka的简单运行
- zk安装
- kafka安装及使用
- Kafka安装及部署
- Kafka安装及部署
- Kafka安装及部署
- kafka安装及部署
- kafka安装及测试
- kafka安装及命令
- kafka安装及应用
- iOS 定位
- iOS 本地缓存 归档数据模型化
- iOS-获取的NSDate date时间与实际相差8个小时解决方案
- HDU1754 线段树 单点修改 最大值(基础题)
- eclipse打包maven工程文件提示找不到tools.jar的解决办法
- ZK安装及kafka基本运行小结
- improving sql server performance
- java Iterable and for each
- iOS-字符串转化成NSDate类型 计算与当前时间的相差 月数 天数
- java中的多线程包--- Executor详细介绍 打造基于Executor的Web服务器
- Apache问题解决:httpd: Could not reliably determine the server's fully qualified domain name
- 分类/目标识别
- Design guidelines for application performance
- 单链表的操作和2种反转方法