一、集群安装
1. Kafka下载:
wget https://archive.apache.org/dist/kafka/0.8.1/kafka_2.9.2-0.8.1.tgz
解压 tar zxvf kafka_2.9.2-0.8.1.tgz
kafka使用scala编写,需要下载scala相关的库
2.下载安装sbt:
wget http://repo.scala-sbt.org/scalasbt/sbt-native-packages/org/scala-sbt/sbt/0.13.1/sbt.rpm
$ rpm -ivh sbt.rpm
3. 更新scala环境:
sbt update
sbt package
#sbt assembly-package-dependency (sbt sbt-dependency) 不同版本命令不一致,这条命令也可以不执行
4. 配置config/server.properties
broker.id为依次增长的:0、1、2、3、4,集群中唯一id
log.dirs设置到大硬盘路径下
num.network.threads
num.partitions ,默认分区数
num.io.threads 建议值为机器的核数;
zookeeper.connect 设置为zookeeper Servers 列表,各节点以逗号分开;
5.在kafka的部署目录下,在各个节点上通过如下命令来启动:
$ nohup bin/kafka-server-start.sh config/server.properties &
6.使用jps命令可以查看,kafka 的 broker 服务是否打开
二、常用命令
创建Topic
bin/kafka-topics.sh --zookeeper CentOS-server1:2181,CentOS-server2:2181,CentOS-server3:2181 --topic mytopic --replication-factor 1 --partitions 1 --create
Topic列表
bin/kafka-topics.sh --zookeeper CentOS-server1:2181,CentOS-server2:2181,CentOS-server3:2181 --list
生产者测试
bin/kafka-console-producer.sh --broker-list CentOS-cm:9092,CentOS-server4:9092 --topic mytopic
消费者测试
bin/kafka-console-consumer.sh --zookeeper CentOS-server1:2181,CentOS-server2:2181,CentOS-server3:2181 --topic topicName --from-beginning
三、异常处理
报异常:
Failed to load class "org.slf4j.impl.StaticLoggerBinder"
解决方法:
下载slf4j-1.7.6.zip
wget http://www.slf4j.org/dist/slf4j-1.7.6.zip
解压
unzip slf4j-1.7.6.zip
把slf4j-nop-1.7.6.jar 包复制到kafka libs目录下面