① linux 下集群的搭建(偽集群)
我這邊的編譯路徑未 make install /usr/local/redis
mkdir /usr/local/redis-cluster
指定只能以192.168.3.4這運穗個IP訪問
bind 0.0.0.0
指定埠
port 7000
啟動後台運行
daemonize yes
存放進程Id
pidfile /usr/local/redis-cluster/7000.pid
日誌文件
logfile "7000.log"
3600秒內有一個key變化就執行快照持久化
save 3600 1
快照存放文件
dbfilename 7000.rdb
工作目錄
dir /usr/local/redis-cluster/7001
是否啟動保存操作日誌
appendonly yes
操作日誌存放文件
appendfilename "7000.aof"
是否開激哪啟集群
cluster-enabled yes# 集群配置文件(啟動後自動生成)
cluster-config-file nodes-7000.conf
集群節點ping、pong超時時間
cluster-node-timeout 5000
./redis-service ./7000.conf
用redis-cli --cluster create 命令創建集群旁鉛卜(將節點加入集群,指定節點主從關系,同時執行均勻分槽,將16384個槽位分配給3個主節點)
./bin/redis-cli --cluster create 192.168.50.132:7000 192.168.50.132:7001 192.168.50.132:7002 192.168.50.132:7003 192.168.50.132:7004 192.168.50.132:7005 --cluster-replicas 1
如果添加了密碼,需要在後面添加-a 參數,如果-a 1111
./bin/redis-cli --cluster create 192.168.50.132:7000 192.168.50.132:7001 192.168.50.132:7002 192.168.50.132:7003 192.168.50.132:7004 192.168.50.132:7005 --cluster-replicas 1 -a 1111
② 如何實現Linux伺服器集群系統
伺服器的集群系改敏統是比較復雜的功能,這個得根據你業務的需求來確定使用什麼架構。
如果是做mysql的集群,可以使用mycat中間件做讀寫分離,也可以使用MHA,來實現MySQL的集群。
如果要是做web項目的話,則可以使用LVS+Keepalived來實現。也可以使用Nginx做反向代理。
現在比較火的可能是虛擬化,就是配置一台高配伺服器,在其中運行docker或者openstack等虛擬核衫枝化技術也可以實現塌瞎集群的功能,有個弊端就是宿主機一旦故障,整個業務全部癱瘓,當然,這樣是比較節省開銷的。
③ 集群、負載均衡與分布式有什麼區別
集群、負載均衡與分布式的區別:
1、Linux集群主要分成三大類( 高可用集群, 負載均衡集群,科學計算集群)(下面只介紹負載均衡集群)
負載均衡集群(Load Balance Cluster)
負載均衡系統:集群中所有的節點都處於活動狀態,它們分攤系統的工作負載。一般Web伺服器集群、資料庫集群和應用伺服器集群都屬於這種類型。
負載均衡集斗做族群一般用於相應網路請求的網頁伺服器,資料庫伺服器。這種集群胡旦可以在接到請求時,檢查接受請求較少,不繁忙的伺服器,並把請求轉到這些伺服器上。從檢查其他伺服器狀態這一點上看,負載均衡和容錯集群很接近,不同之處是數量上更多。
2、負載均衡系統: 負載均衡又有DNS負載均衡(比較常用)、IP負載均衡、反向代理負載均衡等,也就是在集群中有伺服器A、B、C,它們都是互不影響,互不相乾的,任何一台的機器宕了,都不會影響其他機器的運行,當用戶來一個請求,有負載均衡器的演算法決定由哪台機器來處理,假如你的演算法是採用round演算法,有用戶a、b、c,那麼分別由伺服器A、B、C來處理;
3、分布式是指將不同的業務分布在不同的地方。
而集群指的是將幾台伺服器集中在一起,實現同一業務。
分布式中的每一個節點,都可以做集群。
而集群並不一定就是分布空弊式的。
舉例:就比如新浪網,訪問的人多了,他可以做一個群集,前面放一個響應伺服器,後面幾台伺服器完成同一業務,如果有業務訪問的時候,響應伺服器看哪台伺服器的負載不是很重,就將給哪一台去完成。
而分布式,從窄意上理解,也跟集群差不多, 但是它的組織比較鬆散,不像集群,有一個組織性,一台伺服器垮了,其它的伺服器可以頂上來。
分布式的每一個節點,都完成不同的業務,一個節點垮了,哪這個業務就不可訪問了。
④ 資料庫集群是什麼意思
拿oracle為例:
集群是知辯多台伺服器共同提供服務,資料庫集群的意思就是多台運行資料庫服務的伺服器組成一個集群。
oracle的集群,自己的是rac,最少需要2台機器,先裝cluster或者grid,再在集群上安裝資料庫,就可以了。
要是db2的話,還得搭知缺用ibm的操作系統,安裝一個集群軟體
hacmp等等的。
反正
核心要理解的就是
,做集群,要有集群系統來支撐。例如猛亂
,文件同步訪問等等的。
rac,hacmp等等的,都屬於集群系統!
⑤ linux集群架構和資料庫集群架構的區別哪個更有發展零基礎的現在可以學嗎
現在比較大型點的系統基本上是AP+DB的架構: AP指應用程序,DB指資料庫端
AP放在一個伺服器上,DB放在另一個伺服器上
當一個系統比較大,訪問的用戶數量比較多的時候,比如QQ,上億用戶.
這時一個伺服器就吃不消了,這樣就想到多個伺服器跑同一個AP應用手臘.
DB端也一樣.
linux集群 指的就是多個伺服器跑同一個AP應用,系統管理員的工作
資料庫集群 指的就是多個畢如滑伺服器跑同一個DB數據橡咐庫.資料庫管理員的工作
linux集群基礎就要熟悉linux系統.
資料庫集群基礎就要熟悉具體的資料庫如oracle,db2,sysbase.mysql.等
0基礎可以學,只是要花時間.0基礎想搞到集群估計得花3個月時間.這還是要有環境的,有人指導才行.
⑥ 伺服器集群怎麼搭建Linux平台的
linux伺服器集群平台的搭建比較簡單,有專門的均衡軟體,比如lvs,lvs是一個集群系統,由很多伺服器組成,可以根據需要,把它門分為三層,一層是前端機,用於均衡,相當於公平為系統分配工作,二層是伺服器群,比如web伺服器群,DNS,mail群等,這些就是接待員,把均衡器分配的工作進行處理,第三層是存儲設備,用於存儲數據,相當於檔案庫。
知道這些後,要搭建就非常容易,有現成的軟體,比如我有四台web伺服器,2台資料庫,1台前置機 ,安裝linux系統,安裝lvs軟體,比如
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
libnet-1.1.4-3.el5.i386.rpm
heartbeat-devel-2.1.4-9.el5.i386.rpm
heartbeat-pils-2.1.4-10.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
heartbeat-gui-2.1.4-9.el5.i386.rpm
heartbeat-stonith-2.1.4-10.el5.i386.rpm
當然還需要配置,你可以自己網路有關lvs集群的詳細安裝說明。希望能幫助你。
⑦ 什麼是Linux集群
集群通信系統是一種計算機系統,
它通過一組鬆散集成的計算機軟體和/或硬體連接起來高度緊密地協作完成計算工作。簡單地說,集群(cluster)就是一組計算機,它們作為一個整體向用戶提供一組網路資源。這些單個的計算機系統就是集群的節點(node)。一個理想的集群,用戶是不會意識到集群系統底層的節點的。在他們看來,集群是一個系統,而非多個計算機系統。並且集群系統的管理員可昌嘩以隨意增加敏蠢和刪改集群系統的節點。
集群已不是一個全新的概念,早在七十年代計算機廠商和研究機構就對集群系統進行了研究和開橋迅陪發。這些系統不為大家熟知,是因為它主要用於科學工程計算。直到Linux集群的出現,集群的概念才得以廣泛傳播。集群系統主要分為高可用(High
Availability)集群,簡稱HA集群,和高性能計算(High Perfermance Computing)集群,簡稱HPC集群。
在Linux出現前,集群系統採用的操作系統主要有VMS、UNIX和WindowsNT。到九十年代末期,linux操作系統不斷走向成熟,它的健壯性不斷增強,並且提供了GNU軟體和標准化的PVM、MPI消息傳遞機制,最重要的是Linux在普通PC機上提供了對高性能網路的支持,這樣就大大推動了基於Linux的集群系統的普及和發展。
⑧ 請問linux集群、oracle集群是什麼技術
一、linux集群
Linux集群系統包括集群節點和集群管理器兩部分。集群節點有時簡稱為節點、伺服器或伺服器節點,是提供處理資源的系統,它進行集群的實際工作。一般來講,它必須進行配置才能成為集群的一部分,也必須運行集群的應用軟體。應用軟體可以是專用於集群的軟體,也可以是設計用於分布式系統的標准軟體。Linux集群管理器則是將節點捆綁在一起,以構成單一系統外觀的邏輯結構,它用於將任務分解到所有的節點。
集群因多種不同的原因而有著不同的類型,建立Linux集群的最直接原因是共享CPU資源,在多個機器之間平衡負載,獲得更多的系統可靠性,或在主機失敗時提供後備系統(切換)。
通過對相關軟體的分析,實現集群負載的功能是通過流量管理實現的,具體有以下幾種實現方法:直接路由(Direct Forwarding)、網路地址轉換(NAT)和隧道技術(Tunneling)。
直接路由(Direct Forwarding)是當參與集群的計算機和作為控制管理的計算機在同一個網段時可以使用此法。控制管理的計算機接收到請求包時,直接送到參與集群的節點。它的優點是返回給客戶的流量不經過控制主機,速度快、開銷少。
可能大家比較熟悉網路地址轉換(NAT)這種方法。地址轉換器有能被外界訪問到的合法IP地址,它修改來自專有網路的流出包的地址,外界看起來包是來自地址轉換器本身。當外界包送到轉換器時,它能判斷出應該將包送到內部網的哪個節點。它的優點是節省IP地址,能對內部進行偽裝;缺點是效率低,因為返回給請求方的流量要經過轉換器。
隧道技術(Tunneling)這種方式是Linux集群的節點不在同一個網段時採用的轉發機制,是將IP包封裝在其它網路流量中。從安全形度考慮,應該使用隧道技術中的VPN,也可使用租用專線。
Linux集群所能提供的服務是基於TCP/IP的Web服務、Mail服務、News服務、DNS服務和Proxy伺服器等。
二、oracle集群
Oracle集群,最早稱作OPS(Oracle Parallel Server)出現在Oracle 7版本中,從Oracle 9i開始正式改稱為Oracle RAC,RAC即Real Application Clusters的簡寫,譯為「真正應用集群」;RAC是Oracle新版資料庫中採用的一項新技術,也是Oracle資料庫支持網格計算環境的核心技術。
在Oracle RAC環境下,Oracle集成提供了集群軟體和存儲管理軟體,為用戶降低了應用成本。當應用規模需要擴充時,用戶可以按需擴展系統,以保證系統的性能。
資料庫雙機可以有兩種不同的方式:雙機熱備份、雙機集群。
雙機熱備份方式的集群完全通過操作系統的cluster軟體來實現,在同一個時刻,只有一台機器對資料庫作操作,當這台機器發生故障以後,由操作系統cluster將所有資源切換到兩外一個節點,防止單節點資料庫故障。
雙機集群方式(RAC),在10g以後,通過ORACLE自身提供的CRS來實現集群的功能。在同一個時刻,所有的機器都對資料庫作操作,當某台機器發生故障後,其他機器接管該機器的工作。這種方式不但能夠防止單節點資料庫故障,還能夠實現負載均衡。因為兩個機器對同一個資料庫操作,因此資料庫文件一般無法使用傳統的文件系統方式存儲。
⑨ 什麼是linux cluster
集群概念
集群(Cluster)是由兩台或多台節點機(伺服器)構成的一種鬆散耦合的計算節點集合,為用戶提供網路服務或應用程序(包括資料庫、Web服務和文件服務等)的單一客戶視圖,同時提供接近容錯機的故障恢復能力。集群系統一般通過兩台或多台節點伺服器系統通過相應的硬體及軟體互連,每個群集節點都是運行其自己進程的獨立伺服器。這些進程可以彼此通信,對網路客戶機來說就像是形成了一個單一系統,協同起來向用戶渣圓兄提供應用程序、系統資源和數據。除了作為單一系統提供服務,集群系統還具有恢復伺服器級故障的能力。集群系統還可通過在集群中繼續增加伺服器的方式,從內部增加伺服器的處理能力,並通過系統級的冗餘提供固有的可靠性和可用性。集群計算機按功能和結構可以分成以下幾類:
1、 高可用性集群 High-availability (HA) clusters
一般是指當集群中有某個節點失效的情況下,其上的任務會自動轉移到其他正常的節點上。還指可以將集群中的某節點進行離線維護再上線,該過程並不影響整個集群的運行。計思想就是要最大限度地減少服務中斷時間。這類集群中比較著名的有Turbolinux TurboHA、Heartbeat、Kimberlite等。
2、負載均衡集群 Load balancing clusters
提供和節點個數成正比的負載能力,這種集群很適合提供大訪問量的Web服務。負載均衡集群往往也具有一定的高可用性特點。Turbolinux Cluster Server、Linux Virtual Server都屬於負載均衡集群。主流架構Nginx+Keepalived(利於動靜分離)、LVS+Keepalived。
3、高性能計算集群 High-performance (HPC) clusters
按照計算關聯程度的不同,又可以分為兩種。一種是任務片方式,要把計算任務分成任務片,再把任務片分配給各節點,在各節點上分別計算後再把結果匯總,生成最終計算結果。另一種是並行計算方式,節點之間在計算過程中大量地交換數據,可以進行具有強耦合關系的計算。這兩種超級計算集群分別適用於不同類型的數據處理工作。有了超級計算集群軟體,企業利用若乾颱PC機就可以完成通常只有超級計算機才能完成的計算任務。這類軟體有TurbolinuxEnFusion、SCore等。
高可用性集群與負載均衡集群的工作原理不同,適用於不同類型的服務。通常,負載均衡集群適用於提供靜態數據的服務,如HTTP服務;而高可用性集群既適用於提供靜態數據的服務,如HTTP服務,又適用於提供動態數據的服務,如資料庫等。高可用性集群之所以能適用於提供動態數據的服務,是由於節點共享同一存儲介質,如RAIDBox。也就是說,在高可用性集群內,每種腔脊服務的用戶數據只有一份,存儲在共用存儲設備如襲上,在任一時刻只有一個節點能讀寫這份數據。
⑩ 什麼是資料庫集群
集群主要分成三大類 (高可用集群, 負載均衡集群,科學計算集群)
高可用集群( High Availability Cluster)
負載均衡集群(Load Balance Cluster)
科學計算集群(High Performance Computing Cluster)
1、高可用集群(High Availability Cluster)
常見的就是2個節點做成的HA集群,有很多通俗的不科學的名稱,改寬比如」雙機熱備」, 「雙機互備」, 「雙機」。高可用集群解決的是保障用戶的應用程序持續對外提供服務的能力。 (請注意高可用集群既不是用來保護業務數據的,保護的是用戶的業務程序對外不間斷提供服務,把因軟體/硬體/人為造成的故障對業務的影響降低到最小程度)。
2、負載均衡集群(Load Balance Cluster)
負載均衡系統:集群中所有的節點都處於活動狀態,它們分攤系統的工作負載。一般Web伺服器集群、資料庫集群和應用伺服器集群都屬於這種類型。
負載均衡集群一般用於相應網路請求知鏈的網頁伺服器,資料庫伺服器。這種集群可以在接到請求時,檢查接受請求較少,不繁忙的伺服器,並把請求轉到這些伺服器上。從檢查其他伺服器狀態這一點上看,負載均衡和容錯集群很接近,不同之處是數量上更多。
3、科學計算集群(High Performance Computing Cluster)
高性能計算(High Perfermance Computing)集群,簡稱HPC集群。這類集群致力於提供單個計算機所不能提供的強大的計算能力。
高性能計算分類:
3.1、高吞吐計算(High-throughput Computing)
有一類高性能計算,可以把它分成若干可以並行的子任務,而且各個子任務彼此間沒有什麼關聯。象在家搜尋外星人( SETI@HOME – Search for Extraterrestrial Intelligence at Home )就是這一類型應用。
這一項目是利用Internet上的閑置的計算資源來搜尋外星人。SETI項目的伺服器將一組數據和數據模式發給Internet上參加SETI的計算節點,計算節點在給定的數據上用給定的模式進行搜索,然後將搜索的結果發給伺服器。伺服器負責將從各個計算節點返回的數據匯集成完整的 數據。因為這種類型應用的一個共同特徵是在海量數據上搜索某些模式,所以把這類計算稱為高吞吐計算。
所謂的Internet計算都屬於這一類。按照 Flynn的分類,高吞吐計算屬於SIMD(Single Instruction/Multiple Data)的范疇。
3.2、分布計算(Distributed Computing)
另一類計算剛好和高吞吐計算相反,它們雖然核猛亮可以給分成若干並行的子任務,但是子任務間聯系很緊密,需要大量的數據交換。按照Flynn的分類,分布式的高性能計算屬於MIMD(Multiple Instruction/Multiple Data)的范疇。
下面說說這幾種集群的應用場景:
高可用集群這里不多作說明。
想Dubbo是比較偏向於負載均衡集群,用過的猿友應該知道(不知道的可以自行了解一下),Dubbo同一個服務是可以有多個提供者的,當一個消費者過來,它要消費那個提供者,這里是有負載均衡機制在裡面的。
搜索引擎Elasticsearch比較偏向於科學計算集群的分布計算。
而到這里,可能不少猿友都知道,集群的一些術語:集群容錯、負載均衡。
我們以Dubbo為例:
集群容錯(http://bbo.io/User+Guide-zh.htm#UserGuide-zh-%E9%9B%86%E7%BE%A4%E5%AE%B9%E9%94%99)
Dubbo提供了這些容錯策略:
集群容錯模式:
可以自行擴展集群容錯策略,參見:集群擴展
Failover Cluster
失敗自動切換,當出現失敗,重試其它伺服器。(預設)
通常用於讀操作,但重試會帶來更長延遲。
可通過retries="2"來設置重試次數(不含第一次)。
Failfast Cluster
快速失敗,只發起一次調用,失敗立即報錯。
通常用於非冪等性的寫操作,比如新增記錄。
Failsafe Cluster
失敗安全,出現異常時,直接忽略。
通常用於寫入審計日誌等操作。
Failback Cluster
失敗自動恢復,後台記錄失敗請求,定時重發。
通常用於消息通知操作。
Forking Cluster
並行調用多個伺服器,只要一個成功即返回。
通常用於實時性要求較高的讀操作,但需要浪費更多服務資源。
可通過forks="2"來設置最大並行數。
Broadcast Cluster
廣播調用所有提供者,逐個調用,任意一台報錯則報錯。(2.1.0開始支持)
通常用於通知所有提供者更新緩存或日誌等本地資源信息。
負載均衡(http://bbo.io/User+Guide-zh.htm#UserGuide-zh-%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1)
Dubbo提供了這些負載均衡策略:
Random LoadBalance
隨機,按權重設置隨機概率。
在一個截面上碰撞的概率高,但調用量越大分布越均勻,而且按概率使用權重後也比較均勻,有利於動態調整提供者權重。
RoundRobin LoadBalance
輪循,按公約後的權重設置輪循比率。
存在慢的提供者累積請求問題,比如:第二台機器很慢,但沒掛,當請求調到第二台時就卡在那,久而久之,所有請求都卡在調到第二台上。
LeastActive LoadBalance
最少活躍調用數,相同活躍數的隨機,活躍數指調用前後計數差。
使慢的提供者收到更少請求,因為越慢的提供者的調用前後計數差會越大。
ConsistentHash LoadBalance
一致性Hash,相同參數的請求總是發到同一提供者。
當某一台提供者掛時,原本發往該提供者的請求,基於虛擬節點,平攤到其它提供者,不會引起劇烈變動。
演算法參見:http://en.wikipedia.org/wiki/Consistent_hashing。
預設只對第一個參數Hash,如果要修改,請配置<bbo:parameter key="hash.arguments" value="0,1" />
預設用160份虛擬節點,如果要修改,請配置<bbo:parameter key="hash.nodes" value="320" />