怎麼用雲伺服器搭建hadoop
Ⅰ 如何部署hadoop分布式文件系統
一、實戰環境
系統版本:CentOS 5.8x86_64
java版本:JDK-1.7.0_25
Hadoop版本:hadoop-2.2.0
192.168.149.128namenode (充當namenode、secondary namenode和ResourceManager角色)
192.168.149.129datanode1 (充當datanode、nodemanager角色)
192.168.149.130datanode2 (充當datanode、nodemanager角色)
二、系統准備
1、Hadoop可以從Apache官方網站直接下載最新版本Hadoop2.2。官方目前是提供了linux32位系統可執行文件,所以如果需要在64位系統上部署則需要單獨下載src 源碼自行編譯。(如果是真實線上環境,請下載64位hadoop版本,這樣可以避免很多問題,這里我實驗採用的是32位版本)
1234 Hadoop
Java
2、我們這里採用三台CnetOS伺服器來搭建Hadoop集群,分別的角色如上已經註明。
第一步:我們需要在三台伺服器的/etc/hosts裡面設置對應的主機名如下(真實環境可以使用內網DNS解析)
[root@node1 hadoop]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1localhost.localdomain localhost
192.168.149.128node1
192.168.149.129node2
192.168.149.130node3
(注* 我們需要在namenode、datanode三台伺服器上都配置hosts解析)
第二步:從namenode上無密碼登陸各台datanode伺服器,需要做如下配置:
在namenode 128上執行ssh-keygen,一路Enter回車即可。
然後把公鑰/root/.ssh/id_rsa.pub拷貝到datanode伺服器即可,拷貝方法如下:
ssh--id -i .ssh/id_rsa.pub [email protected]
ssh--id -i .ssh/id_rsa.pub [email protected]
三、Java安裝配置
tar -xvzf jdk-7u25-linux-x64.tar.gz &&mkdir -p /usr/java/ ; mv /jdk1.7.0_25 /usr/java/ 即可。
安裝完畢並配置java環境變數,在/etc/profile末尾添加如下代碼:
export JAVA_HOME=/usr/java/jdk1.7.0_25/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVE_HOME/lib/dt.jar:$JAVE_HOME/lib/tools.jar:./
保存退出即可,然後執行source /etc/profile 生效。在命令行執行java -version 如下代表JAVA安裝成功。
[root@node1 ~]# java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
(注* 我們需要在namenode、datanode三台伺服器上都安裝Java JDK版本)
四、Hadoop版本安裝
官方下載的hadoop2.2.0版本,不用編譯直接解壓安裝就可以使用了,如下:
第一步解壓:
tar -xzvf hadoop-2.2.0.tar.gz &&mv hadoop-2.2.0/data/hadoop/
(注* 先在namenode伺服器上都安裝hadoop版本即可,datanode先不用安裝,待會修改完配置後統一安裝datanode)
第二步配置變數:
在/etc/profile末尾繼續添加如下代碼,並執行source /etc/profile生效。
export HADOOP_HOME=/data/hadoop/
export PATH=$PATH:$HADOOP_HOME/bin/
export JAVA_LIBRARY_PATH=/data/hadoop/lib/native/
(注* 我們需要在namenode、datanode三台伺服器上都配置Hadoop相關變數)
五、配置Hadoop
在namenode上配置,我們需要修改如下幾個地方:
1、修改vi /data/hadoop/etc/hadoop/core-site.xml 內容為如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"href=\'#\'" Put site-specific property overrides inthisfile. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.149.128:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
<description>A base forother temporary directories.</description>
</property>
</configuration>
2、修改vi /data/hadoop/etc/hadoop/mapred-site.xml內容為如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"href=\'#\'" Put site-specific property overrides inthisfile. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.149.128:9001</value>
</property>
</configuration>
3、修改vi /data/hadoop/etc/hadoop/hdfs-site.xml內容為如下:
<?xml version="1.0"encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl"href=\'#\'" /name>
<value>/data/hadoop/data_name1,/data/hadoop/data_name2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/data/hadoop/data_1,/data/hadoop/data_2</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
4、在/data/hadoop/etc/hadoop/hadoop-env.sh文件末尾追加JAV_HOME變數:
echo "export JAVA_HOME=/usr/java/jdk1.7.0_25/">> /data/hadoop/etc/hadoop/hadoop-env.sh
5、修改 vi /data/hadoop/etc/hadoop/masters文件內容為如下:
192.168.149.128
6、修改vi /data/hadoop/etc/hadoop/slaves文件內容為如下:
192.168.149.129
192.168.149.130
如上配置完畢,以上的配置具體含義在這里就不做過多的解釋了,搭建的時候不明白,可以查看一下相關的官方文檔。
如上namenode就基本搭建完畢,接下來我們需要部署datanode,部署datanode相對簡單,執行如下操作即可。
1 fori in`seq 129130` ; doscp -r /data/hadoop/ [email protected].$i:/data/ ; done
自此整個集群基本搭建完畢,接下來就是啟動hadoop集群了。
Ⅱ hadoop集群搭建在阿里雲伺服器上 雲伺服器配置要求是多少
如果是集群的話,我考慮需要流暢運行的話,2核4G配置是可以滿足的。因為這個集群形式,用於適用於物聯網、車聯網、監控、安全風控、即時通訊、消息存儲等行業場景,所以數據量是比較大的,所以配置太低了跑不動,會卡死的。
因為hadoop是海量數據的處理能力,所以伺服器一定不能太小配置了,跑不動了就沒實際用途了。最好使用4核8G內存及以上配置。
因為這方面內容較多,這里也寫不開那麼多內容,所以你可以留言或到我的博客上搜索相關內容,老魏有寫過教程,還不止一篇,都挺詳細的內容,可以幫助你入門。
Ⅲ 阿里雲雲伺服器linux可以部署hadoop么
通過命令行下載Hadoop ,我下載的版本是1.2.1,版本穩定且方便學習。
[plain] view plain
wget http://mirror.bit.e.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
下載完成後,將hadoop安裝包轉移至要安裝的目錄
[plain] view plain
mv hadoop-1.2.1.tar.gz /usr/hadoop/
cd /usr/hadoop/
解壓
[plain] view plain
tar -zxvf hadoop-1.2.1.tar.gz
配置Hadoop
配置文件在 hadoop的conf文件夾下
首先修改 hadoop-env.sh 文件
[plain] view plain
vim hadoop-env.sh
找到 # export JAVA_HOME=…..
修改為 export JAVA_HOME=/usr/Java/java8
注意 // 如果忘記java的路徑,可以通過命令 echo $JAVA_HOME查看
其次修改 core-site.xml 文件
其實 修改 hadoop-env.sh
[plain] view plain
vim hadoop-env.sh
修改內容為
[html] view plain
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/hadoop/name</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://canghong:9000</value>
</property>
</configuration>
然後修改 hdfs-site.xml
[html] view plain
<configuration>
<property>
<name>dfs.data.dir</name>
<value>/hadoop/data</value>
</property>
</configuration>
最後修改 mapred-site.xml
[html] view plain
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>canghong:9001</value>
</property>
</configuration>
配置完成後,告訴系統hadoop的安裝目錄
[plain] view plain
vim ~/.bashrc
export HADOOP_HOME=/usr/hadoop/hadoop-1.2.1
在 export PATH 中 加入 HADOOP_HOME
export PATH=${JAVA_HOME}/bin:$HADOOP_HOME/bin:$PATH
測試
在命令行輸入 hadoop
出現
10015 JobTracker
9670 TaskTracker
9485 DataNode
10380 Jps
9574 SecondaryNameNode
9843 NameNode
則表示成功
格式化文件系統
[plain] view plain
cd /usr/hadoop/hadoop-1.2.1/bin
hadoop namenode -formate
啟動
啟動 bin下的 start-all.sh
start-all.sh
測試
在命令行 輸入 jps 查看hadoop是否正常運行
Ⅳ 使用雲計算搭建hadoop集群要用多長時間
這個你可以直接通過租用第三方的運營商的操作幫你解決啊,如果要自建的話,直接網路搜索,雲服務大數據解決方案,都可以操作很多方案。 如果找第三方的,華為企業雲,是有的。
Ⅳ Linux伺服器上搭建hadoop
用不同的賬號,當然可以。
我用相同的賬號,搭建了兩套環境,只要安裝hadoop的目錄不再同一個目錄下就可以。然後就是注意你的/etc/profile盡量不要配置HADOOP_HOME的值,只配置JDK就可以了,不然可能會用沖突,不知道該去找哪個hadoop home 了。
Ⅵ 雲計算:請教大家一個問題。就是我的課題要求我搭建一個雲服務平台,用hadoop。
首先,不知道這個課題是怎麼定出來的,我覺得出這個問題的人只是一味求新,而對新的知識缺乏必要的了解,好了,正題。所有的這些,不是不可以,但是就好像把一個初中生放到國外去生活一樣難。先說資料庫,hadoop有自己的底層存儲hdfs,所有的數據,會存儲在hdfs文件系統中,所有,你需要把所有的資料庫數據,遷移到hadoop平台,可以用hbase存儲。遷移工具可以使用sqoop。好了,再來為是語言,你不是要開發新的系統,而是要遷移系統,我不知道你的需求,可能只需要改動數據讀取的方式,就可以實現平台的遷移,例如,以前是jdbc讀mysql數據,現在換讀hdfs中的數據,所以,需要改系統的代碼。好,你不想改系統的代碼,對不起,沒辦法。。。還有就是linux和windows,在windows下開發,不是不可以,不過你需要linux環境模擬工具cygwin。要我說,你接的東西,就是totally shit
Ⅶ 安裝hadoop的步驟有哪些
hadoop2.0已經發布了穩定版本了,增加了很多特性,比如HDFSHA、YARN等。最新的hadoop-2.4.1又增加了YARNHA
注意:apache提供的hadoop-2.4.1的安裝包是在32位操作系統編譯的,因為hadoop依賴一些C++的本地庫,
所以如果在64位的操作上安裝hadoop-2.4.1就需要重新在64操作系統上重新編譯
(建議第一次安裝用32位的系統,我將編譯好的64位的也上傳到群共享里了,如果有興趣的可以自己編譯一下)
前期准備就不詳細說了,課堂上都介紹了
1.修改Linux主機名
2.修改IP
3.修改主機名和IP的映射關系
######注意######如果你們公司是租用的伺服器或是使用的雲主機(如華為用主機、阿里雲主機等)
/etc/hosts裡面要配置的是內網IP地址和主機名的映射關系
4.關閉防火牆
5.ssh免登陸
6.安裝JDK,配置環境變數等
集群規劃:
主機名 IP 安裝的軟體 運行的進程
HA181 192.168.1.181 jdk、hadoop NameNode、DFSZKFailoverController(zkfc)
HA182 192.168.1.182 jdk、hadoop NameNode、DFSZKFailoverController(zkfc)
HA183 192.168.1.183 jdk、hadoop ResourceManager
HA184 192.168.1.184 jdk、hadoop ResourceManager
HA185 192.168.1.185 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain
HA186 192.168.1.186 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain
HA187 192.168.1.187 jdk、hadoop、zookeeper DataNode、NodeManager、JournalNode、QuorumPeerMain
說明:
1.在hadoop2.0中通常由兩個NameNode組成,一個處於active狀態,另一個處於standby狀態。ActiveNameNode對外提供服務,而StandbyNameNode則不對外提供服務,僅同步activenamenode的狀態,以便能夠在它失敗時快速進行切換。
hadoop2.0官方提供了兩種HDFSHA的解決方案,一種是NFS,另一種是QJM。這里我們使用簡單的QJM。在該方案中,主備NameNode之間通過一組JournalNode同步元數據信息,一條數據只要成功寫入多數JournalNode即認為寫入成功。通常配置奇數個JournalNode
這里還配置了一個zookeeper集群,用於ZKFC(DFSZKFailoverController)故障轉移,當ActiveNameNode掛掉了,會自動切換StandbyNameNode為standby狀態
2.hadoop-2.2.0中依然存在一個問題,就是ResourceManager只有一個,存在單點故障,hadoop-2.4.1解決了這個問題,有兩個ResourceManager,一個是Active,一個是Standby,狀態由zookeeper進行協調
安裝步驟:
1.安裝配置zooekeeper集群(在HA185上)
1.1解壓
tar-zxvfzookeeper-3.4.5.tar.gz-C/app/
1.2修改配置
cd/app/zookeeper-3.4.5/conf/
cpzoo_sample.cfgzoo.cfg
vimzoo.cfg
修改:dataDir=/app/zookeeper-3.4.5/tmp
在最後添加:
server.1=HA185:2888:3888
server.2=HA186:2888:3888
server.3=HA187:2888:3888
保存退出
然後創建一個tmp文件夾
mkdir/app/zookeeper-3.4.5/tmp
再創建一個空文件
touch/app/zookeeper-3.4.5/tmp/myid
最後向該文件寫入ID
echo1>/app/zookeeper-3.4.5/tmp/myid
1.3將配置好的zookeeper拷貝到其他節點(首先分別在HA186、HA187根目錄下創建一個weekend目錄:mkdir/weekend)
scp-r/app/zookeeper-3.4.5/HA186:/app/
scp-r/app/zookeeper-3.4.5/HA187:/app/
注意:修改HA186、HA187對應/weekend/zookeeper-3.4.5/tmp/myid內容
HA186:
echo2>/app/zookeeper-3.4.5/tmp/myid
HA187:
echo3>/app/zookeeper-3.4.5/tmp/myid
2.安裝配置hadoop集群(在HA181上操作)
2.1解壓
tar-zxvfhadoop-2.4.1.tar.gz-C/weekend/
2.2配置HDFS(hadoop2.0所有的配置文件都在$HADOOP_HOME/etc/hadoop目錄下)
#將hadoop添加到環境變數中
vim/etc/profile
exportJAVA_HOME=/app/jdk1.7.0_79
exportHADOOP_HOME=/app/hadoop-2.4.1
exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
#hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop下
cd/home/hadoop/app/hadoop-2.4.1/etc/hadoop
2.2.1修改hadoop-env.sh
exportJAVA_HOME=/app/jdk1.7.0_79
2.2.2修改core-site.xml
<configuration>
<!--指定hdfs的nameservice為ns1-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1/</value>
</property>
<!--指定hadoop臨時目錄-->
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop-2.4.1/tmp</value>
</property>
<!--指定zookeeper地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>HA185:2181,HA186:2181,HA187:2181</value>
</property>
</configuration>
2.2.3修改hdfs-site.xml
<configuration>
<!--指定hdfs的nameservice為ns1,需要和core-site.xml中的保持一致-->
<property>
<name>dfs.nameservices</name>
<value>ns1</value>
</property>
<!--ns1下面有兩個NameNode,分別是nn1,nn2-->
<property>
<name>dfs.ha.namenodes.ns1</name>
<value>nn1,nn2</value>
</property>
<!--nn1的RPC通信地址-->
<property>
<name>dfs.namenode.rpc-address.ns1.nn1</name>
<value>HA181:9000</value>
</property>
<!--nn1的http通信地址-->
<property>
<name>dfs.namenode.http-address.ns1.nn1</name>
<value>HA181:50070</value>
</property>
<!--nn2的RPC通信地址-->
<property>
<name>dfs.namenode.rpc-address.ns1.nn2</name>
<value>HA182:9000</value>
</property>
<!--nn2的http通信地址-->
<property>
<name>dfs.namenode.http-address.ns1.nn2</name>
<value>HA182:50070</value>
</property>
<!--指定NameNode的元數據在JournalNode上的存放位置-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://HA185:8485;HA186:8485;HA187:8485/ns1</value>
</property>
<!--指定JournalNode在本地磁碟存放數據的位置-->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/app/hadoop-2.4.1/journaldata</value>
</property>
<!--開啟NameNode失敗自動切換-->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!--配置失敗自動切換實現方式-->
<property>
<name>dfs.client.failover.proxy.provider.ns1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.</value>
</property>
<!--配置隔離機制方法,多個機制用換行分割,即每個機制暫用一行-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
shell(/bin/true)
</value>
</property>
<!--使用sshfence隔離機制時需要ssh免登陸-->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
<!--配置sshfence隔離機制超時時間-->
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
</configuration>
2.2.4修改mapred-site.xml
<configuration>
<!--指定mr框架為yarn方式-->
<property>
<name>maprece.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2.2.5修改yarn-site.xml
<configuration>
<!--開啟RM高可用-->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!--指定RM的clusterid-->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yrc</value>
</property>
<!--指定RM的名字-->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!--分別指定RM的地址-->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>HA183</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>HA184</value>
</property>
<!--指定zk集群地址-->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>HA185:2181,HA186:2181,HA187:2181</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>maprece_shuffle</value>
</property>
</configuration>
2.2.6修改slaves(slaves是指定子節點的位置,因為要在HA181上啟動HDFS、在HA183啟動yarn,
所以HA181上的slaves文件指定的是datanode的位置,HA183上的slaves文件指定的是nodemanager的位置)
HA185
HA186
HA187
2.2.7配置免密碼登陸
#首先要配置HA181到HA182、HA183、HA184、HA185、HA186、HA187的免密碼登陸
#在HA181上生產一對鑰匙
ssh-keygen-trsa
#將公鑰拷貝到其他節點,包括自己
ssh--idHA181
ssh--idHA182
ssh--idHA183
ssh--idHA184
ssh--idHA185
ssh--idHA186
ssh--idHA187
#配置HA183到HA184、HA185、HA186、HA187的免密碼登陸
#在HA183上生產一對鑰匙
ssh-keygen-trsa
#將公鑰拷貝到其他節點
ssh--idHA184
ssh--idHA185
ssh--idHA186
ssh--idHA187
#注意:兩個namenode之間要配置ssh免密碼登陸,別忘了配置HA182到HA181的免登陸
在HA182上生產一對鑰匙
ssh-keygen-trsa
ssh--id-iHA181
2.4將配置好的hadoop拷貝到其他節點
scp-r/app/hadoop-2.5.1/HA182:/app/
scp-r/app/hadoop-2.5.1/HA183:/app/
scp-r/app/hadoop-2.5.1/HA184:/app/
scp-r/app/hadoop-2.5.1/HA185:/app/
scp-r/app/hadoop-2.5.1/HA186:/app/
scp-r/app/hadoop-2.5.1/HA187:/app/
###注意:嚴格按照下面的步驟
2.5啟動zookeeper集群(分別在HA185、HA186、tcast07上啟動zk)
cd/app/zookeeper-3.4.5/bin/
./zkServer.shstart
#查看狀態:一個leader,兩個follower
./zkServer.shstatus
2.6啟動journalnode(分別在在HA185、HA186、HA187上執行)
cd/app/hadoop-2.5.1
hadoop-daemon.shstartjournalnode
#運行jps命令檢驗,HA185、HA186、HA187上多了JournalNode進程
2.7格式化ZKFC(在HA181上執行即可) hdfszkfc-formatZK
2.8格式化HDFS
#在HA181上執行命令:
hdfsnamenode-format
#格式化後會在根據core-site.xml中的hadoop.tmp.dir配置生成個文件,這里我配置的是/app/hadoop-2.4.1/tmp,然後將/weekend/hadoop-2.4.1/tmp拷貝到HA182的/weekend/hadoop-2.4.1/下。
scp-rtmp/HA182:/app/hadoop-2.5.1/
##也可以這樣,建議hdfsnamenode-bootstrapStandby
2.9啟動HDFS(在HA181上執行)
sbin/start-dfs.sh
2.10啟動YARN(#####注意#####:是在HA183上執行start-yarn.sh,把namenode和resourcemanager分開是因為性能問題,因為他們都要佔用大量資源,所以把他們分開了,他們分開了就要分別在不同的機器上啟動)
sbin/start-yarn.sh
到此,hadoop-2.4.1配置完畢,可以統計瀏覽器訪問:
http://192.168.1.181:50070
NameNode'HA181:9000'(active)
http://192.168.1.182:50070
NameNode'HA182:9000'(standby)
驗證HDFSHA
首先向hdfs上傳一個文件
hadoopfs-put/etc/profile/profile
hadoopfs-ls/
然後再kill掉active的NameNode
kill-9<pidofNN>
通過瀏覽器訪問:http://192.168.1.182:50070
NameNode'HA182:9000'(active)
這個時候HA182上的NameNode變成了active
在執行命令:
hadoopfs-ls/
-rw-r--r--3rootsupergroup19262014-02-0615:36/profile
剛才上傳的文件依然存在!!!
手動啟動那個掛掉的NameNode
sbin/hadoop-daemon.shstartnamenode
通過瀏覽器訪問:http://192.168.1.181:50070
NameNode'HA181:9000'(standby)
驗證YARN:
運行一下hadoop提供的demo中的WordCount程序:
hadoopjarshare/hadoop/maprece/hadoop-maprece-examples-2.4.1.jarwordcount/profile/out
OK,大功告成!!!
CID-74d21742-3e4b-4df6-a99c-d52f703b49c0
測試集群工作狀態的一些指令:
bin/hdfsdfsadmin-report 查看hdfs的各節點狀態信息
bin/hdfshaadmin-getServiceStatenn1 獲取一個namenode節點的HA狀態
sbin/hadoop-daemon.shstartnamenode單獨啟動一個namenode進程
./hadoop-daemon.shstartzkfc單獨啟動一個zkfc進程
Ⅷ vmware和雲伺服器能一起搭建hadoop集群嗎兩台虛擬機一台雲伺服器 該怎麼設置呢
理論上可以的,vmware虛擬機和雲伺服器其實和傳統物理伺服器用起來沒差別。但如果你說的雲伺服器是公有雲,是vmware在你的區域網,不推薦組合起來搭建hadoop,因為互聯網的網路延遲比本地高,集群會不穩,非要做的話,vmware虛擬機需要用dnat映射地址到公網
Ⅸ 如何構建最優化的Hadoop集群
本文將逐步介紹這些部分的安裝和配置:
•網路體系結構
•操作系統
•硬體要求
•Hadoop軟體安裝/設置
網路架構
根據我們目前能夠拿到的文檔,可以認為雲內的節點越在物理上接近,越能獲得更好的性能。根據經驗,網路延時越小,性能越好。
為了減少背景流量,我們為這個雲創建了一個虛擬專用網。另外,還為應用伺服器們創建了一個子網,作為訪問雲的入口點。
這個虛擬專用網的預計時延大約是1-2毫秒。這樣一來,物理臨近性就不再是一個問題,我們應該通過環境測試來驗證這一點。
建議的網路架構:
•專用TOR(Top of Rack)交換機
•使用專用核心交換刀片或交換機
•確保應用伺服器「靠近」Hadoop
•考慮使用乙太網綁定
為了防止數據丟失,Hadoop會將每個數據塊復制到多個機器上。想像一下,如果某個數據塊的所有拷貝都在同一個機架的不同機器上,而這個機架剛好發生故障了(交換機壞了,或者電源掉了),這得有多悲劇?為了防止出現這種情況,必須要有一個人來記住所有數據節點在網路中的位置,並且用這些知識來確定——把數據的所有拷貝們放在哪些節點上才是最明智的。這個「人」就是Name Node。
另外還有一個假設,即相比不同機架間的機器,同一個機架的機器之間有著更大的帶寬和更小的延時。這是因為,機架交換機的上行帶寬一般都小於下行帶寬。而且(+本站微信networkworldweixin),機架內的延時一般也小於跨機架的延時(但也不絕對)。
機架感知的缺點則是,我們需要手工為每個數據節點設置機架號,還要不斷地更新這些信息,保證它們是正確的。要是機架交換機們能夠自動向Namenode提供本機架的數據節點列表,那就太棒了。
Ⅹ 怎麼在伺服器上搭建hadoop集群
前期准備 l 兩台linux虛擬機(本文使用redhat5,IP分別為 IP1、IP2) l JDK環境(本文使用jdk1.6,網上很多配置方法,本文省略) l Hadoop安裝包(本文使用Hadoop1.0.4) 搭建目標 210作為主機和節點機,211作為節點機。 搭建步驟 1修改hosts文...