v5tech / notes

notes
https://ameizi.gitee.io/notes
MIT License
1.52k stars 378 forks source link

kafka集群搭建 #119

Open v5tech opened 8 years ago

v5tech commented 8 years ago

kafka集群搭建

1、zookeeper集群搭建

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/ubuntu/apps/zookeeper-3.4.7/data
clientPort=2181

server.1=s1:2888:3888
server.2=s2:2888:3888
server.3=s3:2888:3888

分别在s1、s2、s3三台主机的dataDir目录下创建myid文件,其内容为分别为1、2、3

2、启动zookeeper集群

zkServer.sh start
zkServer.sh status

3、kafka核心配置文件(三台机器)

主机s1中的server.properties文件

broker.id=0
host.name=s1
zookeeper.connect=s1:2181,s2:2181,s3:2181

主机s2中的server.properties文件

broker.id=1
host.name=s2
zookeeper.connect=s1:2181,s2:2181,s3:2181

主机s3中的server.properties文件

broker.id=2
host.name=s3
zookeeper.connect=s1:2181,s2:2181,s3:2181

请确保每台kafka配置文件中的broker.id唯一。zookeeper.connect参数为zookeeper集群的主机地址及端口号。 host.name为ip或hosts文件中ip与主机地址之间的映射名。程序代码中必须用host.name指定的值否则客户端代码连接报错

4、启动kafka集群

分别在三台kafka主机上启动kafka server

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

5、在集群环境中创建topic

kafka-topics.sh --create --zookeeper s1:2181 --replication-factor 3 --partitions 1 --topic kafka-storm

6、查看集群环境中创建的topic

kafka-topics.sh --list --zookeeper s1:2181

7、查看集群环境中指定topic的describe

kafka-topics.sh --describe --zookeeper s1:2181 --topic kafka-storm
Topic:kafka-storm   PartitionCount:1    ReplicationFactor:3 Configs:
    Topic: kafka-storm  Partition: 0    Leader: 1   Replicas: 1,2,0 Isr: 1,2,0

8、创建一个终端producer(生产者)

kafka-console-producer.sh --broker-list s1:9092 --topic kafka-storm

9、创建一个终端consumer(消费者)

kafka-console-consumer.sh --zookeeper s1:2181 --from-beginning --topic kafka-storm

注:--from-beginning将每次从头开始读消息。不加该参数则只获取最新发送的消息。