Kafka在centos7中搭建過程
Zookeeper的功能以及工作原理
ZooKeeper是什么? ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,它是集群的管理者,監視着集群中各個節點的狀態根據節點提交的反饋進行下一步合理操作。最終,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
Kafka簡介
Kafka是最初由Linkedin公司開發,是一個分布式、支持分區的(partition)、多副本的(replica),基於zookeeper協調的分布式消息系統,它的最大的特性就是可以實時的處理大量數據以滿足各種需求場景:比如基於hadoop的批處理系統、低延遲的實時系統、storm/Spark流式處理引擎,web/nginx日志、訪問日志,消息服務等等,用scala語言編寫,Linkedin於2010年貢獻給了Apache基金會並成為頂級開源 項目。
一、基礎環境准備:服務器是 “192.168.1.18 ”;
二、布置服務器JDK環境: 查看 java -version 或者 rpm -qa |grep jdk
沒有的話yum查看:yum -y list java*
java -version #查看jadk
yum -y list java* #查看yum源中的java
yum -y install java-1.8.0* #安裝1.8jdk
三、定義目錄結構:mkdir -p /opt/zookeeper
Mkdir -p /opt/kafka
四、下載包:
cd cd /opt/zookeepe
wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
cd /opt/kafka
wget https://mirrors.aliyun.com/apache/kafka/1.1.0/kafka_2.12-1.1.0.tgz
## 沒wget需要 yum -y install wget 安裝
五、配置啟動zookeeper(雖然一般kafka自帶zookeeper但是看到博客上都推薦使用自己單獨的zookeeper):
Cd /opt/zookeeper/
tar -zxvf zookeeper-3.4.12.tar.gz
cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
Vim zoo.cfg修改配置部分分別為:
這里也可以這樣寫Server.1=zk1:2888:3888
dataDir 定義:zookeeper保存數據的目錄;
dataLogDir= #Zookeeper將寫數據的日志文件保存在這個目錄里;
server.1 這個1是服務器的標識也可以是其他的數字, 表示這個是第幾號服務器,用來標識服務器,這個標識后續會用到。
第一個端口是master和slave之間的通信端口,默認是2888,第二個端口是leader選舉的端口。默認3888。 修改完成后,保存即可。
創建節點的myid(節點非0開始可以從1開始做節點但是要有規則)
Vim /opt/zookeeper/zkdata/myid下寫入1(2節點到時候寫入2)
啟動服務:cd /opt/zookeeper/zookeeper-3.4.12/bin
./zkServer.sh start ###啟動
./zkServer.sh status ###啟動后一定要查看
六、Kafka搭建:
cd /opt/kafka
tar zxvf kafka_2.12-1.1.0.tgz
cd /opt/kafka/kafka_2.12-1.1.0/config #進入kafka配置目錄
cp server.properties server.properties.bak #備份kafka默認配置文件
修改配置文件: vim server.properties
kafka啟動需要選擇配置文件
broker.id=1 #當前機器在集群中的唯一標識
listeners=PLAINTEXT://10.15.21.62:9092 #監聽端口
advertised.listeners=PLAINTEXT://10.15.21.62:9092 #提供給生產者,消費者的端口號。可以不設置則使用listeners的值
logs日志路徑沒有的話需要創建
啟動可以絕對路徑:
啟動:./kafka-server-start.sh -daemon ../config/server.properties
七、測試kafka:
1、先創建一個測試主題:./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic dgp
2、查看主題: ./kafka-topics.sh --list --zookeeper localhost:2181
3、發送一些消息:
./kafka-console-producer.sh --broker-list localhost:9092 --topic dgp
輸入一些信息
4、啟動命令行消費者,將消息轉儲到標准輸出:
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic d --from-beginning
kafka偽分布式搭建參考: https://blog.csdn.net/weixin_42207486/article/details/80635246