kafka環境搭建
阿新 • • 發佈:2018-12-08
一、使用技術版本
kafka_2.10-0.10.2.1.tar
zookeeper-3.4.5.tar
二、環境搭建
因為kafka環境依賴於zookeeper,所以先搭建zookeeper
1、zookeeper搭建
先建立一個資料夾,存放壓縮包,並解壓
[email protected]:~# cd /wingcloud [email protected]:/wingcloud# ls kafka_2.10-0.10.2.1.tar zookeeper-3.4.5.tar [email protected]:/wingcloud# tar -xvf zookeeper-3.4.5.tar
解壓後,將資料夾放到/usr/local下
[email protected]:/wingcloud# mv zookeeper-3.4.5 /usr/local/zk
進入/usr/local/zk/conf執行如下
[email protected]:/wingcloud# cp zoo_sample.cfg zo.cfg
[email protected]:/wingcloud# mv zo.cfg zoo.cfg
[email protected]:/wingcloud# vim zoo.cfg
進入zoo.cfg後只需修改dataDir
修改如下,儲存退出。
dataDir=/usr/local/zk/data/
返回到zk目錄下建立data目錄
[email protected]:/usr/local/zk# mkdir data
新增zk的環境變數
[email protected]:/usr/local/zk# cd ..
[email protected]:/usr/local# vim /etc/profile
[email protected]:/usr/local# ls
bin etc include logstash qcloud share yd.socket.server
elasticsearch-2.4.6 games lib man sbin src zk
[email protected]:/usr/local# vim /etc/profile
ZK_HOME=/usr/local/zk
PATH=$ZK_HOME/bin:$PATH
[email protected]:/usr/local# source /etc/profile
最後啟動zk,並檢視其是否成功啟動
[email protected]:/usr/local# zkServer.sh start
JMX enabled by default
Using config: /usr/local/zk/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[email protected]:/usr/local# zkServer.sh status
JMX enabled by default
Using config: /usr/local/zk/bin/../conf/zoo.cfg
Mode: standalone
2、kafka搭建
解壓並將檔案轉移到/usr/local下
[email protected]:/wingcloud# tar -xvf kafka_2.10-0.10.2.1.tar
[email protected]:/wingcloud# ls
kafka_2.10-0.10.2.1 kafka_2.10-0.10.2.1.tar zookeeper-3.4.5.tar
[email protected]:/wingcloud# mv kafka_2.10-0.10.2.1 /usr/local
[email protected]:/wingcloud# cd /usr/local
[email protected]:/usr/local# ls
bin include man src
elasticsearch-2.4.6 kafka_2.10-0.10.2.1 qcloud yd.socket.server
etc lib sbin zk
games logstash share zookeeper.out
修改server.properties
[email protected]:/usr/local# cd kafka_2.10-0.10.2.1
[email protected]:/usr/local/kafka_2.10-0.10.2.1# ls
bin config libs LICENSE NOTICE site-docs
[email protected]:/usr/local/kafka_2.10-0.10.2.1# cd config
[email protected]:/usr/local/kafka_2.10-0.10.2.1/config# ls
connect-console-sink.properties consumer.properties
connect-console-source.properties log4j.properties
connect-distributed.properties producer.properties
connect-file-sink.properties server.properties
connect-file-source.properties tools-log4j.properties
connect-log4j.properties zookeeper.properties
connect-standalone.properties
[email protected]:/usr/local/kafka_2.10-0.10.2.1/config# vim server.properties
在server.properties中找到Log Basics註釋,修改其下面的log.dirs如下
log.dirs=/usr/local/kafka_2.10-0.10.2.1/data/kafka-logs
其中也可以修改zk相關,因為是本機這邊就不用配了,ok,儲存退出
啟動kafka
[email protected]:/usr/local/kafka_2.10-0.10.2.1/config# cd ..
[email protected]:/usr/local/kafka_2.10-0.10.2.1# ls
bin config libs LICENSE NOTICE site-docs
[email protected]:/usr/local/kafka_2.10-0.10.2.1# cd bin
[email protected]:/usr/local/kafka_2.10-0.10.2.1/bin# ls
connect-distributed.sh kafka-replica-verification.sh
connect-standalone.sh kafka-run-class.sh
kafka-acls.sh kafka-server-start.sh
kafka-broker-api-versions.sh kafka-server-stop.sh
kafka-configs.sh kafka-simple-consumer-shell.sh
kafka-console-consumer.sh kafka-streams-application-reset.sh
kafka-console-producer.sh kafka-topics.sh
kafka-consumer-groups.sh kafka-verifiable-consumer.sh
kafka-consumer-offset-checker.sh kafka-verifiable-producer.sh
kafka-consumer-perf-test.sh windows
kafka-mirror-maker.sh zookeeper-security-migration.sh
kafka-preferred-replica-election.sh zookeeper-server-start.sh
kafka-producer-perf-test.sh zookeeper-server-stop.sh
kafka-reassign-partitions.sh zookeeper-shell.sh
kafka-replay-log-producer.sh
[email protected]:/usr/local/kafka_2.10-0.10.2.1/bin# ./kafka-server-start.sh ../config/server.properties
啟動完成後,就算搭建完成了,接下來測試一下
需要另外再開一個終端,進入linux伺服器
在新開的終端下需要建立topics,先進入kafka/bin下
解釋下命令:--zookeeper 127.0.0.1:2181指定zk。 --partitions 1分割槽設為1個,因為是單機。--replication-factor 1副本設為1個。--topic wingcloud設定topic名字叫wingcloud
[email protected]:/usr/local/kafka_2.10-0.10.2.1/bin$ ./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --partitions 1 --replication-factor 1 --topic wingcloud
Created topic "wingcloud".
然後使用生產者,--broker-list 127.0.0.1:9092指kafka服務,叢集時寫多個即可
[email protected]:/usr/local/kafka_2.10-0.10.2.1/bin$ ./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic wingcloud
啟動後,再開一個終端
在新開的終端下使用消費者
[email protected]:~$ cd /usr/local
[email protected]:/usr/local$ ls
bin include man src
elasticsearch-2.4.6 kafka_2.10-0.10.2.1 qcloud yd.socket.server
etc lib sbin zk
games logstash share zookeeper.out
[email protected]:/usr/local$ cd kafka_2.10-0.10.2.1
[email protected]:/usr/local/kafka_2.10-0.10.2.1$ ls
bin config data libs LICENSE logs NOTICE site-docs
[email protected]:/usr/local/kafka_2.10-0.10.2.1$ cd bin
[email protected]:/usr/local/kafka_2.10-0.10.2.1/bin$ ./kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic wingcloud
消費者啟動之後,進行資料測試。
在之前的生產者終端輸入資料,在消費者終端也能顯示的話,測試成功,如下
好了kafka搭建完成