Linux中kafka部署和集群

来源:https://www.cnblogs.com/wangjunguang/archive/2018/07/19/9334223.html
-Advertisement-
Play Games

1.下載kafka安裝包kafka_2.12-1.1.0。 tar -xzvf kafka_2.11-0.8.2.1.tgz #解壓 mv kafka_2.11-0.8.2.1 /usr/local/kafka #移動到安裝目錄 2、配置kafka mkdir /usr/local/kafka/lo ...


1.下載kafka安裝包kafka_2.12-1.1.0。

tar -xzvf kafka_2.11-0.8.2.1.tgz #解壓

mv kafka_2.11-0.8.2.1 /usr/local/kafka #移動到安裝目錄

2、配置kafka

mkdir /usr/local/kafka/log/kafka #創建kafka日誌目錄

cd /usr/local/kafka/config #進入配置目錄

vi server.properties #編輯修改相應的參數

broker.id=0

port=9092 #埠號

host.name=192.168.5.56 #伺服器IP地址,修改為自己的伺服器IP

log.dirs=/usr/local/kafka/log/kafka #日誌存放路徑,上面創建的目錄

zookeeper.connect=localhost:2181 #zookeeper地址和埠,單機配置部署,localhost:2181

:wq! #保存退出

3、配置zookeeper

mkdir /usr/local/kafka/zookeeper #創建zookeeper目錄

mkdir /usr/local/kafka/log/zookeeper #創建zookeeper日誌目錄

cd /usr/local/kafka/config #進入配置目錄

vi zookeeper.properties #編輯修改相應的參數

dataDir=/usr/local/kafka/zookeeper #zookeeper數據目錄

dataLogDir=/usr/local/kafka/log/zookeeper #zookeeper日誌目錄

clientPort=2181

maxClientCnxns=100

tickTime=2000

initLimit=10

syncLimit=5

:wq! #保存退出

4. 創建啟動、關閉kafka腳本

cd /usr/local/kafka

#創建啟動腳本

vi kafkastart.sh #編輯,添加以下代碼

#!/bin/sh

#啟動zookeeper

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

sleep 3 #等3秒後執行

#啟動kafka

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

:wq! #保存退出

 

#創建關閉腳本

vi kafkastop.sh #編輯,添加以下代碼

#!/bin/sh

#關閉zookeeper

/usr/local/kafka/bin/zookeeper-server-stop.sh /usr/local/kafka/config/zookeeper.properties &

sleep 3 #等3秒後執行

#關閉kafka

/usr/local/kafka/bin/kafka-server-stop.sh /usr/local/kafka/config/server.properties &

:wq! #保存退出

 

#添加腳本執行許可權

chmod +x kafkastart.sh

chmod +x kafkastop.sh

 

5.設置腳本開機自動執行

 

vi /etc/rc.d/rc.local #編輯,在最後添加一行

sh /usr/local/kafka/kafkastart.sh & #設置開機自動在後臺運行腳本

:wq! #保存退出

sh /usr/local/kafka/kafkastart.sh #啟動kafka

sh /usr/local/kafka/kafkastop.sh #關閉kafka

6.kafka集群部署

1.進入到kafka/config目錄下,

進入到kafka/config的目錄下,修改配置文件,vim  server.properties,需要修改的配置是:

#每台伺服器的broker.id都不能相同

broker.id=0 

#在log.retention.hours=168 後新增下麵三項

message.max.byte=5242880

default.replication.factor=1

replica.fetch.max.bytes=5242880

#設置zookeeper的連接埠

zookeeper.connect=master:2181,slave1:2181

#日誌文件的目錄,設置成剛剛創建的logs目錄

log.dirs=/opt/soft/kafka/logs/

註意:salve1中的broker.id為1

修改完成之後保存,退出

2. #進入到kafka的bin目錄

./kafka-server-start.sh -daemon ../config/server.properties

檢查kafka是否啟動

#執行命令jps

[root@centos7587 bin]# jps

14194 QuorumPeerMain

18557 Jps


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 有關於centos7獲取IP地址的方法主要有兩種,1:動態獲取ip;2:設置靜態IP地址 在配置網路之前我們先要知道centos的網卡名稱是什麼,centos7不再使用ifconfig命令,可通過命令 IP addr查看,如圖,可以看到我的網卡名為ens32,從中也可以看到是沒有IP地址的 1、動態 ...
  • Nginx Nginx是一款面向性能設計的HTTP伺服器,相較於Apache、lighttpd具有占有記憶體少,穩定性高等優勢,整體採用模塊化設計,有豐富的模塊庫和第三方模塊庫,配置靈活。 在Linux操作系統下,Nginx使用epoll事件模型,在OpenBSD或FreeBSD操作系統上採用類似於e ...
  • 關於Linux中的設備文件,設備文件用來為操作系統和用戶提供它們代表的設備介面。所有的Linux設備文件均位於/dev目錄下,是根(/)文件系統的一個組成部分,因為這些設備文件在操作系統啟動過程中必須可以使用。應用程式可以打開、關閉和讀寫這些設備文件,完成對設備的操作,就像操作普通的數據文件一樣。為... ...
  • vim /root/runscript/cut_nginx_log.sh #!/bin/bash# nginx日誌切割腳本# This script run at 00:00logs_path="/usr/local/nginx/logs/"target_path="/usr/local/nginx ...
  • Linux系統出現了性能問題,一般我們可以通過top、iostat、free、vmstat等命令來查看初步定位問題。其中iostat可以給我們提供豐富的IO狀態數據。 一、查詢命令基本使用 1、命令介紹 $iostat -d -k 1 10 -d 表示,顯示設備(磁碟)使用狀態; -k某些使用blo ...
  • matplotlib的中文配置 1.matplotlib添加中文的配置 workon py3_spider 2.卸載matplotlib pip3 uninstall matplotlib 3.重新安裝 pip3 install matplotlib 4.列印python虛擬環境的matplotli ...
  • 一、PHP 啟動命令: 停止命令: 二、MySQL 啟動命令: 停止命令: 重啟命令: 三、Apache 啟動命令: 停止命令: 重啟命令: 四、Nginx 啟動命令: 停止命令: 重啟命令: 五、MemCached 啟動命令: 停止命令: 六、Redis 啟動命令: 停止命令: 七、MongoDB ...
  • 1.下載kibana安裝包kibana-5.5.0-linux-x86_64.tar.gz tar –xzf kibana-5.5.0-linux-x86_64.tar.gz解壓 把文件移動到 Mv kibana-5.5.0-linux-x86_64 /usr/local/kibana 2.配置co ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...