您好,登錄后才能下訂單哦!
這里搭建一個(gè) 3 節(jié)點(diǎn)的 Hadoop 集群,其中三臺(tái)主機(jī)均部署 DataNode
和 NodeManager
服務(wù),但只有 hadoop001 上部署 NameNode
和 ResourceManager
服務(wù)。
Hadoop 的運(yùn)行依賴 JDK,需要預(yù)先安裝。其安裝步驟單獨(dú)整理至:
在每臺(tái)主機(jī)上使用 ssh-keygen
命令生成公鑰私鑰對:
ssh-keygen
將 hadoop001
的公鑰寫到本機(jī)和遠(yuǎn)程機(jī)器的 ~/ .ssh/authorized_key
文件中:
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop001
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop002
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop003
ssh hadoop002
ssh hadoop003
下載 Hadoop。這里我下載的是 CDH 版本 Hadoop,下載地址為:http://archive.cloudera.com/cdh6/cdh/5/
# tar -zvxf hadoop-2.6.0-cdh6.15.2.tar.gz
編輯 profile
文件:
# vim /etc/profile
增加如下配置:
export HADOOP_HOME=/usr/app/hadoop-2.6.0-cdh6.15.2
export PATH=${HADOOP_HOME}/bin:$PATH
執(zhí)行 source
命令,使得配置立即生效:
# source /etc/profile
進(jìn)入 ${HADOOP_HOME}/etc/hadoop
目錄下,修改配置文件。各個(gè)配置文件內(nèi)容如下:
# 指定JDK的安裝位置
export JAVA_HOME=/usr/java/jdk1.8.0_201/
<configuration>
<property>
<!--指定 namenode 的 hdfs 協(xié)議文件系統(tǒng)的通信地址-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop001:8020</value>
</property>
<property>
<!--指定 hadoop 集群存儲(chǔ)臨時(shí)文件的目錄-->
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
<property>
<!--namenode 節(jié)點(diǎn)數(shù)據(jù)(即元數(shù)據(jù))的存放位置,可以指定多個(gè)目錄實(shí)現(xiàn)容錯(cuò),多個(gè)目錄用逗號分隔-->
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/namenode/data</value>
</property>
<property>
<!--datanode 節(jié)點(diǎn)數(shù)據(jù)(即數(shù)據(jù)塊)的存放位置-->
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/datanode/data</value>
</property>
<configuration>
<property>
<!--配置 NodeManager 上運(yùn)行的附屬服務(wù)。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上運(yùn)行 MapReduce 程序。-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!--resourcemanager 的主機(jī)名-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoop001</value>
</property>
</configuration>
<configuration>
<property>
<!--指定 mapreduce 作業(yè)運(yùn)行在 yarn 上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置所有從屬節(jié)點(diǎn)的主機(jī)名或 IP 地址,每行一個(gè)。所有從屬節(jié)點(diǎn)上的 DataNode
服務(wù)和 NodeManager
服務(wù)都會(huì)被啟動(dòng)。
hadoop001
hadoop002
hadoop003
將 Hadoop 安裝包分發(fā)到其他兩臺(tái)服務(wù)器,分發(fā)后建議在這兩臺(tái)服務(wù)器上也配置一下 Hadoop 的環(huán)境變量。
# 將安裝包分發(fā)到hadoop002
scp -r /usr/app/hadoop-2.6.0-cdh6.15.2/ hadoop002:/usr/app/
# 將安裝包分發(fā)到hadoop003
scp -r /usr/app/hadoop-2.6.0-cdh6.15.2/ hadoop003:/usr/app/
在 Hadoop001
上執(zhí)行 namenode 初始化命令:
hdfs namenode -format
進(jìn)入到 Hadoop001
的 ${HADOOP_HOME}/sbin
目錄下,啟動(dòng) Hadoop。此時(shí) hadoop002
和 hadoop003
上的相關(guān)服務(wù)也會(huì)被啟動(dòng):
# 啟動(dòng)dfs服務(wù)
start-dfs.sh
# 啟動(dòng)yarn服務(wù)
start-yarn.sh
在每臺(tái)服務(wù)器上使用 jps
命令查看服務(wù)進(jìn)程,或直接進(jìn)入 Web-UI 界面進(jìn)行查看,端口為 50070
??梢钥吹酱藭r(shí)有三個(gè)可用的 Datanode
:
<BR/>
點(diǎn)擊 Live Nodes
進(jìn)入,可以看到每個(gè) DataNode
的詳細(xì)情況:
<BR/>
接著可以查看 Yarn 的情況,端口號為 8088
:
提交作業(yè)到集群的方式和單機(jī)環(huán)境完全一致,這里以提交 Hadoop 內(nèi)置的計(jì)算 Pi 的示例程序?yàn)槔谌魏我粋€(gè)節(jié)點(diǎn)上執(zhí)行都可以,命令如下:
hadoop jar /usr/app/hadoop-2.6.0-cdh6.15.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh6.15.2.jar pi 3 3
更多大數(shù)據(jù)系列文章可以參見 GitHub 開源項(xiàng)目: 大數(shù)據(jù)入門指南
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。