kafka的安裝

集羣搭建軟件環境:

  • JDK: java version 1.8.0_121
  • zookeeper:zookeeper-3.4.9
  • kafka: kafka-2.10-0.10.2.0

首先,在zookeeper安裝完成後,登錄官方網站下載搭建環境所需的壓縮包kafka-2.10-0.10.2.0.tgz:

http://kafka.apache.org/downloads

然後將該包解壓到你需要安裝的目錄下:

tar -zxvf kafka-2.10-0.10.2.0.tgz

解壓完成需要修改kafka配置文件

kafka_2.12-1.0.0/config/server.properties

配置內容如下:

############################# Server Basics #############################
broker.id=0
# 在啓動broker時候開啓刪除topic的開關,默認是關閉(false)的
delete.topic.enable=true
############################# Socket Server Settings #############################
# 地址配kafka安裝本機IP(比如192.168.3.117)
listeners=PLAINTEXT://192.168.3.117:9092
# 地址配kafka安裝本機IP(比如192.168.3.117)
advertised.listeners=PLAINTEXT://192.168.3.117:9092
# 地址配kafka安裝本機IP(比如192.168.3.117)
host.name=127.0.0.1
port=9092

num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600

############################# Log Basics #############################
log.dirs=/tmp/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
############################# Internal Topic Settings  #############################
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
############################# Log Retention Policy #############################
log.retention.hours=168
log.retention.hours.
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

############################# Zookeeper #############################
zookeeper.connect=127.0.0.1:2181
zookeeper.connection.timeout.ms=6000
############################# Group Coordinator Settings #############################
group.initial.rebalance.delay.ms=0

其中,主要修改:

  • broker.id  該參數是kafka集羣中每一個broker的唯一標識,用int型表示;
  • delete.topic.enable: 該選項用來表示對topic進行刪除操作時是否立刻生效,如果設置爲true則立刻生效。默認該選項被註銷;
  • host.name: 配置broker的IP地址,即該臺服務器的IP地址;
  • port:配置該broker與客戶端、與其他broker、與zookeeper通信的端口地址;
  • log.dirs: 配置broker日誌存儲地址;
  • zookeeper.connect: broker需要向zookeeper註冊自己的信息,以便整個集羣知道自己的存在;
  • zookeeper.connection.timeout.ms:與zookeeper連接時間,如果在該時間內沒有與zookeeper連接成功,則該broker就不會被添加到kafka集羣中。
  • listeners=PLAINTEXT://192.168.3.117:9092

到這裏kafka就搭建完成。

然後啓動kafka,在啓動kafka前先啓動zookeeper,還有就是設置kafka,bin目錄下文件的可執行權限

chmod 777 文件

進入kafka安裝目錄

啓動kafka :bin/kafka-server-start.sh config/server.properties &

查看啓動端口zookeeper和kafka:netstat -tunlp|egrep "(2181|9092)"

然後創建topic(goods)

./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --topic goods --partitions 1 --replication-factor 1

用自帶的客戶端發送消息:

./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic my-first-topic

tist 1

使用自帶的客戶端就是消息:

./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic my-first-topic --from-beginning

提示,先打開接收消息對列,後發送消息。

關閉kafka

kill -s TERM $(jps -l | grep 'kafka\.Kafka' | awk '{print $1}')

kafka官網文檔:

http://kafka.apache.org/quickstart

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章