一、集群安裝
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目錄下面