`
wuneng94zui
  • 浏览: 34304 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

kafka部署

阅读更多

kafka 集群--3broker 3zookeeper创建实战

准备工作:

1. 准备3台机器,IP地址分别为:192.168.0.10192.168.0.11192.168.0.12

2. 下载kafka稳定版本,我的版本为:kafka_2.9.2-0.8.1.1.tgz 

3. 分别解压放入到想安装的目录下,我的目录为:/home/www 解压命令为:

tar -xzf kafka_2.9.2-0.8.1.1.tgz

搭建zookeeper集群

  1. 进入解压后的目录/home/www/kafka_2.9.2-0.8.1.1

  2. 进入config目录下,修改zookeeper.properties文件

tickTime=2000

dataDir=/data/zookeeper/

clientPort=2181

initLimit=5

syncLimit=2

server.1=192.168.0.10:2888:3888

server.2=192.168.0.11:2888:3888

server.3=192.168.0.12:2888:3888

dataDir目录/data/zookeeper/下写一个myid文件,命令如下:

echo 1 >myid

注意:这个idzookeeper的主机标示,每个主机id不同第二台是第三台是3

逐次启动3台机器的zookeeper 构成一个集群:

bin/zookeeper-server-start.sh config/zookeeper.properties &

注意:使用会打印出启动日志,但如果使用secure ssh直接退出,有可能会让zookeeper退出,建议使用命令检查一下:

netstat -apn | grep 2181

我启动的顺序是

192.168.0.10

192.168.0.11

192.168.0.12

由于ZooKeeper集群启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,所以打印出来的部分的异常是可以忽略的。集群在选出一个Leader后,最后稳定了。其他结点可能也出现类似问题,属于正常。

至此,zookeeper集群搭建完成

 

搭建kafka broker集群

进入config目录,修改server.properties

broker.id=0

port=9092

host.name=192.168.0.10

zookeeper.contact=192.168.0.10:2181,192.168.0.11:2181,192.168.0.12:2181
log.dirs=/home/www/kafka-logs

不同集群broker.id host.name 不一样,根据实际情况配置。

修改生产者配置

 broker.list=192.168.0.10.50:9092,192.168.0.11:9092,192.168.0.12:9092

 producer.type=async

修改消费者配置:

zookeeper.contact=192.168.0.10:2181,192.168.0.11:2181,192.168.0.12:2181

启动每台服务器的kafka

bin/kafka-server-start.sh config/server.properties &

测试集群

创建一个topic

bin/kafka-topics.sh --create --zookeeper 192.168.0.10:2181 --replication-factor 3 --partitions 1 --topic test-replicated-topic

查看创建的topic

bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic my-replicated-topic

Topic:test-replicated-topicPartitionCount:1ReplicationFactor:3Configs:

Topic: test-replicated-topicPartition: 0Leader: 1Replicas: 1,2,0Isr: 1,2,0

查看集群情况:

>bin/kafka-topics.sh --describe --zookeeper 192.168.0.11:2181 --topic test-replicated-topic

>bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic test-replicated-topic

发现都能看到test-replicated-topic

 

注意:使用一台机器,创建3zookeeper不同端口,3kafka 不同端口没有成功,和zookeeper集群的端口有关吧,以后会研究一下。

参考资料:

http://kafka.apache.org/documentation.html#quickstart

http://www.jonzobrist.com/2012/04/17/install-apache-kafka-and-zookeeper-on-ubuntu-10-04/

http://www.open-open.com/lib/view/open1387889827593.html

完结。

 4. 配置config/server.properties

broker.id为依次增长的:0、1、2、3、4,集群中唯一id
log.dirs设置到大硬盘路径下
num.network.threads
num.partitions ,默认分区数
num.io.threads 建议值为机器的核数;
zookeeper.connect 设置为zookeeper Servers 列表,各节点以逗号分开;

bin/kafka-topics.sh --create --zookeeper 10.187.69.193:2181,10.187.69.194:2181,10.187.69.195:2181 --replication-factor 3 --partitions 3 --topic test-replicated-topic-2

 

bin/kafka-topics.sh --describe --zookeeper 10.187.69.193:2181,10.187.69.194:2181,10.187.69.195:2181 --topic test-replicated-topic

 

bin/kafka-console-producer.sh --broker-list 10.187.69.193:9092,10.187.69.194:9092,10.187.69.195:9092 --topic test-replicated-topic-2

 

 

bin/kafka-topics.sh --list --zookeeper 10.187.69.193:2181,10.187.69.194:2181,10.187.69.195:2181

 

 

bin/kafka-console-producer.sh --broker-list 10.187.69.193:9092,10.187.69.194:9092,10.187.69.195:9092 --topic test-replicated-topic

 

bin/kafka-console-consumer.sh --zookeeper 10.187.69.193:2181,10.187.69.194:2181,10.187.69.195:2181 --from-beginning --topic test-replicated-topic

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics