您的位置:首页 > 其它

Kafka系列1----Kafka安装与相关命令

2016-12-07 15:56 344 查看

单节点KAFKA安装
解压Kafka

运行zookeeper(必须)
运行zookeeper

修改kafka配置文件

broker.id=0
port=9092
log.dir=/tmp/kafka-logs-0
zookeeper.connect=192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181

运行 kafka(必须)

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

KAFKA集群安装

安装kafka集群

cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties

server-1.properties 修改如下内容

broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1

server-2.properties 修改如下内容

broker.id=2
port=9094
log.dir=/tmp/kafka-logs-2

启动节点

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

测试集群环境中kafka副本与分区

创建拥有三个副本的topic

kafka-topics.sh --create --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --replication-factor 3 --partitions 3 --topic my-replicated

查看每个节点的信息

kafka-topics.sh --describe --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181:2181 --topic my-replicated

    Topic: my-replicated    Partition: 0    Leader: 2    Replicas: 2,0,1    Isr: 2,0,1
    Topic: my-replicated    Partition: 1    Leader: 0    Replicas: 0,1,2    Isr: 0,1,2
    Topic: my-replicated    Partition: 2    Leader: 1    Replicas: 1,2,0    Isr: 1,2,0
leader:负责处理消息的读和写,leader是从所有节点中随机选择的.
replicas:列出了所有的副本节点,不管节点是否在服务中.
isr:是正在服务中的节点.

副本功能测试
我们kill 掉.Broker 0 作为lead运行

另外一个节点被选做了leader,虽然最初负责续写消息的leader down掉了,但之前的消息还是可以消费的.

Kafka的相关操作
创建topic

./kafka-topics.sh --create  --zookeeper  192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --replication-factor 1 --partitions 1 --topic gj

./kafka-topics.sh --create  --zookeeper  192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --replication-factor 1 --partitions 1 --topic gj

查看目前拥有的topic

./kafka-topics.sh --list --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181

./kafka-topics.sh --describe --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --topic gj

删除topic

删除topic需要在配置文件加入   delete.topic.enable=true  否则只是对kafka的topic增加了delete标记,不会真正删除.
./kafka-topics.sh --delete --topic gj --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181

生产消息:

./kafka-console-producer.sh --broker-list 192.168.60.21:9092 --topic gj

消费消息:

./kafka-console-consumer.sh --zookeeper 192.168.60.81:2181,192.168.60.50:2181,192.168.60.82:2181 --topic gujian --from beginning
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  队列