無交換機情況下的集群互聯

2022-08-13 13:27:16 字數 3897 閱讀 5880

機房有3臺伺服器,需要搭建乙個小型集群,用於做大資料實驗。

現在的條件如下:

1. 共3臺伺服器,每台伺服器上有4個1g網路介面。

2. 只給了乙個外網ip,用於接入網際網路。

3. 一台8口100m家用路由器(-_-)。

目的如下:

1. 要3臺伺服器能夠相互通訊,並且通訊的頻寬要盡量大,因為是做大資料的實驗。

2. 要3臺伺服器能同時上網。

現在有兩種較直接的方案:

1. 3臺機器接到路由器+路由器接入外網

這是傳統的小區域網模式,這樣3臺機器互聯以及上網的目的都可以達到,但小路由器的頻寬和效能,根本無法勝任大資料量的傳輸。雖然兩兩間的頻寬可以達到10mb/s,但當機器間同時傳輸資料時,平均頻寬就很小了。況且,每台機器上都有4個網路介面,沒有被充分利用。

2. 3臺機器接到路由器+1臺機器接入外網+網路**

與第一種方案相比,這種方案將master節點直接接入外網,並在其上安裝網路**程式,其他節點都通過master節點上網,整個集群的出外網的頻寬都增大了。

以上兩種方案,僅僅滿足了互聯和同時上網的要求,而效能則達不到做大資料的要求。

主要瓶頸是機器間互聯的頻寬太小,受限於不給力的小路由器。

機器上的介面本來是1g的,接到 100m網路中實在是浪費,於是決定嘗試機器間直連的方式。

最終的方案

機器a接入外網,在後台,3臺機器之間兩兩直連。

總體上看,機器之間都是直接通訊的,資料傳輸無需額外的**,非常適合大資料環境,而只有在上網時,機器b和c才需要經過a的**。

下面我們詳細說明:

1. 3臺機器的互聯

連線方式及網路配置如下:

可以看到,所有eth的ip都配置成static的,並且每台機器的兩個eth都配置成相同的ip,這並不會造成衝突,相反,還使得機器之間可以通過唯一的ip進行通訊,減少後面配置hadoop集群時的負擔。

配置完ip之後,還需要在各機器上配置路由規則,指定目的ip與eth的對應關係。如在機器b上,配置目的位址為192.168.1.21的出口為eth1,目的位址為192.168.1.23的出口為eth2。

至此,3臺機器的互聯完成了。

2. 3臺機器的上網

將機器a直接接入外網,並作為其他兩台機器的閘道器,其他兩台機器出內網的資料報都經過機器a**,從而實現3臺機器同時上網。

這需要通過兩步來實現:

首先需要將機器a配置成路由器,通過核心的ip forwarding功能即可實現。

然後,配置機器b和c,指定其閘道器為機器a的內網ip即192.168.1.21,這樣,在機器b和c上,出內網的資料報,都會傳送給機器a。機器a在收到來自b或c的出內網資料報時,會將資料報**到外網。

如何配置linux軟路由?

由於機器a作為其他節點的閘道器,所以需要將該節點配置成軟路由器,這通過以下兩步實現:

首先開啟核心的ip forwarding支援

echo 1 > /proc/sys/net/ipv4/ip_forward

vim /etc/sysctl.conf配置net.ipv4.ip_forward=1

最後配置**規則

iptables -t nat -a postrouting -s 192.168.1.0/24 ! -d 192.168.1.0/24 -o eth0 -j masquerade

使得所有來自192.168.1.0/24網段,且目的位址不是內網的資料報,都經過nat處理,並通過eth0埠**出去。

如何新增路由規則?

三颱機器之間相互通訊,需要指定目的ip和出口的對應關係,這樣資料報才能從正確的埠傳送出去,從而被目的機器接收。

在機器a上執行

route add -host 192.168.1.22 dev eth1

route add -host 192.168.1.23 dev eth2

在機器b上執行

route add -host 192.168.1.21 dev eth1

route add -host 192.168.1.23 dev eth2

在機器c上執行

route add -host 192.168.1.21 dev eth1

route add -host 192.168.1.22 dev eth2

這裡簡單介紹一下直通線和交叉線。

常用的網線有雙絞線、同軸電纜、光纖等幾種。

雙絞線是目前最常用的網線,它由8根不同顏色的線分成4對絞合在一起,成對扭絞的作用是盡可能減少電磁輻射與外部電磁干擾的影響。

雙絞線的兩端都有rj45型的插頭,就是我們通常說的水晶頭。相應的,在網路裝置上就有rj45型的介面,與rj45插頭相匹配。

rj45插頭/介面有8個引腳,每個引腳的定義不同,分為資料傳送端,資料接收端等幾種。

由於網路裝置型別的不同,rj45介面就有兩種型別:一種是dte(data terminal equipment),資料終端裝置,也就是pc等終端裝置。另一種是dce(data circuit-terminating equipment),資料通訊裝置,也就是路由器,交換機,modem等通訊裝置。

兩種rj45介面的區別就是引腳的定義不同。

下圖所示是dte型別的引腳定義

下圖則是dce型別的引腳定義

可以看出兩種介面的資料傳送和接收引腳正好相反,因此,在dte裝置和dce裝置之間,直接將引腳一一對連,就可以實現通訊。

而在同型別的裝置之間,如dte與dte之間,直接將引腳一一對連,是無法通訊的,試想兩個資料傳送端相連,都傳送誰來接收呢?

於是,雙絞線的rj45插頭就有了兩種佈線的順序,也就是t568a與t568b。

t568a中8根線與插頭引腳的對應關係如下:

t568b中8根線與插頭引腳的對應關係如下:

可以看出t568b插頭就是將t568a的1,2號線與3,6號線的順序交換了,與dte和dce的性質一樣。

於是,兩端都是t568a插頭的雙絞線,就是直通線,用於不同型別的裝置之間互聯,而一端是t568a插頭另一端是t568b插頭的雙絞線,就是交叉線,用於相同型別的裝置之間互聯。

可以看出,兩種網線的存在,並且之間不相容,導致了搭建網路的混亂。

幸運的是,目前大多數網路裝置都提供了auto mdi/mdi-x功能,即自動翻轉,能夠自動識別和翻轉引腳的功能。

這樣,無論是何種裝置之間互聯,無論使用的何種雙絞線,具備auto mdi/mdi-x功能的網絡卡或網路裝置都能自動適配引腳功能,實現通訊。

在撥號情況下利用交換機共享網路

最近宿舍買了個電信撥號的上網,想兩個人用乙個賬號,所以摸索了一番才試出來的,現記錄好以便以後檢視 1.兩台電腦,1臺做服務端a,一台做客戶端b 2.a在撥號連線的屬性中設定好 3.將a的ip設定為192.168.0.1 注意 可能在勾選時電腦有推薦的ip,那就設定那個也行 子網掩碼255.255.2...

怎麼知道跟交換機互聯的交換機 怎麼選擇POE交換機

工作的呢?48v供電的就是標準poe嗎?下面我們簡單講解一下標準poe和mcu poe交換機 微控制器 及非標poe裝置是怎麼工作的。標準poe和mcu poe交換機 微控制器 以及非標準poe產品定義 首先我們來看一下什麼是標準poe mcu poe交換機 微控制器 非標poe 一 標準poe產品...

虛擬交換機軟體 交換機級聯 堆疊與集群的區別

交換機的級聯 堆疊 集群這 3 種技術既有區別又有聯絡 1 級聯和堆疊是實現集群的前提,集群是級聯和堆疊的目的。2 級聯和堆疊是基於硬體實現的。3 集群是基於軟體實現的 級聯和堆疊有時很相似 尤其是級聯和虛擬堆疊 有時則差別很大 級聯和真正的堆疊 一 級聯 級聯可以定義為兩台或兩台以上的交換機通過一...