2. kafka 在centos7上的安装
2.1 因为kafka是使用zookeeper保存相关的配置信息的,kafka以及zookeeper依赖于java运行环境,先进行java的JDK环境安装
因为centos7上游jdk1.8环境,所以无需安装配置java
2.2 安装zookeeper
1)官网下载最新版的zookeeper:http://zookeeper.apache.org/releases.html
2)解压文件,并在文件下创建data目录
1 | tar -zxf zookeeper-3.4.6.tar.gz |
3)自行创建zookeeper的启动配置文件:conf/zoo.cfg
1 | tickTime=2000 |
4)zookeeper命令:
1 | bin/zkServer.sh start // 启动zookeeper server |
2.3 安装kafka
1)官网下载kafka的安装包:https://www.apache.org/dyn/closer.cgi?path=/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz
2)解压下载包:
1 | tar -zxf kafka_2.11.0.9.0.0 tar.gz |
3)kafka命令:
1 | bin/kafka-server-start.sh config/server.properties // 启动服务 |
2.4 kafka基本操作
1)topic 操作
1.1)创建
1 | bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic-name |
1.2)修改
1 | bin/kafka-topics.sh —zookeeper localhost:2181 --alter --topic topic_name --parti-tions count |
1.3)删除
1 | bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic topic_name |
2)获取kafka服务器中的topic列表
1 | bin/kafka-topics.sh --list --zookeeper localhost:2181 |
3)启动kafka生产者以发送消息
1 | bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topic-name |
启动之后,生产者将等待来自stdin的输入,并发送到kafka集群。默认情况下,每个新行都作为消息发布,然后在”config/producer.properties”文件中指定默认生产者属性。
4)启动kafka消费者以获得消息
1 | bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic topic-name --from-beginning |
5)单节点多代理配置
创建多个kafka broker
在config下新建多个 server.properties,修改下面的id、prot和logdir
1
2
3
4
5
6 # The id of the broker. This must be set to a unique integer for each broker.
broker.id=1
# The port the socket server listens on
port=9093
# A comma seperated list of directories under which to store log files
log.dirs=/tmp/kafka-logs-1
然后根据配置文件启动他们
1 bin/kafka-server-start.sh config/server.properties