當前位置:首頁 » 存儲配置 » 集群搭建配置文檔怎麼背

集群搭建配置文檔怎麼背

發布時間: 2022-07-12 09:55:47

⑴ 如何最快搭建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程序。

⑵ 配置hadoop集群是怎麼配置的

在過去,大數據處理主要是採用標准化的刀片式伺服器和存儲區域網路(SAN)來滿足網格和處理密集型工作負載。然而隨著數據量和用戶數的大幅增長,基礎設施的需求已經發生變化,硬體廠商必須建立創新體系,來滿足大數據對包括存儲刀片,SAS(串列連接SCSI)開關,外部SATA陣列和更大容量的機架單元的需求。即尋求一種新的方法來存儲和處理復雜的數據,Hadoop正是基於這樣的目的應運而生的。Hadoop的數據在集群上均衡分布,並通過復制副本來確保數據的可靠性和容錯性。因為數據和對數據處理的操作都是分布在伺服器上,處理指令就可以直接地發送到存儲數據的機器。這樣一個集群的每個伺服器器上都需要存儲和處理數據,因此必須對Hadoop集群的每個節點進行配置,以滿足數據存儲和處理要求。
Hadoop框架中最核心的設計是為海量數據提供存儲的HDFS和對數據進行計算的MapRece。MapRece的作業主要包括從磁碟或從網路讀取數據,即IO密集工作,或者是計算數據,即CPU密集工作。Hadoop集群的整體性能取決於CPU、內存、網路以及存儲之間的性能平衡。因此運營團隊在選擇機器配置時要針對不同的工作節點選擇合適硬體類型。一個基本的Hadoop集群中的節點主要有:Namenode負責協調集群中的數據存儲,DataNode存儲被拆分的數據塊,Jobtracker協調數據計算任務,最後的節點類型是Secondarynamenode,幫助NameNode收集文件系統運行的狀態信息。

在集群中,大部分的機器設備是作為Datanode和TaskTracker工作的。Datanode/TaskTracker的硬體規格可以採用以下方案:
4個磁碟驅動器(單盤1-2T),支持JBOD
2個4核CPU,至少2-2.5GHz
16-24GB內存
千兆乙太網
Namenode提供整個HDFS文件系統的namespace管理,塊管理等所有服務,因此需要更多的RAM,與集群中的數據塊數量相對應,並且需要優化RAM的內存通道帶寬,採用雙通道或三通道以上內存。硬體規格可以採用以下方案:
8-12個磁碟驅動器(單盤1-2T)
2個4核/8核CPU
16-72GB內存
千兆/萬兆乙太網
Secondarynamenode在小型集群中可以和Namenode共用一台機器,較大的群集可以採用與Namenode相同的硬體。考慮到關鍵節點的容錯性,建議客戶購買加固的伺服器來運行的Namenodes和Jobtrackers,配有冗餘電源和企業級RAID磁碟。最好是有一個備用機,當 namenode或jobtracker 其中之一突然發生故障時可以替代使用。

目前市場上的硬體平台滿足Datanode/TaskTracker節點配置需求的很多,,據了解深耕網路安全硬體平台多年的立華科技瞄準了Hadoop的發展前景,適時推出了專門針對NameNode的設備----雙路至強處理器搭載12塊硬碟的FX-3411,將計算與存儲完美融合,四通道內存的最大容量可達到256GB,完全滿足NameNode對於一個大的內存模型和沉重的參考數據緩存組合的需求。

同時在網路方面,FX-3411支持的2個PCI-E*8的網路擴展,網路吞吐達到80Gbps,更是遠遠滿足節點對千兆乙太網或萬兆乙太網的需求。此外針對Datanode/TaskTracker等節點的配置需求,立華科技不僅推出了可支持單路至強E38核處理器和4塊硬碟的標准品FX-3210,還有可以全面客制化的解決方案,以滿足客戶的不同需求。

Hadoop集群往往需要運行幾十,幾百或上千個節點,構建匹配其工作負載的硬體,可以為一個運營團隊節省可觀的成本,因此,需要精心的策劃和慎重的選擇。

⑶ 搭建hadoop集群,常用配置文件是什麼,以及配置哪些屬性

一. 簡介

參考了網上許多教程,最終把hadoop在ubuntu14.04中安裝配置成功。下面就把詳細的安裝步驟敘述一下。我所使用的環境:兩台ubuntu 14.04 64位的台式機,hadoop選擇2.7.1版本。(前邊主要介紹單機版的配置,集群版是在單機版的基礎上,主要是配置文件有所不同,後邊會有詳細說明)

二. 准備工作

2.1 創建用戶

創建用戶,並為其添加root許可權,經過親自驗證下面這種方法比較好。

1 sudo adser hadoop2 sudo vim /etc/sudoers3 # 修改內容如下:4 root ALL = (ALL)ALL5 hadoop ALL = (ALL)ALL

給hadoop用戶創建目錄,並添加到sudo用戶組中,命令如下:

1 sudo chown hadoop /home/hadoop2 # 添加到sudo用戶組3 sudo adser hadoop sudo

最後注銷當前用戶,使用新創建的hadoop用戶登陸。

2.2安裝ssh服務

ubuntu中默認是沒有裝ssh server的(只有ssh client),所以先運行以下命令安裝openssh-server。安裝過程輕松加愉快~

sudo apt-get install ssh openssh-server

2.3 配置ssh無密碼登陸

直接上代碼:執行完下邊的代碼就可以直接登陸了(可以運行ssh localhost進行驗證)

1 cd ~/.ssh# 如果找不到這個文件夾,先執行一下 "ssh localhost"2 ssh-keygen -t rsa3 cp id_rsa.pub authorized_keys

注意:

這里實現的是無密登陸自己,只適用與hadoop單機環境。如果配置Hadoop集群設置Master與Slave的SSH無密登陸可

三. 安裝過程

3.1 下載hadoop安裝包

有兩種下載方式:

1. 直接去官網下載:

2. 使用wget命令下載:

3.2 配置hadoop

1. 解壓下載的hadoop安裝包,並修改配置文件。我的解壓目錄是(/home/hadoop/hadoop-2.7.1),即進入/home/hadoop/文件夾下執行下面的解壓縮命令。

tar -zxvf hadoop-2.7.1.tar.gz

2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目錄下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。

(1). core-site.xml 配置:其中的hadoop.tmp.dir的路徑可以根據自己的習慣進行設置。

至此,wordcount demo 運行結束。

六. 總結

配置過程遇到了很多問題,最後都一一解決,收獲很多,特此把這次配置的經驗分享出來,方便想要配置hadoop環境的各位朋友~

(Hadoop集群安裝配置過程基本和單機版是一樣的,主要是在配置文件方面有所區別,以及ssh無密登陸要求master和slave能夠互相無密登陸。

⑷ 如何搭建elasticsearch集群

1.1. 基本配置 elasticsearch的config文件夾裡面有兩個配置文 件:elasticsearch.yml和logging.yml,第一個是es的基本配置文件,第二個是日誌配置文件,es也是使用log4j來記錄日 志的,所以logging.yml里的設置按普通log4j配置文件來設置就行了

⑸ Apache apollo 怎麼實現集群部署

Apache Apollo是一個代理伺服器,主要用於消息的請求轉發,下面是其常用的一些配置文件的介紹
一、users.properties:
用來配置可以使用伺服器的用戶以及相應的密碼。
其在文件中的存儲方式是:用戶名=密碼,如:
lily=123456
表示新增一個用戶,用戶名是:lily,密碼是:123456
二、groups.properties:
持有群體的用戶映射,可以通過組而不是單個用戶簡化訪問控制列表。
可以為一個定義的組設置多個用戶,用戶之間用「|」隔開,如:
admins=admin|lily
表示admins組中有admin和lily兩個用戶
三、black-list.txt:
用來存放不允許連接伺服器的IP地址,相當於黑名單類似的東西。
例如:
10.20.9.147
表示上面IP不能夠連接到伺服器。
四、login.config:
是一個伺服器認證的配置文件,為了安全apollo1.6版本提供了認證功能,只有相應的用戶名和正確的密碼才能夠連接
伺服器。
五、伺服器主配置文件apollo.xml:
該配置文件用於控制打開的埠,隊列,安全,虛擬主機設置等。
1、認證:可以使用<authenticationdomain="internal" />來配置是否需要連接認證,如果將其屬性enable設置為false表示不用認證,任何人都可以連接伺服器,默認為true
2、access_rule:可以在broker或者virtual_host中用於定義用戶對伺服器資源的各種行為。如:
<access_rule allow="users" action="connect create destroy send receive consume"/>表示群組users裡面的用戶可以對伺服器資源進行的

⑹ 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的用戶,各個節點上的密碼必須是同一個。

⑺ 怎麼搭建cassandra集群

首先需要准備3台或以上的計算機。下面假定有3台運行 Linux 操作系統的計算機,IP地址分別為 192.168.0.100, 192.168.0.101 和 192.168.0.102。 系統需要安裝好 java 運行時環境,然後到這里下載 0.7 版本的 Cassandra 二進制發行包。

挑選其中的一台機開始配置,先展開 cassandra 發行包:$ tar -zxvf apache-cassandra-$VERSION.tar.gz
$ cd apache-cassandra-$VERSION

其中的 conf/cassandra.yaml 文件為主要配置文件,0.7 版以後不再採用XML格式配置文件了,如果對 YAML 格式不熟悉的話最好先到這里了解一下。

⑻ 怎樣在linux系統上搭建Hadoop集群

(1)下載jdk,在官網下載,下載rpm的包
(2)hadoop包的下載,官網上下載
download hadoop->release->mirror site(鏡像站)->隨便選擇離自己近的(HTTP下的第一個)->選擇2.7.2->下載.tar.gz
(3)將兩個包遠程傳輸到linux虛擬機中
(4)將主機名和ip地址進行適配,讓我們的ip地址和主機名(如bigdata)相匹配:寫到/etc/hosts裡面
vi /etc/hosts
按「i」進入插入狀態 將原有的地址注釋掉
在新的一行輸入:ip地址 主機名(如172.17.171.42 bigdata)(註:可以雙擊xshell的窗口再打開一個連接窗口,可以在新的窗口查詢ip地址並進行復制)
按「Esc」退出插入狀態
輸入:wq保存退出
修改完之後可以輸入hostname回車,查看是否成功
reboot:重啟,使得剛剛的修改生效
(5)將包放到opt下:cp hadoop-2.7.2.tar.gz /opt/
cp jdk-8u111-linux-x64.rpm /opt/
進入opt:cd /opt/
查看opt下的文件:ll
(6)安裝jdk,配置jdk的環境變數
安裝命令:rpm -ivh jdk-Bu101-linux-x64.rpm
配置環境變數:進入profile進行編輯:vi /etc/profile
並按照上面的方式在最後寫入並保存:JAVA_HOME=/usr/java/default/(/usr/java/default/是jdk的安裝目錄)
列印JAVA_HOME檢驗是否配置好:echo $JAVA_HOME結果發現列印出來的沒有內容因為我們對/etc/profile的修改需要通過以下命令對它生效source /etc/profile。再次輸入echo $JAVA_HOME,列印結果為/usr/java/default/
(7)驗證jdk安裝好:java -version
(8)配置SSH(免密碼登錄)
回到根目錄:cd 安裝SSH秘鑰:ssh-keygen -t rsa會自動在/root/.shh/目錄下生成
查看目錄:ll .ssh/有兩個新生成的文件id_rsa(私鑰),id_rsa.pub(公鑰)
進入.ssh/:cd .ssh/
將公鑰寫入authorized_key中:cat id_rsa.pub >> authorized_keys
修改authorized_keys文件的許可權:chmod 644 authorized_keys
修改完後退出.ssh的目錄cd進入初始目錄輸入:ssh bigdata(bigdata為你要遠程登錄的主機名或者ip地址)第一次登錄需要確認是否需要繼續登錄輸入yes繼續登錄
退出exit
(9)安裝及配置hadoop
解壓:tar zxf hadoop-2.7.2.tar.gz
查看/opt目錄下是否已經存在解壓的文件:ll(結果為出現hadoop-2.7.2)
繼續查看hadoop-2.7.2里的內容:cd hadoop-2.7.2
配置HADOOP_HOME:修改/etc/profile
進入hadoop的配置文件目錄cd /opt/hadoop-2.7.2/etc/hadoop/,會用的的配置文件如下:
core-site.xml
配置hadoop的文件系統即HDFS的埠是什麼。
配置項1為default.name,值為hdfs://bigdata:9000(主機名:bigdata也可也寫成ip地址,埠9000習慣用)
配置項2為hadoop臨時文件,其實就是配置一個目錄,配置完後要去創建這個目錄,否則會存在問題。
配置項3分布式文件系統的垃圾箱,值為4320表示3分鍾回去清理一次

<property>
<name>fs.default.name</name>
<value>hdfs://bigdata:9000</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.7.2/current/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>4320</value>
</property>
hdfs-site.xml
配置項1,namenode的細節實際上就是一個目錄
配置項2,datanode的細節,真實環境中datanode的內容不需要再namenode的系統下配置,在此配置的原因是我們的系統是偽分布式系統,namenode和datanode在一台機器上
配置項3,副本的數量,在hdfs中每個塊有幾個副本
配置項4,HDFS是否啟用web
配置項5,HDFS的用戶組
配置項6,HDFS的許可權,現在配置為不開啟許可權

<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-2.7.2/current/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-2.7.2/current/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions.superusergroup</name>
<value>staff</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
創建配置文件中不存在的目錄:mkdir -p /opt/hadoop-2.7.2/current/data
mkdir -p /opt/hadoop-2.7.2/current/dfs/name
mkdir -p /opt/hadoop-2.7.2/current/tmp
yarn-site.xml
配置項1,resourcemanager的hostname,值為你運行的那台機器的主機名或IP地址
配置項2,nodemanager相關的東西
配置項3,nodemanager相關的東西
配置項4,resourcemanager的埠,主機名+埠號(IP+埠)
配置項5,resourcemanager調度器的埠
配置項6,resourcemanager.resource-tracker,埠
配置項7,埠
配置項8,埠
配置項9,日誌是否啟動
配置項10,日誌保留的時間長短(以秒為單位)
配置項11,日誌檢查的時間
配置項12,目錄
配置項13,目錄的前綴

<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>maprece_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.maprece.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>bigdata:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheler.address</name>
<value>bigdata:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>bigdata:18025</value>
</property> <property>
<name>yarn.resourcemanager.admin.address</name>
<value>bigdata:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>bigdata:18088</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
<property>
<name>yarn.log-aggregation.retain-check-interval-seconds</name>
<value>86400</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/tmp/logs</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir-suffix</name>
<value>logs</value>
</property>
mapred-site.xml
沒有mapred-site.xml,輸入vi mapred-按「TAB」發現有mapred-site.xml.template,對該文件進行復制
cp mapred-site.xml.template mapred-site.xml 配置項1,maprece的框架
配置項2,maprece的通信埠
配置項3,maprece的作業歷史記錄埠
配置項4,maprece的作業歷史記錄埠
配置項5,maprece的作業歷史記錄已完成的日誌目錄,在hdfs上
配置項6,maprece中間完成情況日誌目錄
配置項7,maprece的ubertask是否開啟

<property>
<name>maprece.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>maprece.jobtracker.http.address</name>
<value>bigdata:50030</value>
</property>
<property>
<name>maprece.jobhisotry.address</name>
<value>bigdata:10020</value>
</property>
<property>
<name>maprece.jobhistory.webapp.address</name>
<value>bigdata:19888</value>
</property>
<property>
<name>maprece.jobhistory.done-dir</name>
<value>/jobhistory/done</value>
</property>
<property>
<name>maprece.intermediate-done-dir</name>
<value>/jobhisotry/done_intermediate</value>
</property>
<property>
<name>maprece.job.ubertask.enable</name>
<value>true</value>
</property>
slaves

bigdata
hadoop-env.sh

JAVA_HOME=/usr/java/default/
格式化分布式文件系統(hdfs):hdfs namenode -format
成功的標志: INFO common.Storage: Storage directory /opt/hadoop-2.7.2/current/dfs/namehas been successfully formatted.
啟動Hadoop集群:/opt/hadoop-2.7.2/sbin/start-all.sh
驗證Hadoop集群是否正常啟動:
jps,系統中運行的java進程;
通過埠查看(關閉防火牆或者service iptables stop在防火牆的規則中開放這些埠):
http://bigdata:50070(http://http://192.168.42.209/:50070),分布式文件系統hdfs的情況
yarn http://bigdata:18088(http://http://192.168.42.209/:50070)

⑼ 如何搭建50t的hadoop集群

先決條件
確保在你集群中的每個節點上都安裝了所有必需軟體。
獲取Hadoop軟體包。
安裝
安裝Hadoop集群通常要將安裝軟體解壓到集群內的所有機器上。
通常,集群里的一台機器被指定為 NameNode,另一台不同的機器被指定為JobTracker。這些機器是masters。餘下的機器即作為DataNode也作為TaskTracker。這些機器是slaves。
我們用HADOOP_HOME指代安裝的根路徑。通常,集群里的所有機器的HADOOP_HOME路徑相同。
配置
接下來的幾節描述了如何配置Hadoop集群。
配置文件
對Hadoop的配置通過conf/目錄下的兩個重要配置文件完成:
hadoop-default.xml - 只讀的默認配置。
hadoop-site.xml - 集群特有的配置。
要了解更多關於這些配置文件如何影響Hadoop框架的細節,請看這里。
此外,通過設置conf/hadoop-env.sh中的變數為集群特有的值,你可以對bin/目錄下的Hadoop腳本進行控制。
集群配置
要配置Hadoop集群,你需要設置Hadoop守護進程的運行環境和Hadoop守護進程的運行參數。
Hadoop守護進程指NameNode/DataNode 和JobTracker/TaskTracker。
配置Hadoop守護進程的運行環境
管理員可在conf/hadoop-env.sh腳本內對Hadoop守護進程的運行環境做特別指定。
至少,你得設定JAVA_HOME使之在每一遠端節點上都被正確設置。
管理員可以通過配置選項HADOOP_*_OPTS來分別配置各個守護進程。 下表是可以配置的選項。

⑽ 如何搭建apache+tomcat集群

在實際應用中,如果網站的訪問量很大,為了提高訪問速度,可以與多個Tomcat伺服器與Apache伺服器集成,讓他們共同運行servlet/jsp組件的任務,多個Tomcat伺服器構成了一個集群(Cluster)系統,共同為客戶提供服務。集群系統具有以下優點:

高可靠性(HA):利用集群管理軟體,當主伺服器故障時,備份伺服器能夠自動接管主伺服器的工作,並及時切換過去,以實現對用戶的不間斷服務。
高性能計算(HP):即充分利用集群中的每一台計算機的資源,實現復雜運算的並行處理,通常用於科學計算領域,比如基因分析,化學分析等。
負載平衡:即把負載壓力根據某種演算法合理分配到集群中的每一台計算機上,以減輕主伺服器的壓力,降低對主伺服器的硬體和軟體要求。

原理:JK插件的負載均衡器根據在worker.properties中配置的lbfactor(負載平衡因數),負責為集群系統中的Tomcat伺服器分配工作負荷,以實現負載平衡。每個Tomcat伺服器間用集群管理器(SimpleTcpCluster)進行通信,以實現HTTP回話的復制,比如Session。

下面我們在一台機器上配置一個Apache和兩個Tomcat伺服器集群:

2.安裝Apache,安裝兩個Tomcat,並把一個測試項目放到兩個Tomcat的webapps目錄下以便以後測試。

3.把mod_jk.so復制到<apache_home>/moles下。

4.在<apache_home>/conf目錄下創建:workers.properties文件:



"pln">worker "pun">. "pln">list "pun">= "pln">worker1 "pun">, "pln">worker2 "pun">, "pln">loadbalancer "com">#apache把Tomcat看成是工人,loadbalancer是負載均衡器

worker.worker1.host=localhost#Tomcatworker1伺服器
worker.worker1.port=8009#Tomcat埠
worker.worker1.type=ajp13#協議
worker.worker1.lbfactor=100#負載平衡因數

worker.worker2.host=localhost#Tomcatworker2伺服器
worker.worker2.port=8009#因為在一台機器上所以埠不能一樣
worker.worker2.type=ajp13#協議
worker.worker2.lbfactor=100#設為一樣代表兩台機器的負載相同

worker.loadbalancer.type=1b
worker.loadbalancer.balanced_workers=worker1,worker2
worker.loadbalancer.sticky_seesion=false
worker.loadbalancer.sticky_session_force=false

說明:1.worker.loadbalancer.sticky_seesion如果設為true則說明會話具有「粘性」,也就是如果一個用戶在一個Tomcat中建立了會話後則此後這個用戶的所有操做都由這個Tomcat伺服器承擔。集群系統不會進行會話復制。如果設為false則下面的 sticky_session_force無意義。

2.sticky_session_force:假設sticky_session設為true,用戶會話具有了粘性,當當前Tomcat伺服器停止服務後,如果sticky_session_force為true也就是強制會話與當前Tomcat關聯,那麼會報500錯誤,如果設為false則會轉到另外的Tomcat伺服器。

5.修改<apache_home>/conf/httpd.conf文件,在文件後面加上:



"com">#Tomcat集群配置
"com">LoadMolejk_molemoles/mod_jk.so
JkWorkersFileconf/workers.properties
#我的工人們
JkLogFilelogs/mod_jk.log
#日誌文件
JkLogLeveldebug
#tomcat運行模式
JkMount/*.jsploadbalancer
#收到.jsp結尾的文件交給負載均衡器處理
JkMount/helloapp/*loadbalancer
#收到helloapp/路徑交給負載均衡器處理

6.修改兩個Tomcat的conf/service.xml文件。

6.1首先要修改AJP埠,確保他們與workers.properties中配置的一樣

例如按我們上面的配置,只需要把Tomcat2中的AJP埠該為8109即可。

6.2此外在使用了loadbalancer後,要求worker的名字與Tomcat的service.xml中的Engine元素的jvmRoute屬性一致,

例如worker1修改為: <Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">

6.3另外,如果兩台Tomcat伺服器裝在一台機器上,必須確保他們的埠沒有沖突,Tomcat中一共配置了三個埠:

<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8080" .../>

<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />

把其中一個該了讓它們不一樣就行了。

完成了以上步驟我們的集群算是基本完成了,打開Apache和兩個Tomcat 瀏覽器進入:localhost/demo/ 能夠正確訪問。

為了測試,我們寫一個jsp文件:test.jsp



"tag"><html>
<head>
<title>test</title>
</head>
<body>
<%
System.out.printfln("calltest.jsp");
%>
session:<%=session.getId()%>
</body></html>

把它放到兩個Tomcat中的demo項目中,瀏覽器訪問這個頁面,每次訪問只在一個Tomcat控制台列印語句。

然而頁面中的Session Id是會變的。這種情況下如果一個用戶正在訪問時,如果跳到另一個Tomcat伺服器,那麼他的session就沒有了,可能導致錯誤。

7.配置集群管理器

如果讀者對HttpSession有了解應該知道,用戶的會話狀態保存在session中,一個瀏覽器訪問多個網頁它們的請求始終處於一個會話范圍中,因此SessionID應該是不變的。

以上我們看到的瀏覽器中的SessionID不同,因為轉到另一個Tomcat後當前會話就結束了,又在另一個伺服器上開啟了一個新的會話。那麼怎麼讓多個Tomcat伺服器共享一個會話呢?

為了解決上述問題,我們啟用Tomcat的集群管理器(SimpleTcpCluster):

7.1修改Tomcat1和Tomcat2的servlet.xml文件,在Engine元素中加入以下Cluster元素



"tag"><Cluster "pln"> "atn">className "pun">= "atv">"org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">

<ManagerclassName="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>

<ChannelclassName="org.apache.catalina.tribes.group.GroupChannel">
<MembershipclassName="org.apache.catalina.tribes.membership.McastService"
bind="127.0.0.1"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<ReceiverclassName="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<SenderclassName="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<InterceptorclassName="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<InterceptorclassName="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>

<ValveclassName="org.apache.catalina.ha.tcp.ReplicationValve"filter=""/>
<ValveclassName="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

<DeployerclassName="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListenerclassName="org.apache.catalina.ha.session."/>
<ClusterListenerclassName="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>

關於Cluster的相關介紹參照:<tomcat-home>webappsdocscluster-howto.html <tomcat-home>webappsdocsconfigcluster.html

7.2分別修改Tomcat1和Tomcat2 demo項目的web.xml文件,在後面加入<distributable>元素



"tag"><web-app>
"pln">...
"tag"><distributable/>
</web-app>

如果一個web項目的web.xml文件中指定了<distributable/>元素那麼Tomcat伺服器啟動這個Web應用時,會為它創建由<Cluster>元素指定的會話管理器,這里我們用的是DeltaManager,他們把會話從一個Tomcat伺服器復制到集群中另一個Tomcat伺服器。

7.3重新啟動兩個Tomcat,發現Tomcat控制台還是依次列印出Call test.jsp 頁面中的SessionID卻不變了。測試完成。

重要說明:(1).如果項目要發布到集群上,那麼與會話有關的類需要實現java.io.Serializable序列化介面。

(2).集群中Tomcat間用組播方式進行通信,如果機器上有多個網卡則可能導致組播失敗,解決的辦法是<Cluster>元素的<Membership>元素配置bind屬性,它用於明確知道組播地址:

<Membership className="org.apache.catalina.tribes.membership.McastService"bind="127.0.0.1".../>

(3).如果集群較小,可以採用DeltaManager會話管理器,如果多的話建議使用BackupManager

(4).<Membership>的address設為"228.0.0.4",運行時須確保機器聯網能訪問到該地址,否則可能運行失敗。

熱點內容
python表格抓取 發布:2024-10-08 13:30:31 瀏覽:717
編寫定時下載ftp文件腳本 發布:2024-10-08 13:30:18 瀏覽:227
電腦上怎麼看本機的配置 發布:2024-10-08 13:26:02 瀏覽:41
androidepub 發布:2024-10-08 13:25:22 瀏覽:549
怎麼拿雲伺服器做進銷存 發布:2024-10-08 13:25:14 瀏覽:724
小本解說伺服器是什麼 發布:2024-10-08 13:25:09 瀏覽:393
安卓倍速腳本 發布:2024-10-08 13:18:48 瀏覽:77
飢荒本地伺服器後續怎麼添加伺服器模組 發布:2024-10-08 13:18:24 瀏覽:199
阿里雲伺服器centos7還是8 發布:2024-10-08 13:16:16 瀏覽:718
安卓手機的屏幕設置在哪裡 發布:2024-10-08 13:14:37 瀏覽:702