前提:kafka作为分布式消息的一款中间件,安装过程比较复杂,这里记录一下。它依赖zk作为协调服务,所以不会装zk的,请移步上一篇文章吧!
下面是详细的步骤!
 
1、找到压缩包,名称为kafka_2.10-0.10.2.0.tgz
2、上传到ewallet目录下
3、解压缩。tar-xzvf XXX.tar  解压后会有这些目录 bin  config  libs  LICENSE  logs  NOTICE  site-docs 
4、进入config下面,如果只是起服务,那么只要修改server.properties就行。其他consumer和producer就都没事的。
5、如果想起多个节点的,那么把server.properties复制两个 名字为server1和 server2两个。
6、server下有几个更改的:
  •   brokerid=0  这个每个配置里不一样,从0开始递增即可。
  •       加上端口,不加的一般是默认的。配置多个节点的时候,要加上这个配置,不同的节点不同的端口
#listeners=PLAINTEXT://:9092
port=9091
  • 修改zookeeper的部署地址,可以在本机的zk,也可以是其他机器上的 zookeeper.connect=10.165.125.47:2181

7、如果要起消费者或者把生产者也修改配置,注意消费者跟着server,要置nbootstrap.servers=localhost:9092,消费者跟着zk,其他不修改,这个配置了就代表可以用consumer.sh去测试消费消息了

8、进入bin目录下,开始启动

/home/kafka/bin/kafka-server-start.sh -daemon /home/kafka/bin/config/server2.properties
/home/kafka/bin/kafka-server-start.sh -daemon /home/kafka/bin/config/server1.properties

9、这样的启动不展示日志,可以ps一下看看是否服务是否存在。服务建好了 那么接下来要建queue了。

/bin/kafka-topics.sh --create --zookeeper XXX:port --replication-factor 1 --partitions 4 --topic xxx

–partitions指定分区数,这个参数需要根据broker数和数据量决定,正常情况下,每个broker上两个partition最好; 
–replication-factor指定partition的replicas数,建议设置为2; 代表的是副本数。

10、查看所有queue

/bin/kafka-topics.sh --list --zookeeper xxx:port 

 

11、查看所有queue状态,这个可以查看这个队列的分区情况,注意,分区数非常重要!!下图表示只有1个分区。

bin/kafka-topics.sh --zookeeper XXXXX:2181 --topic "testtest" --describe

 

12、如果此时,消费者的数量为2,但是如上,分区只有1,那么就会有其他消费者收不到消息,所以这时候需要给topic增加分区

bin/kafka-topics.sh --zookeeper XXXXX:2181 --alter --topic testtest --partitions 2

这样子 就代表分区创建成功啦!所以,这里就意味着在创建队列的时候,千万记得要设置好正确的分区数,不然就会和目标适得其反。

 

 

 

posted on 2017-05-16 19:44  烦恼你就多看书  阅读(193)  评论(0编辑  收藏  举报