@yangsp1
2016-07-27T01:55:47.000000Z
字数 3168
阅读 2944
房源业务
最好的集成环境搭建文章:
本文档完全临摹自此文章
抄一遍:本搭建环境基于zookeeper 3.4.6,和kafka 0.10.0.0
kafka集群依赖zookeeper,因此需要先安装zookeeper;
不过kafka本身也集也了zookeeper,但最好不要使用自带的。
房源测试服务器上:10.8.1.160/home/fangyuang/kafka
钥匙箱测试服务器上:10.8.1.93/home/tomcat/kafka
每台机器都有以下操作(或配置一台,复制到其它机器)
已存在,不需要安装
cd /home/fangyuanmkdir kafka #与kafka相关的根目录cd /home/fangyuan/kafkamkdir zookeeper #zookeeper项目目录cd /home/fangyuan/kafka/zookeepermkdir zkdata #存放快照日志mkdir zkdatalog#存放事物日志下载软件cd /home/fangyuan/kafka/zookeeperwget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz解压软件tar -zxvf zookeeper-3.4.6.tar.gz
cd /home/fangyuan/kafka/zookeeper/zookeeper-3.4.6/confzoo_sample.cfg这个文件是官方给我们的zookeeper的样板文件,给他复制一份命名为zoo.cfg,zoo.cfg是官方指定的文件命名规则。复制文件:cp zoo_sample.cfg zoo.cfg打开文件:vi zoo.cfg配置:tickTime=2000initLimit=10syncLimit=5dataDir=/home/fangyuan/kafka/zookeeper/zkdatadataLogDir=/home/fangyuan/kafka/zookeeper/zkdatalogclientPort=12181server.1=10.8.1.93:12888:13888server.2=10.8.1.160:12888:13888server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里192.168.7.107为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888创建myid文件在10.8.1.160上创建如下,让zookeeper知道自己在哪台机器上(类型域名,通过个面的serve.1找到对应的ip)echo "1" > /home/fangyuan/kafka/zookeeper/zkdata/myid在10.8.1.93上创建93上的myid
进入到Zookeeper的bin目录下cd /home/fangyuan/kafka/zookeeper/zookeeper-3.4.6/bin启动服务(3台都需要操作)./zkServer.sh start检查服务器状态./zkServer.sh status显示如下:(如果Mode显示,等一会儿,重新执行status命令,有可能zookeeper还没完全启动)JMX enabled by defaultUsing config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower #他是否为领导执行jps,查看进程,如果显示zookeeper则说明启动成功
1、linux一台或多台,大于等于2
2、已经搭建好的zookeeper集群
3、软件版本kafka_2.11-0.10.0.0.tgz
2、创建目录并下载安装软件
cd /home/fangyuang/kafkamkdir kafka #创建项目目录cd kafkamkdir kafkalogs #创建kafka消息目录,主要存放kafka消息
wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz解压软件tar -zxvf kafka_2.11-0.10.0.0.tgz
#进入config目录cd /home/fangyuang/kafka/kafka/kafka_2.11-0.10.0.0/config/#打开配置文件vi server.properties#修改配置文件#broker.id=0 注释掉,每台服务器的broker.id都不能相同,#hostname 本机iphost.name=10.8.1.160port=19092 #不指定默认是9092#在log.retention.hours=168 下面新增下面三项message.max.byte=5242880default.replication.factor=2replica.fetch.max.bytes=5242880#设置zookeeper的连接端口zookeeper.connect=10.8.1.160:12181,10.8.1.93:12181
从后台启动Kafka集群(3台都需要启动)cd /home/fangyuang/kafka/kafka/kafka_2.11-0.10.0.0/bin./kafka-server-start.sh -daemon ../config/server.properties检查服务是否启动,如果显示kafka进程即启动成功运行:> jps
创建Topic来验证是否创建成功创建Topic./kafka-topics.sh --create --zookeeper 10.8.1.160:12181 --replication-factor 2 --partitions 1 --topic my-topic解释--replication-factor 2 #复制两份--partitions 1 #创建1个分区--topic #主题为my-topic-- ip??在一台服务器上创建一个发布者创建一个broker,发布者(ip??,端口??)./kafka-console-producer.sh --broker-list 10.8.1.160:19092 --topic my-topic此时:console处于阻塞状态,可以直接输入数据。在一台服务器上创建一个订阅者./kafka-console-consumer.sh --zookeeper localhost:12181 --topic my-topic --from-beginning此时:一旦有数据生成,此处的console中会显示数据
KafkaOffsetMonitor
http://www.cnblogs.com/yinchengzhe/p/5123515.html