Kafka安装手册
1.在安装Kafka集群之前,保证Zookeeper集群正常运行。
在集群每台机器的控制台上运行以下命令:
bin/zkServer.shjcd ${ZOOKEEPER_HOME} bin/zkServer.sh start |
返回结果如下,则说明Zookeeper正常启动。
2803 Jps 2782 QuorumPeerMain |
(数字代表进程ID,不重要,主要看是否有QuorumPeerMain 进程)
2、在kafka的官网上下载kafka的安装包,如kafka_2.10-0.8.2.2.tgz,然后解压缩kafka_2.10-0.8.2.2.tgz。使用以下命令:
|
3、修改配置文件/usr/local/kafka/config/server.properties,修改如下内容:
<!--[if !supportLists]-->1) <!--[endif]-->broker.id=0 <!--[if !supportLists]-->2) <!--[endif]-->zookeeper.connect=master:2181,backup:2181/kafka |
这里需要说明的是,默认Kafka会使用ZooKeeper默认的/路径,这样有关Kafka的ZooKeeper配置就会散落在根路径下面,如果你有其他的应用也在使用ZooKeeper集群,查看ZooKeeper中数据可能会不直观,所以强烈建议指定一个chroot路径,直接在 zookeeper.connect配置项中指定:
|
而且,需要手动在ZooKeeper中创建路径/kafka,使用如下命令连接到任意一台ZooKeeper服务器:
<!--[if !supportLists]-->1) <!--[endif]-->cd ${ZOOKKEEPER_HOME} <!--[if !supportLists]-->2) <!--[endif]-->bin/zkCli.sh |
在ZooKeeper执行如下命令创建chroot路径:
|
这样,每次连接Kafka集群的时候(使用--zookeeper
选项),也必须使用带chroot路径的连接字符串。然后,将配置好的安装文件同步到其他的集群节点上:例如
|
最后,在集群节点上修改配置文件kafka目录下得config/server.properties,内容如下所示:
|
因为Kafka集群需要保证各个Broker的id在整个集群中必须唯一,需要调整这个配置项的值(如果在单机上,可以通过建立多个Broker进程来模拟分布式的Kafka集群,也需要Broker的id唯一,还需要修改一些配置目录的信息)。
在集群中的每节点上分别启动Kafka,分别执行如下命令:
cd ${KAFKA_HOME}nohup bin/kafka-server-start.sh config/server.properties &cd ${KAFKA_HOME} bin/kafka-server-start.sh config/server.properties & |
可以通过查看日志,或者检查进程状态,保证Kafka集群启动成功。
常用命令
a) 创建一个名称为test的Topic,5个分区,并且复制因子为3,执行如下命令:
./bin/kafka-topics.sh -create -zookeeper backup:2181,master:2181/kafka -replication-factor 3 -partition 5 -topic test |
b) 查看创建的Topic,执行如下命令:
./bin/kafka-topics.sh -zookeeper master:2181,backup:2181/kafka -list |
c) 我们可以通过Kafka的bin/kafka-console-producer.sh和bin/kafka-console-consumer.sh脚本,来验证演示如果发布消息、消费消息。
在一个终端,启动Producer,并向我们上面创建的名称为test的Topic中生产消息,执行如下脚本:
./bin/kafka-console-producer.sh -broker-list master:9092,backup:9092 -topic test |
d) 在另一个终端,启动Consumer,并订阅我们上面创建的名称为test的Topic中生产的消息,执行如下脚本:
./bin/kafka-console-consumer.sh -zookeeper backup:2181,master:2181/kafka -from-beginning -topic test |
e) 查看topic的具体信息,例如查看test的具体信息
kafka-topics.sh -describe -zookeeper master:2181,backup:2181/kafka -topic test |