Kafka集羣部署 (守護進程啓動)

一、Kafka集羣部署

1.1集羣部署的基本流程

下載安裝包、解壓安裝包、修改配置文件、分發安裝包、啓動集羣html

1.2集羣部署的基礎環境準備

安裝前的準備工做(zk集羣已經部署完畢) 
 關閉防火牆linux

chkconfig iptables off && setenforce 0

 

 建立用戶apache

groupadd kafka && useradd kafka && usermod -a -G kafka kafka

 

 建立工做目錄並賦權vim

mkdir -p /home/tuzq/software/kafka mkdir -p /home/tuzq/software/kafka/servers chmod 755 -R /home/tuzq/software/kafkaruby

 切換到kafka用戶下 
su kafka (本次實驗,筆者使用root用戶,即模擬在root下的安裝。實際生產環境安裝時請在指定用戶下安裝)bash

1.3 Kafka集羣部署

1.3.一、下載安裝包

http://kafka.apache.org/downloads.html 
在linux中使用wget命令下載服務器

wget http://mirrors.hust.edu.cn/apache/kafka/0.8.2.2/kafka_2.11-0.8.2.2.tgz

1.3.二、解壓安裝包網絡

tar -zxvf /home/tuzq/software/kafka_2.11-0.9.0.1.tgz -C /home/tuzq/software/kafka/servers/ cd /home/tuzq/software/kafka/servers/ ln -s kafka_2.11-0.9.0.1 kafka

修改kafka的環境變量socket

vim /etc/profile
在文件的最底部寫上:
#set kafka env export KAFKA_HOME=/home/tuzq/software/kafka/servers/kafka export PATH=$PATH:$KAFKA_HOME/bin

 

保存,而後執行:oop

source /etc/profile

1.3.三、修改配置文件

[root@hadoop1 kafka]# cp /home/tuzq/software/kafka/servers/kafka/config/server.properties /home/tuzq/software/kafka/servers/kafka/config/server.properties.bak [root@hadoop1 kafka]# vim /home/tuzq/software/kafka/servers/kafka/config/server.properties

 

輸入如下內容:

#broker的全局惟一編號,不能重複 broker.id=0 ##用來監聽連接的端口,producer或consumer將在此端口創建鏈接 port=9092 # 處理網絡請求的線程數量 num.network.threads=3 # 用來處理磁盤IO的現成數量 num.io.threads=8 # 接受套接字的緩衝區大小 socket.send.buffer.bytes=102400 #接受套接字的緩衝區大小 socket.receive.buffer.bytes=102400 # 請求套接字的緩衝區的大小 socket.request.max.bytes=104857600 # kafka運行日誌存放的路徑 log.dirs=/home/tuzq/software/kafka/servers/logs/kafka # topic在當前broker上的分片個數 num.partitions=2 # 用來恢復和清理data下數據的線程數量 num.recovery.threads.per.data.dir=1 # segment文件保留的最長時間,超時將被刪除 log.retention.hours=168 #滾動生成新的segment文件的最大時間 log.roll.hours=168 # 日誌文件中每一個segment的大小,默認爲1G log.segment.bytes=1073741824 # 週期性檢查文件的時間,這裏是300秒,即5分鐘 log.retention.check.interval.ms=300000 ##日誌清理是否打開 log.cleaner.enable=true #broker須要使用zookeeper保存meta數據 zookeeper.connect=hadoop11:2181,hadoop12:2181,hadoop13:2181 # zookeeper連接超時時間 zookeeper.connection.timeout.ms=6000 # partition buffer中,消息的條數達到閾值,將觸發flush到磁盤 log.flush.interval.messages=10000 # 消息buffer的時間,達到閾值,將觸發flush到磁盤 log.flush.interval.ms=3000 #刪除topic須要server.properties中設置delete.topic.enable=true不然只是標記刪除 delete.topic.enable=true #此處的host.name爲本機IP(重要),若是不改,則客戶端會拋出:Producer connection to localhost:9092 unsuccessful 錯誤! (若是是hadoop2機器,下面配置成hadoop2) host.name=hadoop1 #外網訪問配置(若是是hadoop2的,下面是192.168.106.92) advertised.host.name=192.168.106.91

 

1.3.四、分發安裝包

將包分發到hadoop2和hadoop3上

[root@hadoop1 software]# pwd /home/tuzq/software [root@hadoop1 software]# scp -r kafka root@hadoop2:$PWD [root@hadoop1 software]# scp -r kafka root@hadoop3:$PWD

 

而後分別在hadoop1機器上建立軟連

[root@hadoop2 software]# cd /home/tuzq/software/kafka/servers/ [root@hadoop2 servers]# ls kafka kafka_2.11-0.9.0.1 [root@hadoop2 servers]# rm -rf kafka [root@hadoop2 servers]# ln -s kafka_2.11-0.9.0.1 kafka [root@hadoop2 servers]#

 

在hadoop2上修改配置

[root@hadoop3 servers]# cd /home/tuzq/software/kafka/servers/ [root@hadoop3 servers]# ls kafka kafka_2.11-0.9.0.1 [root@hadoop3 servers]# rm -rf kafka [root@hadoop3 servers]# ls kafka_2.11-0.9.0.1 [root@hadoop3 servers]# ln -s kafka_2.11-0.9.0.1 kafka [root@hadoop3 servers]# ls kafka kafka_2.11-0.9.0.1 [root@hadoop3 servers]#

 

修改kafka的環境變量

vim /etc/profile
在文件的最底部寫上:
#set kafka env export KAFKA_HOME=/home/tuzq/software/kafka/servers/kafka export PATH=$PATH:$KAFKA_HOME/bin

 

保存,而後執行:

source /etc/profile

1.3.五、再次修改配置文件(重要)

依次修改各服務器上配置文件的的broker.id,分別是0,1,2不得重複。

1.3.六、啓動集羣(注意在三臺服務器上都要執行下面的命令)

依次在各節點上啓動kafka 
cd $KAFKA_HOME 
bin/kafka-server-start.sh config/server.properties

讓kafka後臺運行:

[root@hadoop1 kafka]# bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 & [1] 9412 [root@hadoop1 kafka]# jps 4624 DataNode 4241 DFSZKFailoverController 9475 Jps 9412 Kafka 5093 NodeManager 3981 JournalNode 4974 ResourceManager 4095 NameNode [root@hadoop1 kafka]#

 

從上面能夠看出有一個kafka進程 9412 Kafka

中止kafka的命令:

[root@hadoop1 kafka]# bin/kafka-server-stop.sh config/server.properties

kafka-broker配置文件

這裏寫圖片描述

kafka-producer配置文件

這裏寫圖片描述

kafka-consumer配置文件

這裏寫圖片描述

相關文章
相關標籤/搜索