kafka生產環境集羣搭建

 

 

三臺服務器

  1. 準備工作
  2. 安裝java環境
  3. 搭建zookeeper集羣
  4. 搭建kafka集羣

服務器配置

主機名 IP地址 硬件配置
kafka-1 192.168.1.162 24CPU、46G內存、600G存儲
kafka-2 192.168.1.166 24CPU、64G內存、600G存儲
kafka-3 192.168.1.170 24CPU、64G內存、600G存儲
主機名 IP地址 zookeeper myid
kafka-1 192.168.1.162 server.1 1
kafka-2 192.168.1.166 server.2 2
kafka-3 192.168.1.170 server.3 3

安裝包準備

JDK 1.8.0_131

zookeeper-3.4.14.tar

kafka_2.11-2.0.0 .tgz

下載方式   先下載 安裝JDK  官網下

zookeeper

wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

kafka

官網選擇版本下載 http://kafka.apache.org/downloads.html

wget https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz

 

設置java 環境變量

 export JAVA_HOME=/usr/java
 export JRE_HOME=${JAVA_HOME}/jre
 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
 export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
 export PATH=$PATH:${JAVA_PATH}

3. 搭建zookeeper集羣

在每臺主機上執行下面步驟:

將安裝包移到/usr/local目錄下

mv zookeeper-3.4.12.tar /usr/local
tar -zxvf zookeeper-3.4.12.tar
mv zookeeper-3.4.12 zookeeper

配置zookeeper環境變量,首先打開profile文件

vi /etc/profile

#set zookeeper environment
export ZK_HOME=/usr/local/zookeeper
export PATH=$ZK_HOME/bin:$PATH


source /etc/profile

打開zookeeper配置文件  複製一份配置文件 

cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg

vi /usr/local/zookeeper/zoo.cfg
#修改數據文件夾路徑
dataDir=/usr/local/zookeeper/data
#在文件末尾添加
server.1=192.168.1.162:2888:3888
server.2=192.168.1.168:2888:3888
server.3=192.168.1.170:2888:3888
#其它不變

創建數據文件夾 和 創建myid文件

myid不是文件夾,可以直接編輯,主要是保證集羣的ID不一樣  myid分配如文章開頭 在每臺KAFKA上都輸入對應的數字

mkdir /usr/local/zookeeper/data


mkdir /usr/local/zookeeper/data/myid


##kafka-1主機myid

[root@sit-gather-kafka1 data]# echo "1" > myid 
[root@sit-gather-kafka1 data]# cat myid 
1
[root@sit-gather-kafka1 data]# 

在每臺電腦上啓動zookeeper

 /usr/local/zookeeper/bin/zkServer.sh start
配置環境變量後 可以直接命令啓動

啓動每臺服務器的ZK 報錯,查看

[root@sit-gather-kafka1 /]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

解決辦法  關閉防火牆

systemctl stop firewalld.service

 

 

4. 搭建kafka集羣

 

準備安裝包 kafka_2.11-2.0.0 .tgz

在每臺主機上執行下面步驟

將安裝包移到/usr/local目錄下

 移動 解壓 重命名

mv kafka_2.11-2.0.0.tgz /usr/local
tar -zxvf kafka_2.11-2.0.0 .tgz
mv kafka_2.11-2.0.0 kafka



配置kafka環境變量,首先打開profile文件

vim /etc/profile


#set kafka environment
export KAFKA_HOME=/usr/local/kafka
PATH=${KAFKA_HOME}/bin:$PATH


source /etc/profile

在kafka-1主機中修改server.properties配置文件

vim /usr/local/kafka/config/server.properties

修改配置如下(IP地址應該根據實際情況填寫) broker.id=3

broker.id=1
listeners=PLAINTEXT://192.168.1.162:9092
zookeeper.connect=192.168.1.162:2181,192.168.1.166:2181,192.168.1.170:2181

  啓動KAFK   不要在安裝目錄config下這樣啓動服務,無法啓動

/usr/local/kafka/bin/kafka-server-start.sh -daemon config/server.properties 



[root@sit-gather-kafka3 kafka]# ./bin/kafka-server-start.sh -daemon config/server.properties 
[root@sit-gather-kafka3 kafka]# jps
15416 Jps
10314 QuorumPeerMain
15306 Kafka

查看 啓動 三臺服務器一切正常

在一臺機器上創建主題 topic

[root@sit-gather-kafka3 kafka]# /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.1.162:2181 --replication-factor 3 --partitions 1 --topic test-topic
Created topic "test-topic".

在另一臺服務器查看主題

/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.1.162:2181 --topic test-topic
[root@sit-gather-kafka1 kafka]# /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.1.162:2181 --topic test-topic
Topic:test-topic        PartitionCount:1        ReplicationFactor:3     Configs:
        Topic: test-topic       Partition: 0    Leader: 1       Replicas: 1,2,3 Isr: 1,2,3

至此 三臺服務器在生產環境都配置成功

詳細參考  https://www.jianshu.com/p/bdd9608df6b3   https://www.cnblogs.com/luotianshuai/p/5206662.html

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