關於kafka概念參考:https://blog.csdn.net/wangqyoho/article/details/54944380
關於zookeeper介紹參考:https://www.cnblogs.com/Lzf127/p/7155316.html
安裝kafka 需要jdk 環境 & zookeeper
下載zookeeper
#下載
[root@sl-opencron src]# wget http://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.12/zookeeper-3.4.10.tar.gz
#解壓
[root@sl-opencron src]# tar -xvf zookeeper-3.4.10.tar.gz
#解壓後的目錄mv 到/usr/local/下
[root@sl-opencron src]# mv zookeeper-3.4.10 /usr/local/zookeeper
配置zookeeper
[root@sl-opencron ~]# cd /usr/local/zookeeper/conf
#將zoo_sample.cfg(樣板配置文件)命名爲zoo.cfg
[root@sl-opencron conf]# mv zoo_sample.cfg zoo.cfg
#修改配置文件
[root@sl-opencron conf]# vim zoo.cfg
***********
***********
dataDir=/data/zookeeper
clientPort=2181
server.1=206.189.42.112:2888:3888
server.1=167.99.72.194:2888:3888
生成一個myid文件
說明:其內容分別爲1
[root@sl-opencron ~]# cd /data/zookeeper
[root@sl-opencron zookeeper]# touch myid
[root@sl-opencron zookeeper]# echo "1" myid
啓動zookeeper
[root@sl-opencron bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
查看zookeeper狀態
[root@sl-opencron bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: standalone
查看zookeeper監聽端口:2181
[root@sl-opencron ~]# !net
netstat -nvlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 206.189.42.112:80 0.0.0.0:* LISTEN 26992/./server
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1010/sshd
tcp6 0 0 :::40188 :::* LISTEN 32480/java
tcp6 0 0 :::39999 :::* LISTEN 31957/java
tcp6 0 0 :::20001 :::* LISTEN 27299/./client
tcp6 0 0 :::20002 :::* LISTEN 27299/./client
tcp6 0 0 :::20003 :::* LISTEN 26992/./server
tcp6 0 0 :::2181 :::* LISTEN 31957/java
tcp6 0 0 :::3306 :::* LISTEN 2141/mysqld
tcp6 0 0 :::22 :::* LISTEN 1010/sshd
下載安裝kafka
#下載
[root@sl-opencron src]# wget http://www-eu.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz
#解壓
[root@sl-opencron src]# tar -xvf kafka_2.11-1.1.0.tgz
#解壓後mv /usr/local/下
[root@sl-opencron src]# mv kafka_2.11-1.1.0 /usr/local/kafka
配置kafka
[root@sl-opencron ~ ]# vim /usr/local/kafka/config/server.properties
***************
***************
***************
broker.id=0
#listeners = listener_name://host_name:port
listeners=PLAINTEXT://206.189.42.112:9092
注:host.name#服務器IP地址,修改爲自己的服務器IP. port:9092
#日誌存放路徑,上面創建的目錄
log.dirs=/var/kafka-logs
#zookeeper.connect=localhost:2181
zookeeper.connect=206.189.42.112:2181 #zookeeper地址和端口
啓動kafka
[root@sl-opencron bin]# ./kafka-server-start.sh /usr/local/kafka/config/server.properties &
#查看監聽端口:9092
[root@sl-opencron ~]# !net
netstat -nvlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 206.189.42.112:80 0.0.0.0:* LISTEN 26992/./server
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1010/sshd
tcp6 0 0 :::40188 :::* LISTEN 32480/java
tcp6 0 0 :::39999 :::* LISTEN 31957/java
tcp6 0 0 :::20001 :::* LISTEN 27299/./client
tcp6 0 0 :::20002 :::* LISTEN 27299/./client
tcp6 0 0 :::20003 :::* LISTEN 26992/./server
tcp6 0 0 206.189.42.112:9092 :::* LISTEN 32480/java
tcp6 0 0 :::2181 :::* LISTEN 31957/java
tcp6 0 0 :::3306 :::* LISTEN 2141/mysqld
tcp6 0 0 :::22 :::* LISTEN 1010/sshd
創建topic
說明:創建一個名爲test的topic.
Kafka通過topic對同一類的數據進行管理,同一類的數據使用同一個topic可以在處理數據時更加的便捷
#進入kafka目錄
[root@sl-opencron zookeeper]# cd /usr/local/kafka/
#創建topic
[root@sl-opencron kafka]# bin/kafka-topics.sh --create --zookeeper 206.189.42.112:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".
查看topic
說明:在創建topic後可以通過輸入
[root@sl-opencron kafka]# bin/kafka-topics.sh --list --zookeeper 206.189.42.112:2181
test