導航:首頁 > 配伺服器 > 一台伺服器如何搭建集群

一台伺服器如何搭建集群

發布時間:2023-07-23 07:11:34

『壹』 Kafka相關內容總結(Kafka集群搭建手記)

Kafka is a distributed,partitioned,replicated commit logservice。它提供了類似於JMS的特性,但是在設計實現上完全不同,此外它並不是JMS規范的實現。kafka對消息保存時根據Topic進行歸類,發送消息者成為Procer,消息接受者成為Consumer,此外kafka集群有多個kafka實例組成,每個實例(server)成為broker。無論是kafka集群,還是procer和consumer都依賴於zookeeper來保證系統可用性集群保存一些meta信息。
入門請參照: https://www.ibm.com/developerworks/cn/opensource/os-cn-kafka/index.html
在此不再贅述。

這部分不是本文的重點,但是kafka需要用到kafka集群,所以先搭建kafka集群。
從kafka官方文檔看到,kafka似乎在未來的版本希望拋棄zookeep集群,自己維護集群的一致性,拭目以待吧。
我們搭建集群使用的是三台同機房的機器,因為zookeeper不怎麼占資源也不怎麼占空間(我們的業務目前比較簡單),所以三台機器上都搭建了zookeeper集群。
搭建zookeeper集群沒什麼難度,參考文檔: http://www.cnblogs.com/huangxincheng/p/5654170.html
下面列一下我的配置並解析:

一共用三台物理機器,搭建一個Kafka集群。
每台伺服器的硬碟劃分都是一樣的,每個獨立的物理磁碟掛在一個單獨的分區裡面,這樣很方便用於Kafka多個partition的數據讀寫與冗餘。
/data1比較小,為了不成為集群的瓶頸,所以/data1用於存放kafka以及Zookeeper
每台機器的磁碟分布如下:

下面是kafka的簡單配置,三台伺服器都一樣,如有不一致的在下文有說明。
kafka安裝在目錄/usr/local/kafka/下,下面的說明以10.1.xxx.57為例。

最重要的配置文件server.properties,需要配置的信息如下:

從上面的配置看到,kafka集群不需要像hadoop集群那樣,配置ssh通訊,而且一個kafka伺服器(官方文檔稱之為broker,下面統一使用這個稱呼)並不知道其他的kafka伺服器的存在,因此你需要逐個broker去啟動kafka。各個broker根據自己的配置,會自動去配置文件上的zk伺服器報到,這就是一個有zk伺服器粘合起來的kafka集群。
我寫了一個啟動腳本,放在 /usr/local/kafka/bin 下面。啟動腳本每個broker都一樣:

如同kafka集群裡面每一個broker都需要單獨啟動一樣,kafka集群裡面每一個broker都需要單獨關閉。
官方給出的關閉腳本是單獨運行 bin/kafka-server-stop.sh
但是我運行的結果是無法關閉。打開腳本一看,才發現是最簡單的辦法,發一個TERM信號到kafka的java進程,官方腳本給出的grep有點問題。
發信號之後,一直tail著kafka日誌,看到正常關閉。

指定zookeeper伺服器,topic名稱是LvsKafka(注意topic名稱不能有英文句號(.)和下劃線(_),否則會通不過,理由是名稱會沖突,下文對此略有解析)
replication-factor指出重復因子是2,也就是每條數據有兩個拷貝,可靠性考慮。
partitions 指出需要多少個partition,數據量大的多一點,無論生產和消費,這是負載均衡和高並發的需要。

可以看到剛才新建的24個partition,比如partition 5, 他的leader是broker 59,也就是10.1.xxx.59這台機器。
建立topic時我們指出需要2個拷貝,從上面的輸出的Replicas欄位看到,這兩個拷貝放在59,58兩個機器,也就是10.1.xxx.59和10.1.xxx.58.
Isr表示當前partition的所有拷貝所在的機器中,哪些是還活著(可以提供服務)的。現在是59和58都還存活。

這個命令另外還會看到一些類似於下面的內容:

__consumer_offsets到底是什麼呢?其實就是客戶端的消費進度,客戶端會定時上報到kafka集群,而kafka集群會把每個客戶端的消費進度放入一個自己內部的topic中,這個topic就是__consumer_offsets。我查看過__consumer_offsets的內容,其實就是每個客戶端的消費進度作為一條消息,放入__consumer_offsets這個topic中。
這里給了我們兩個提示:
1、kafka自己管理客戶端的消費進度,而不是依靠zk,這就是kafka官方文檔說的kafka未來會拋棄zk的底氣之一;
2、留意到這個kafka自己的topic是帶下劃線的,也就是,kafka擔心我們自己建的topic如果帶下劃線的話會跟這些內部自用的topic沖突;

『貳』 如何在一台ESXi主機上搭建一整套VSAN集群的環境

就來介紹下如何在一台ESXi主機上配置3個ESXi並組建一個VSAN集群。昨天,我介紹了如何在一台ESXi主機上安裝ESXi的客戶機(當然這些ESXi本身也是主機哦,還可以在其上部署虛擬機,雖然性能會比較差)。因此,首先就是根據上面所說的硬體條件創建3個虛擬機用來安裝ESXi5.5u1。我的配置是每一台主機都包括:
4個CPU(最少2個)
8GB內存
3個硬碟,一個4GB(用來裝系統)、一個40GB(模擬成SSD)、一個400GB(提供給vsan存放數據)
2個網路適配器,一個在子網192.168.10.x用於管理和虛擬機網路,一個在子網192.168.20.x,用於VSAN VMkernel
虛擬機版本10

注意,為了讓ESXi客戶機有2個網路適配器,在ESXi主機(本例中起名為esxi01)上的網路配置至少要配置2個不同的埠組,我將這2個埠組分別配置在了2個不同的vSwitch上:
vSwitch0,默認vSwitch,配置有管理網路(VMKernel)和VM Network 10埠組
vSwitch2,新增的vSwitch,配置有VM Network 20埠組
此外,我還因為有iSCSI存儲,因此配置了2個iSCSI的VMKernel分別在vSwitch1和vSwitch2上。
vSwitch0和vSwitch2的配置截圖如下:

這里有一點要說明的是,如果僅為了vsan網路的通信,vSwitch2可以沒有上聯的物理適配器,我的截圖裡面配置了上聯的物理適配器是因為我還有一個iSCSI2的VMkernel需要使用。

安裝3台虛擬機的過程就不贅述了,只要你按照我昨天的文章來操作,就可以順利完成。安裝完之後,照例是配置靜態IP地址、FQDN主機名、禁用IPv6、DNS並開啟SSH和ESXi SHELL以備之後在控制台輸入命令行使用。

需要強調一次的是,在你的實驗網路中,需要配置好一台域控制器,它同時也是DNS伺服器,並事先在DNS伺服器裡面添加好靜態的ESXi主機的DNS項。在我的實驗環境中,它們是:
esxi55u01.home.lab – 192.168.10.31
esxi55u02.home.lab – 192.168.10.32
esxi55u03.home.lab – 192.168.10.33
請在黃色DCUI界面(安裝完ESXi主機的初次配置界面)裡面測試一下網路,如果主機域名也能順利解析,那就說明網路配置都完備了。DNS對於正確配置VMware集群來說非常重要。

接下去就是用vSphere Web客戶端再次連接到vCenter(我的是vCSA),把這幾台新安裝的ESXi主機添加進來,添加的時候要用FQDN,不能是IP地址。

現在讓我們來看一看這些ESXi主機的磁碟情況(左邊窗格點選主機,在右邊窗格分別選擇管理,存儲器和存儲設備,如圖所示),可以看見置備的3個磁碟都是非SSD。下面要克服的問題是怎樣欺騙ESXi,讓它以為其中一塊40GB的磁碟是SSD,這樣才能滿足VSAN配置的必要前提條件。

讓我們進入到這台vSphere ESXi主機的管理控制台界面,在命令行裡面輸入下面的2條命令,就可以完成:

# esxcli storage nmp satp rule add --satp VMW_SATP_LOCAL --device mpx.vmhba1:C0:T1:L0 --option=enable_ssd
# esxcli storage core claiming reclaim -d mpx.vmhba1:C0:T1:L0

注意,這里的設備ID要填寫你所想要變成SSD的那個磁碟,設備ID就是長的像mpx.vmhba1.C0:T1:L0的那個。
輸入命令後,如果沒有填錯,是不返回結果的。回到vSphere Web客戶端,刷新一下,你就會發現那個40GB的磁碟的類型變成SSD了。

關於VSAN的配置,LeoXiao同學寫的很不錯,就不多羅嗦了。你可以參考他的文章。

我借個圖說明下順序:

多說一句,為了測試NIOC功能,而這個功能只有在分布式交換機上才有,所以,建議VSAN集群配置的時候先配置好分布式交換機,並且把VSAN專用的VMkernel建在分布式交換機上。

最後,給大家看一下,要搭建一個VSAN集群的測試環境,在一台主機上至少要配置並開啟5台虛擬機——包括1台域控制器,1台vCenter和3台ESXi主機(每台都配了8GB內存哦)。

雖然還是有一些網路傳輸上不穩定的問題,不過vsan數據存儲好歹是建起來了。

『叄』 如何最快搭建linux伺服器集群

1.2.並行技術
這是一個非常簡單的建造四節點的小集群系統的例子,它是構建在Linux操作系統上,通過MPICH軟體包實現的,希望這個小例子能讓大家對集群系統的構建有一個最基本的了解。
2.使用MPICH構建一個四節點的集群系統
這是一個非常簡單的建造四節點的小集群系統的例子,它是構建在Linux操作系統上,通過MPICH軟體包實現的,希望這個小例子能讓大家對集群系統的構建有一個最基本的了解。
2.1 所需設備
1).4台採用Pentium II處理器的PC機,每台配
置64M內存,2GB以上的硬碟,和EIDE介面的光碟驅動器。
2).5塊100M快速乙太網卡,如SMC 9332 EtherPower 10/100(其中四塊卡用於連接集群中的結點,另外一塊用於將集群中的其中的一個節點與其它網路連接。)
3).5根足夠連接集群系統中每個節點的,使用5類非屏蔽雙絞線製作的RJ45纜線
4).1個快速乙太網(100BASE-Tx)的集線器或交換機
5).1張Linux安裝盤
2.2 構建說明
對計算機硬體不熟的人,實施以下這些構建步驟會感到吃力。如果是這樣,請找一些有經驗的專業人士尋求幫助。
1. 准備好要使用的採用Pentium II處理器的PC機。確信所有的PC機都還沒有接上電源,打開PC機的機箱,在准備與網路上的其它設備連接的PC機上安裝上兩塊快速乙太網卡,在其它的 PC機上安裝上一塊快速乙太網卡。當然別忘了要加上附加的內存。確定完成後蓋上機箱,接上電源。
2. 使用4根RJ45線纜將四台PC機連到快速乙太網的集線器或交換機上。使用剩下的1根RJ45線將額外的乙太網卡(用於與其它網路相連的那塊,這樣機構就可以用上集群)連接到機構的區域網上(假定你的機構區域網也是快速乙太網),然後打開電源。
3. 使用LINUX安裝盤在每一台PC機上安裝。請確信在LINUX系統中安裝了C編譯器和C的LIB庫。當你配置TCP/IP時,建議你為四台PC分別指定為192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4。第一台PC為你的伺服器節點(擁有兩塊網卡的那台)。在這個伺服器節點上的那塊與機構區域網相連的網卡,你應該為其指定一個與機構區域網吻合的IP地址。
4.當所有PC都裝好Linux系統後,編輯每台機器的/etc/hosts文件,讓其包含以下幾行:
192.168.1.1 node1 server
192.168.1.2 node2
192.168.1.3 node3
192.168.1.4 node4
編輯每台機器的/etc/hosts.equiv文件,使其包含以下幾行:
node1
node2
node3
node4
$p#
以下的這些配置是為了讓其能使用MPICH』s p4策略去執行分布式的並行處理應用。
1. 在伺服器節點
,建一個/mirror目錄,並將其配置成為NFS伺服器,並在/etc/exports文件中增加一行:
/mirror node1(rw) node2(rw) node3(rw) node4(rw)
2. 在其他節點上,也建一個/mirror目錄,關在/etc/fstab文件中增加一行:
server:/mirror /mirror nfs rw,bg,soft 0 0
3. /mirror這個目錄從伺服器上輸出,裝載在各個客戶端,以便在各個節點間進行軟體任務的分發。
4. 在伺服器節點上,安裝MPICH。MPICH的文檔可在
5.任何一個集群用戶(你必須在每一個節點新建一個相同的用戶),必須在/mirror目錄下建一個屬於它的子目錄,如 /mirror/username,用來存放MPI程序和共享數據文件。這種情況,用戶僅僅需要在伺服器節點上編譯MPI程序,然後將編譯後的程序拷貝到在/mirror目錄下屬於它的的子目錄中,然後從他在/mirror目錄下屬於它的的子目錄下使用p4 MPI策略運行MPI程序。
2.3 MPICH安裝指南
1.如果你有gunzip,就d下載mpich.tar.gz,要不然就下載mpich.tar.Z。你可以到http://www.mcs.anl.gov/mpi/mpich/downloa下載,也可以使用匿名FTP到ftp.mcs.anl.gov的pub/mpi目錄拿。(如果你覺得這個東西太大,你可以到pub/mpi/mpisplit中取分隔成塊的幾個小包,然後用cat命令將它們合並)
2.解壓:gunzip ;c mpich.tar.gz tar xovf-(或zcat mpich.tar.Ztar xovf-)
3.進入mpich目錄
4.執行:./configure為MPICH選擇一套適合你的實際軟硬體環境的參數組,如果你對這些默認選擇的參數不滿意,可以自己進行配置(具體參見MPICH的配置文檔)。最好選擇一個指定的目錄來安裝和配置MPICH,例如:
./configure -prefix=/usr/local/mpich-1.2.0
5.執行:make >&make.log 這會花一段較長的時間,不同的硬體環境花的時間也就不同,可能從10分鍾到1個小時,甚至更多。
6.(可選)在工作站網路,或是一台單獨的工作站,編輯mpich/util/machines/machines.xxx(xxx是MPICH對你機器體系結構取的名稱,你能很容易的認出來)以反映你工作站的當地主機名。你完全可以跳過這一步。在集群中,這一步不需要。
7.(可選)編譯、運行一個簡單的測試程序:
cd examples/basic
make cpi
ln ;s ../../bin/mpirun mpirun
./mpirun ;np 4 cpi
此時,你就在你的系統上運行了一個MPI程序。
8.(可選)構建MPICH其餘的環境,為ch_p4策略使
用安全的服務會使得任何啟動速度加快,你可以執行以下命令構建:
make serv_p4
(serv_p4是一個較新的P4安全服務的版本,它包含在MPICH 1.2.0版中),nupshot程序是upshot程序的一個更快版本,但他需要tk 3.6版的源代碼。如果你有這個包,你就用以下命令可以構建它:
make nupshot
9.(可選)如果你想將MPICH安裝到一個公用的地方讓其它人使用它,你可以執行:
make install 或 bin/mpiinstall
你可以使用-prefix選項指定MPICH安裝目錄。安裝後將生成include、lib、bin、sbin、www和man目錄以及一個小小的示例目錄,
到此你可以通告所有的用戶如何編譯、執行一個MPI程序。

『肆』 如何搭建伺服器集群

可以通過兩種方法創建集群:1.創建一個集群,並同時創建若干個雲伺服器。可以通過容器服務直接創建一個包含若干個新雲伺服器的集群。2.創建一個零節點的集群並添加已有的雲伺服器。創建一個零節點的集群。如果您已經在雲伺服器 ECS 上購買了若干個雲伺服器,可以在容器服務上創建一個零節點的集群。

『伍』 Linux系統 CentOS 7怎麼搭建集群

CentOS 7下怎麼搭建高可用集群。高可用集群是指以減少服務中斷時間為目的的伺服器集群技術。它通過保護用戶的業務程序對外不間斷提供的服務,把因軟體/硬體/人為造成的故障對業務的影響降低到最小程度。那麼新的centos下怎麼來搭建高可用集群。環境:本文以兩台機器實現雙集熱備高可用集群,主機名node1的IP為192.168.122.168 ,主機名node2的IP為192.168.122.169 。
一、安裝集群軟體必須軟體pcs,pacemaker,corosync,fence-agents-all,如果需要配置相關服務,也要安裝對應的軟體
二、配置防火牆
1、禁止防火牆和selinux
修改/etc/sysconfig/selinux確保SELINUX=disabled,然後執行setenforce 0或者reboot伺服器以生效
2、設置防火牆規則
三、各節點之間主機名互相解析分別修改2台主機名分別為node1和node2,在centos 7中直接修改/etc/hostname加入本機主機名和主機表,然後重啟網路服務即可。
配置2台主機的主機表,在/etc/hosts中加入
四、各節點之間時間同步在node1和node2分別進行時間同步,可以使用ntp實現。
五、各節點之間配置ssh的無密碼密鑰訪問。下面的操作需要在各個節點上操作。
兩台主機都要互相可以通信,所以兩台主機都得互相生成密鑰和復制公鑰,相互的節點上的hosts文件是都要解析對方的主機名, 192.168.122.168 node1 192.168.122.169 node2
六、通過pacemaker來管理高可用集群
1、創建集群用戶
為了有利於各節點之間通信和配置集群,在每個節點上創建一個hacluster的用戶,各個節點上的密碼必須是同一個。

『陸』 如何建立伺服器集群及相關問題

集群准備工作N多,看你的具體需求而定,一般情況如下:
1、節點伺服器,域,節點伺服器必須在同一域內;
2、共享存儲,最次也得一個NAS吧;
3、節點伺服器的雙網卡,共享存儲一塊,伺服器通訊一塊;
4、域相關設置,比如集群管理帳戶等;
具體安裝比較簡單,add
feature(添加功能),集群功能。
安裝後需要先驗證安裝,開始菜單--〉管理工具--〉故障轉移集群管理,驗證過程中輸入節點伺服器IP或者域名(域內DNS注冊以後)--〉運行全部測試,最後查看報告,根據報告修改、配置集群。一切正常以後,開始正式配置集群;

閱讀全文

與一台伺服器如何搭建集群相關的資料

熱點內容
php開發學習門戶 瀏覽:383
傳奇游戲伺服器怎麼設置 瀏覽:823
敲擊東西解壓完整版 瀏覽:401
刺絡學pdf 瀏覽:868
怎麼給手機文件夾設置封面 瀏覽:931
汽車保養app怎麼用 瀏覽:62
線程javalock 瀏覽:896
c語言編譯運行結果查看器 瀏覽:112
androidpx轉dip 瀏覽:841
西藏編譯局是什麼級別 瀏覽:1001
php提交代碼 瀏覽:597
如何用命令查找並刪除代碼塊 瀏覽:582
python初學路線圖 瀏覽:534
matlab遺傳演算法旅行商問題 瀏覽:304
將辦公軟體加入加密軟體的進程 瀏覽:724
聯想小新pro14編譯器 瀏覽:462
為什麼伺服器要關掉icmp協議 瀏覽:855
源碼編輯器如何設置難度 瀏覽:357
給pdf加目錄 瀏覽:476
加密軟體怎麼改安全問題 瀏覽:552