Linux下搭建kafka
Linux下搭建kafka
Linux下搭建kafka
一、kafka是什麼?
Kafka是最初由Linkedin公司開發,是一個分散式、分割槽的、多副本的、多訂閱者,基於zookeeper協調的分散式日誌系統(也可以當做MQ系統),常見可以用於web/nginx日誌、訪問日誌,訊息服務等等,Linkedin於2010年貢獻給了Apache基金會併成為頂級開源專案。
主要應用場景是:日誌收集系統和訊息系統。
二、使用步驟
1.安裝相關包
安裝jdk、zookeeper、kafka包,想要的話訪問以下連結:
提取碼: mpjc
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.依次啟動服務
啟動zookeeper:
sh zookeeper-server-start.sh ../config/zookeeper.properties
啟動kafka:
sh kafka-server-start.sh ../config/server.properties
啟動完畢後使用命令:jps檢視是否啟動成功
啟動kafka:
jps
啟動成功如下圖:
3.安裝過程中遇到了問題
提示:這裡對文章進行總結:
1、配置靜態ip
放假前在虛擬機器中已經配置好ip了,將虛擬機器掛起了,今天開啟之後,使用ip addr命令後發現ip沒有了,只有一個本地ip:127.0.0.1,通過查閱資料後,使用命令:
啟動kafka:
systemctl stop NetworkManager systemctl disable NetworkManager service network restart
成功!
2、使用jps檢視當前執行的程序
報:許可權不夠 解決方法
解決方法:在jdk目錄下新增一個許可權就可以了:
chmod +x /usr/local/java/jdk1.8/bin/jps
3、
解決方法:修改kafka下的config/server.properties為:
advertised.listeners=PLAINTEXT://10.1.192.196:9092
advertised.listeners=PLAINTEXT://10.1.192.196:9092
4、配置java_home、zookeeper、kafka
vi /etc/profile
三、執行
.進入kafka安裝目錄,建立一個名為helloWorld的topic。
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic helloWorld
./kafka-console-producer.sh --broker-list localhost:9092 --topic helloWorld
輸入要傳遞的訊息:向名為helloWorld的topic傳送訊息,例如 hello kafka
消費者已經輸出了剛才傳送的訊息,hello world例項搭建完成。
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic helloWorld --from-beginning
結果如下圖:
生產者:./kafka-console-producer.sh --broker-list localhost:9092 --topic helloWorld
消費者:./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic helloWorld --from-beginning