搭建kafka集群 三台服务器
1、下载kafka
下载路径:http://kafka.apache.org/downloads
2、上传tar包 ,解压 kafka_2.10-0.10.2.1.tgz
tar -zxvf kafka_2.10-0.10.2.1.tgz -C /usr/local/modules/
3、修改配置文件 conf/server.properties
vim server.properties
#修改的内容
broker.id=1
host.name=spark1
log.dirs=/usr/local/modules/kafka_2.10-0.10.2.1/data/kafka
zookeeper.connect=spark1:2181,spark2:2181,spark3:2181
4、将配置好的kakfa 分发到 另外两台服务器
scp -r kafka_2.10-0.10.2.1/ hadoop@spark2:/usr/local/modules/
scp -r kafka_2.10-0.10.2.1/ hadoop@spark3:/usr/local/modules/
5、修改另外两台服务器的broker.id和host.name
spark2
broker.id=2
host.name=spark2
spark3
broker.id=3
host.name=spark3
6、启动kafka 前提zookeeper已经启动
启动kafka (三台)
[hadoop@spark1 kafka]$ bin/kafka-server-start.sh -daemon ./config/server.properties
7、kafka相关
#启动kafka
bin/kafka-server-start.sh -daemon ./config/server.properties
#查看topic 列表 信息
bin/kafka-topics.sh --list --zookeeper spark:2181
#创建topic
/bigdata/kafka_2.11-0.8.2.2/bin/kafka-topics.sh --create --zookeeper node-1:2181,node-2:2181 --replication-factor 3 --partitions 3 --topic xiaoniu
#往Kafka的topic中写入数据(命令行的生成者)
/bigdata/kafka_2.11-0.8.2.2/bin/kafka-console-producer.sh --broker-list node-4:9092,node-5:9092,node-5:9092 --topic xiaoniu
#启动消费者
bin/kafka-console-consumer.sh --zookeeper spark:2181 --topic testFlume2 --from-beginning
#查看topic的详情
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic lx_test_topic --describ
#Topic信息修改
bin/kafka-topics.sh --zookeeper 192.168.187.146:2181 --alter --topic test0 --config max.message.bytes=128000
bin/kafka-topics.sh --zookeeper 192.168.187.146:2181 --alter --topic test0 --delete-config max.message.bytes
bin/kafka-topics.sh --zookeeper 192.168.187.146:2181 --alter --topic test0 --partitions 10
bin/kafka-topics.sh --zookeeper 192.168.187.146:2181 --alter --topic test0 --partitions 3 ## Kafka分区数量只允许增加,不允许减少
9、删除kafkatopic
默认情况下kafka的topic是没法直接删除的,需要进行相关参数的配置
bin/kafka-topics.sh --delete --topic test0 --zookeeper 192.168.187.146:2181
Note: This will have no impact if delete.topic.enable is not set to true.## 默认情况下,删除是标记删除,没有实际删除这个Topic;
如果运行删除Topic,两种方式:
方式一:通过delete命令删除后,手动将本地磁盘以及zk上的相关topic的信息删除即可
(1)登录zookeeper客户端的命令:
zookeeper/bin/zkCli.sh
(2)找到topic所在的目录:
ls /brokers/topics
(3)找到要删除的topic,执行如下命令即可,此时topic被彻底删除:
rmr /brokers/topics/topic名称
方式二:配置server.properties文件,给定参数delete.topic.enable=true,重启kafka服务,此时执行delete命令表示允许进行Topic的删除