Linux下偽叢集搭建Kafka
Kafka叢集是把狀態儲存在Zookeeper中的,首先要搭建Zookeeper叢集。由於我們之前的分散式系統中已經安裝zookeeper服務,這裡不進行zookeeper安裝教程以及應用教程圖解 [https://blog.csdn.net/qq_34898847/article/details/83349679 ] 。需要注意的是:Zookeeper叢集的工作是超過半數才能對外提供服務,3臺中超過兩臺超過半數,允許1臺掛掉 ,是否可以用偶數,其實沒必要。如果有四臺那麼掛掉一臺還剩下三臺伺服器,如果在掛掉一個就不行了,這裡記住是超過半數。
1.軟體環境
linux一臺
已經搭建好的zookeeper叢集
[
2. 建立目錄並安裝
我的是普通使用者:
/home/xzb
cd ~/software/
cp kafka_2.11-2.0.0.tgz ./
- 解壓 tar -zxvf kafka_2.11-2.0.0.tgz
mv kafka_2.11-2.0.0.tgz kafka2.0.0 - 準備日誌存放目錄
cd ~/data/kafka
每個kafka服務建立一個日誌存放目錄
mkdir kafka-logs-{0,1,2}
3.建立server配置檔案副本
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties
分別編輯一下幾個地方值得修改:
vim server.properties
broker.id=0
port=9092
log.dir=/home/xzb/data/kafka/kafka-logs-0
host.name=cent
zookeeper.connect=cent:2181
vim server-1.properties
broker.id=1
port=9093
log.dir=/home/xzb/data/kafka/kafka-logs-1
host.name=cent
zookeeper.connect=cent:2181
vim server-2.properties
broker.id=2 port=9094 log.dir=/home/xzb/data/kafka/kafka-logs-2 host.name=cent zookeeper.connect=cent:2181
server.properties配置檔案引數資訊
#########################引數解釋##############################
broker.id=0 #當前機器在叢集中的唯一標識,和zookeeper的myid性質一樣
port=9092 #當前kafka對外提供服務的埠預設是9092
host.name=192.168.25.139#這個引數預設是關閉的,在0.8.1有個bug,DNS解析問題,失敗率的問題。
num.network.threads=3 #這個是borker進行網路處理的執行緒數
num.io.threads=8 #這個是borker進行I/O處理的執行緒數
log.dirs=/opt/kafka/kafkalogs/ #訊息存放的目錄,這個目錄可以配置為“,”逗號分割的表示式,上面的num.io.threads要大於這個目錄的個數這個目錄,如果配置多個目錄,新建立的topic他把訊息持久化的地方是,當前以逗號分割的目錄中,那個分割槽數最少就放那一個
socket.send.buffer.bytes=102400 #傳送緩衝區buffer大小,資料不是一下子就傳送的,先回儲存到緩衝區了到達一定的大小後在傳送,能提高效能
socket.receive.buffer.bytes=102400 #kafka接收緩衝區大小,當資料到達一定大小後在序列化到磁碟
socket.request.max.bytes=104857600 #這個引數是向kafka請求訊息或者向kafka傳送訊息的請請求的最大數,這個值不能超過java的堆疊大小
num.partitions=1 #預設的分割槽數,一個topic預設1個分割槽數
log.retention.hours=168 #預設訊息的最大持久化時間,168小時,7天
message.max.byte=5242880 #訊息儲存的最大值5M
default.replication.factor=2 #kafka儲存訊息的副本數,如果一個副本失效了,另一個還可以繼續提供服務
replica.fetch.max.bytes=5242880 #取訊息的最大直接數
log.segment.bytes=1073741824 #這個引數是:因為kafka的訊息是以追加的形式落地到檔案,當超過這個值的時候,kafka會新起一個檔案
log.retention.check.interval.ms=300000 #每隔300000毫秒去檢查上面配置的log失效時間(log.retention.hours=168 ),到目錄檢視是否有過期的訊息如果有,刪除
log.cleaner.enable=false #是否啟用log壓縮,一般不用啟用,啟用的話可以提高效能
zookeeper.connect=192.168.25.139:2181,192.168.25.139:2182,192.168.25.139:2183 #設定zookeeper的連線埠
#########################引數解釋##############################
#########################引數修改##############################
broker.id=0 #每臺伺服器的broker.id都不能相同
host.name=192.168.7.100 #hostname
#在log.retention.hours=169下面新增下面三項
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
#設定zookeeper的連線埠
zookeeper.connect=192.168.7.100:12181,192.168.7.101:12181,192.168.7.107:12181
#########################引數修改##############################
4. 開放埠號
root 使用者
vi /etc/sysconfigs/iptables
新增:kafka服務
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9092 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9093 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9094 -j ACCEPT
5. 啟動
-
1.啟動zookeeper叢集
-
2.啟動kafka叢集
bin/kafka-server-start.sh config/server.properties & bin/kafka-server-start.sh config/server-1.properties & bin/kafka-server-start.sh config/server-2.properties &
-
3檢查kafka是否啟動
jps
6. 測試
-
建立topic來驗證是否建立成功
bin/kafka-topics.sh --create --zookeeper 192.168.25.139:2181, 192.168.25.139:2182,192.168.25.139:2183 --replication-factor 2 --partitions 1 --topic test--replication-factor 2 #複製兩份 --partitions 1 #建立1個分割槽 --topic #主題為test
-
在一臺伺服器上建立一個釋出者’’’#建立一個broker,釋出者
bin/kafka-console-producer.sh --broker-list 192.168.25.139:2181, 192.168.25.139:2182,192.168.25.139:2183 --topic test
-
‘’‘在一臺伺服器上建立一個訂閱者’’’
bin/kafka-console-consumer.sh --zookeeper 192.168.25.139:2181, 192.168.25.139:2182,192.168.25.139:2183 --topic test --from-beginning
-
檢視topic
bin/kafka-topics.sh --describe --zookeeper 192.168.25.139:2181, 192.168.25.139:2182,192.168.25.139:2183 --topic test
-
殺死其中一個broker之後,再次檢視主題資訊,出現新的leader則成功
7. 日誌說明
kafka的日誌是儲存在/usr/fuyou/kafka/kafka_2.10-0.10.1.0/logs目錄下的
#kafka的執行日誌
server.log
#kafka他是用zookeeper來儲存狀態,所以他可能會進行切換,切換的日誌就儲存在這裡
state-change.log
#kafka選擇一個節點作為“controller”,當發現有節點down掉的時候它負責
在游泳分割槽的所有節點中選擇新的leader,
這使得Kafka可以批量的高效的管理所有分割槽節點的主從關係。
如果controller down掉了,活著的節點中的一個會備切換為新的controller.
controller.log
相關推薦
Linux下偽叢集搭建Kafka
Kafka叢集是把狀態儲存在Zookeeper中的,首先要搭建Zookeeper叢集。由於我們之前的分散式系統中已經安裝zookeeper服務,這裡不進行zookeeper安裝教程以及應用教程圖解 [https://blog.csdn.net/qq_348988
Spark本地安裝及Linux下偽分散式搭建
title: Spark本地安裝及Linux下偽分散式搭建 date: 2018-12-01 12:34:35 tags: Spark categories: 大資料 toc: true 個人github部落格:Josonlee’s Blog 文章目錄
linux下Mongodb叢集搭建:分片+副本集
三臺伺服器 192.168.1.40/41/42 安裝包 mongodb-linux-x86_64-amazon2-4.0.1.tgz 服務規劃 伺服器40 伺服器41 伺服器42 mongos mongos mongos config server config server
Linux下Redis叢集搭建與測試
叢集搭建 準備條件 一臺已經配置好Redis服務的虛擬機器,地址為: 192.168.2.100:6379 克隆6臺,使用命令nmtui修改地址分別為: 192.168.2.101 192.168.2.102 192.168.2.103 1
Linux下zookeeper叢集搭建
Zookeeper方案 zookeeper伺服器叢集規模不小於3個節點,要求伺服器之間系統時間保持一致。主機IP 訊息埠 通訊埠 節點目錄/usr/local/下192.168.74.155 2181 2888:3888 zookeeper192.168.74.156 2
CentOS 7下 linux中Solr偽叢集搭建
什麼是SolrCloudSolrCloud(solr 雲)是Solr提供的分散式搜尋方案,當你需要大規模,容錯,分散式索引和檢索能力時使用 SolrCloud。當一個系統的索引資料量少的時候是不需要使用SolrCloud的,當索引量很大,搜尋請求併發很高,這時需要使用Solr
linux下redis叢集的搭建
本篇部落格將演示還ubuntu下redis叢集的搭建。 redis-cluster架構圖: 架構細節: (1)所有的redis節點彼此互聯(PING-PONG機制),內部使用二進位制協議優化傳輸速度和頻寬. (2)節點的fail是通過叢集中超過半數的節點檢測失效時才生效.通過投
Windows下Zookeeper偽叢集搭建
一、下載 下載地址:Apache Zookeeper下載 或(https://mirrors.cnnic.cn/apache/zookeeper/),下載Zookeeper安裝檔案,字尾為.tar.gz。我下載的檔案是zookeeper-3.4.13.tar.gz。 二、叢集安裝目錄 在
kafka偽叢集搭建
2、解壓軟體 tar -zxvf kafka_2.11-1.1.0.tgz mv kafka_2.11-1.1.0 kafka 下圖為解壓後kafka資料夾內容 3、修改配置檔案 cd /mnt/kafka ll ./config/
kafka+zookeeper偽叢集搭建
(一.zookeeper偽叢集搭建)1.建立3個zoo.cfg(zoo1.cfg,zoo2.cfg,zoo3.cfg)zoo1.cfg 設定:# 資料資料夾dataDir=/usr/local/zook
linux下zookeeper叢集的搭建
linux下搭建三臺zookeeper叢集 1.安裝jdk https://blog.csdn.net/fusugongzi/article/details/77506452 2.安裝zookeeper https://www.cnblogs.com/wron
Linux下安裝tomcat搭建叢集
首先匯入壓縮包: 解壓: 建立目錄並將tomcat移動到這裡: 複製tomcat: 修改埠號(僅以最後一個為例): 切忌重啟配置! 啟動tomcat:
kafka linux下的叢集安裝
第一步.kafka 叢集安裝環境準備 環境:CentOS6.5 叢集環境: 192.168.139.130 master 192.168.139.131 node1 192.168.139.132
zookeeper在window下偽叢集的搭建
zookeeper 偽叢集的搭建主要修改配置檔案:將解壓包拷貝成三份。如圖所示,分別命名將對應的zoo.cfg分別命名為zoo-1.cfg,zoo-2.cfg,zoo-3.cfg;將對應的zkServer.cmd分別命名為zkServer-1.cmd,zkServer-2.c
Linux下nagios的搭建及相關配置
linux下nagios的搭建及相關配置一、LAMP環境部署1、安裝php 1.安裝yum源 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpm
linux下oracle11G DG搭建(四):興許驗證操作
歸檔 驗證 補充 over nts content -s 環境 fontsize linux下oracle11G DG搭建(四):興許驗證操作 環境 名稱 主庫 備庫 主機名 bjsrv shsrv 軟件版本號 RedH
Linux下私有CA搭建
openssl 內網搭建 數字證書為實現雙方安全通信提供了電子認證。在因特網、公司內部網或外部網中,使用數字證書實現身份識別和電子信息加密。數字證書中含有密鑰對(公鑰和私鑰)所有者的識別信息,通過驗證識別信息的真偽實現對證書持有者身份的認證。 證書申請及簽署步驟; 1、生成申請請求
Kotlin Linux下的環境搭建
解壓 跟著 裏的 下載 lin have export path 書寫 Kotlin是JVM世界裏的未來主宰,不管你信不信,我反正相信了! 好吧,如果你不糊塗,就跟著我一起學學吧,哈哈 一下載https://github.com/JetBrains/kotlin/relea
Linux下單機安裝部署kafka及代碼實現
{} edt serial integer exc height 復制 有一個 images 技術交流群:233513714 這幾天研究了kafka的安裝及使用,在網上找了很多教程但是均以失敗告終,直到最後想起網絡方面的問題最終才安裝部署成功,下面就介紹一下kaf
Linux下輕松搭建NAT服務器
linux nat 路由 共享上網 什麽是NAT?NAT(Network address translation)即網絡地址轉換,作為一種過渡解決手段,可以用來減少對全球合法IP地址的需求。簡單的說,NAT就是在內部專用網絡中使用內部地址,而當內部節點要與外界網絡發生聯系時,就在邊緣路由器或者