kafka部署模式

来源:互联网 发布:mac系统切换输入法 编辑:程序博客网 时间:2024/06/01 23:11
1)单broker模式
2)单机多broker模式 (伪集群)
3)多机多broker模式 (真正的集群模式)
第一种单broker模式
    1.下载Kafka:http://kafka.apache.org/downloads.html
    2. 解压Kafka:tar xvf  kafka_2.9.1-0.8.2.1.tgz  解压到/usr/local
    3. 修改配置文件:
                config/zookeeper.properties
                        1)dataDir=/usr/local/kafka/tmp/zookeeper/
                        2)clientPort=2181
                config/server.properties
                        1)log.dirs=/usr/local/kafka/tmp/kafka-logs
    4. 启动服务
                1)启动zookeeper服务
                        bin/zookeeper-server-start.sh  config/zookeeper.properties > tmp/zookeeper.log  2>&1 &
                2)启动kafka服务
                         bin/kafka-server-start.sh  config/server.properties > tmp/kafka.log  2>&1 &
                3)查看启动是否成功     jps
                        
 
    5. Topic
            1)创建主题(test),一个分区、一个副本
                    bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1  --partitions  1  --topic   test
            2)查看所有topic
                    bin/kafka-topics.sh  --list  --zookeeper  localhost:2181
            3)查看一个主题(test)详情
                    bin/kafka-topics.sh  --describe --zookeeper localhost:2181  --topic test
                    test主题和mall主题详情: 第一行是所有Partition的总结。后面的行是每个partition一行。   
            
            4)删除主题
                    bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic test --zookeeper localhost:2181
    6.创建生产者
            bin/kafka-console-producer.sh --broker-list localhost:9092  --topic test
    7.创建消费者
            bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test  --from-beginning 
第二种单机多broker模式   
        1. 修改配置文件:
                config/zookeeper.properties(和第一种一样)
                config/server.properties,复制一个server1.properties和server2.properties
                修改server1.properties
                        1)broker.id=1
                        2)port=9093
                        3)log.dirs=/usr/local/kafka/tmp/kafka1-logs
                修改server2.properties
                        1)broker.id=2
                        2)port=9094
                        3)log.dirs=/usr/local/kafka/tmp/kafka2-logs
         2. 启动服务
                1)启动zookeeper服务
                        bin/zookeeper-server-start.sh  config/zookeeper.properties > tmp/zookeeper.log  2>&1 &
                2)启动kafka服务
                         bin/kafka-server-start.sh  config/server.properties > tmp/kafka.log  2>&1 &
                         bin/kafka-server-start.sh  config/server1.properties > tmp/kafka1.log  2>&1 &
                         bin/kafka-server-start.sh  config/server2.properties > tmp/kafka2.log  2>&1 &
                3)查看启动是否成功     jps
                        
第三种多机多broker模式
        主机列表为:192.168.30.104、192.168.30.105、192.168.30.106
        1. 修改配置文件:
                config/zookeeper.properties
                        1)dataDir=/usr/local/kafka/data
                        2)tickTime=2000
                        3)initLimit=5
                        4)syncLimit=2
                        5)zookeeper主机列表清单
                            server.104=192.168.30.104:2888:3888
                            server.105=192.168.30.105:2888:3888
                            server.106=192.168.30.106:2888:3888
                             
 
                        需要在/usr/local/kafka/data/中新建myid文件,
                            192.168.30.104主机内容为104
                            192.168.30.105主机内容为105
                            192.168.30.106主机内容为106
 
                config/server.properties,复制一个server1.properties和server2.properties
                修改server1.properties
                        1)broker.id=***
                            192.168.30.104主机内容为104
                            192.168.30.105主机内容为105
                            192.168.30.106主机内容为106
                        2)host.name=192.168.30.106
                            192.168.30.104主机内容为192.168.30.104
                            192.168.30.105主机内容为192.168.30.105
                            192.168.30.106主机内容为192.168.30.106
                        3)log.dirs=/usr/local/kafka/tmp/kafka-logs
                        4)num.partitions=2
                        5)zookeeper.connect=192.168.30.104:2181,192.168.30.105:2181,192.168.30.106:2181
             
         2. 启动服务
                1)启动zookeeper服务(依次启动3台主机)
                        bin/zookeeper-server-start.sh  config/zookeeper.properties > tmp/zookeeper.log  2>&1 &
                2)启动kafka服务(依次启动3台主机)
                         bin/kafka-server-start.sh  config/server.properties > tmp/kafka.log  2>&1 &
                3)查看启动是否成功     jps
 
        3. Topic
             1)创建主题(test),2个分区、3个副本
                    bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3  --partitions  2  --topic   mall