kafka2.3.1+zookeeper3.5.6+kafka-manager2.0.0.2集群部署(centos7.7)

来源:https://www.cnblogs.com/mkxfs/archive/2019/12/13/12030331.html
-Advertisement-
Play Games

kafka2.3.1+zookeeper3.5.6+kafka-manager2.0.0.2集群部署(centos7.7) ...


一、準備三台伺服器,配置好主機名和ip地址

 二、伺服器初始化:包括安裝常用命令工具,修改系統時區,校對系統時間,關閉selinux,關閉firewalld,修改主機名,修改系統文件描述符,優化內核參數,優化數據盤掛載參數

1、安裝常用命令工具

yum install vim net-tools bash-completion wget unzip ntp bzip2 epel-release -y

2、修改系統時區,校對系統時間

timedatectl set-timezone Asia/Shanghai

ntpdate pool.ntp.org

3、關閉selinux

vim /etc/selinux/config

SELINUX=disabled

4、關閉防火牆

systemctl stop firewalld.service

systemctl disable firewalld.service

5、修改主機名

vim /etc/hostname

kafka-broker1

6、修改系統文件描述符大小

vim /etc/security/limits.conf

最後添加:

* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft memlock unlimited
* hard memlock unlimited

7.優化內核參數

vim /etc/sysctl.conf

最後添加:

vm.max_map_count = 655360
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_max_syn_backlog = 8192
net.core.netdev_max_backlog = 10000
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

8.優化數據盤掛載參數,我的數據盤掛載在opt下,對應自己數據盤作相應調整

vim /etc/fstab

/dev/mapper/centos-opt  /opt                    xfs     defaults,noatime,largeio        0 0

 9.重啟系統使配置生效

init 6

三、安裝zookeeper集群

1.因zookeeper和kafka需要java啟動

首先安裝jdk1.8環境

yum install java-1.8.0-openjdk-devel.x86_64 -y

2.Kakfa集群需要依賴ZooKeeper存儲Broker、Topic等信息,所以我們先安裝zookeeper集群

cd /opt

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz

tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz

mv apache-zookeeper-3.5.6 zookeeper-3.5.6

3.修改zookeeper配置文件

cd zookeeper-3.5.6/conf/

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

修改:

dataDir=/opt/zookeeper-3.5.6/data

末尾添加集群其他節點信息

server.1=192.168.0.13:2888:3888
server.2=192.168.0.14:2888:3888
server.3=192.168.0.15:2888:3888

4.添加zookeeper數據目錄

創建/opt/zookeeper-3.5.6/data目錄

mkdir /opt/zookeeper-3.5.6/data

在data目錄里創建myid文件,寫上該節點id

 然後將opt下zookeeper-3.5.6目錄上傳到其他兩個節點上

scp -r zookeeper-3.5.6 192.168.0.14:/opt
scp -r zookeeper-3.5.6 192.168.0.15:/opt

修改其他兩個節點data下myid文件內容分別為2和3

5.啟動zookeeper服務

三台節點分別啟動zookeeper服務

/opt/zookeeper-3.5.6/bin/zkServer.sh start

6.查看節點zookeeper狀態

/opt/zookeeper-3.5.6/bin/zkServer.sh status

 四、安裝kafka集群

1.官網下載kafka

cd /opt

wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.1/kafka_2.12-2.3.1.tgz

tar -zxvf kafka_2.12-2.3.1.tgz

2.修改kafka配置文件

cd kafka_2.12-2.3.1/config

vim server.properties

修改以下參數

broker.id=1
host.name=192.168.0.13
listeners=PLAINTEXT://192.168.0.13:9092
delete.topic.enable=true
log.cleanup.policy=delete
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
auto.create.topics.enable=true
num.network.threads=24
num.io.threads=48
log.dirs=/opt/kafka_2.12-2.3.1/kafka-logs
num.partitions=3
zookeeper.connect=192.168.0.13:2181,192.168.0.14:2181,192.168.0.15:2181

3.優化調整kafka jvm堆記憶體大小

 vim /opt/kafka_2.12-2.3.1/bin/kafka-server-start.sh

export KAFKA_HEAP_OPTS="-Xmx5G -Xms5G"

4.開啟kafka JMX監控

 vim /opt/kafka_2.12-2.3.1/bin/kafka-server-start.sh

export JMX_PORT="9999"

4.其他兩台節點按照上面步驟同步安裝kafka

5.三台節點分別啟動kafka

/opt/kafka_2.12-2.3.1/bin/kafka-server-start.sh -daemon /opt/kafka_2.12-2.3.1/config/server.properties

五、安裝kafka-manager,方便管理kafka

1.下載kafka-manager源碼

cd /opt

wget https://github.com/yahoo/kafka-manager/archive/2.0.0.2.zip

mv 2.0.0.2.zip kafka-manager-2.0.0.2.zip

2.解壓zip包

unzip kafka-manager-2.0.0.2.zip

cd kafka-manager-2.0.0.2

3.yum安裝sbt(因為kafka-manager需要sbt編譯)

curl https://bintray.com/sbt/rpm/rpm > /etc/yum.repos.d/bintray-sbt-rpm.repo
yum install sbt -y

4.編譯kafka-manager

./sbt clean dist

可能要等好幾個小時。

 

 看到Your package is ready in /opt/kafka-manager-2.0.0.2/target/universal/kafka-manager-2.0.0.2.zip代表編譯成功了。

5.然後將編譯好的zip包拷貝到/opt下,並刪除原來kafka-manager-2.0.0.2文件夾

cp /opt/kafka-manager-2.0.0.2/target/universal/kafka-manager-2.0.0.2.zip /opt

rm -rf kafka-manager-2.0.0.2

unzip kafka-manager-2.0.0.2.zip

cd kafka-manager-2.0.0.2

 

6. 修改kafka-manager配置

vim conf/application.conf

kafka-manager.zkhosts="192.168.0.13:2181,192.168.0.14:2181,192.168.0.15:2181"

7.啟動kafka-manager

nohup /opt/kafka-manager-2.0.0.2/bin/kafka-manager &>>/dev/null &

8.用瀏覽器訪問http://192.168.0.13:9000/,添加集群

 

 9.添加成功


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

-Advertisement-
Play Games
更多相關文章
  • 今天學習分散式的項目搭建,第二天使用 intelliJ IDEA 漸漸適應了操作 搭建分散式項目,我把他分為一個父工程和14個子工程 如圖是各項目的關係依賴: idea包結構: 搭建好我們所需要的工程之後,我們就需要配置XML文件和POM.xml文件 父工程的POM文件 <!-- 集中定義依賴版本號 ...
  • 資料庫 數據的存儲:將數據放到表中,表再放到庫中。 一個資料庫中可以有多個表,每個表都有一個名字,用來標識自己。表名具有唯一性。 表由列組成,我們也稱為欄位。每個欄位描述了它所含有的數據的意義表由列組成,我們也稱為欄位。每個欄位描述了它所含有的數據的意義 表中的數據是按行存儲的,一行即為一條記錄。 ...
  • 1、使用like關鍵字模糊查詢時,% 放在前面索引不起作用,只有“%”不在第一個位置,索引才會生效(like ‘%文’–索引不起作用)2、使用聯合索引時,只有查詢條件中使用了這些欄位中的第一個欄位,索引才會生效3、使用OR關鍵字的查詢,查詢語句的查詢條件中只有OR關鍵字,且OR前後的兩個條件中的列都 ...
  • 一、背景 老大安排要對某張大容量表進行分割,根據年份分割成多張表。 二、水平分割 水平拆分是指數據表行的拆分,表的行數超過百萬行時,就會變慢,這時可以把一張的表的數據拆成多張表來存放。 定義規則分表後,表結構與原表相同,查詢性能會提高。 ····· 三、步驟。 做好備份 根據年份創建分區表(t_us ...
  • https://www.cnblogs.com/shizhengwen/p/9283973.html https://blog.csdn.net/w2393040183/article/details/76167856 https://www.redis.net.cn/tutorial/3519.h ...
  • [20191213]toad 12下BIND_AWARE提示無效.txt--//鏈接http://blog.itpub.net/267265/viewspace-2130781/的測試,發現當時測試的錯誤.有空再次驗證看看.1.環境:SCOTT@book> @ ver1PORT_STRING VER ...
  • Elasticsearch OOM 優化 改文件類型及segments force merge ...
  • oracle資料庫管理系統有三個重要的概念:實例、資料庫、資料庫伺服器。oracle資料庫的存儲結構可以分為邏輯存儲結構和物理存儲結構。邏輯存儲結構用於描繪Oracle內部組織和管理數據的方式,而物理存儲結構用於展示Oracle在操作系統中的物理文件組成情況。 實例:是指一組Oracle後臺進程以及 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...