Hadoop 系列(五)—— Hadoop 集群環(huán)境搭建

一、集群規(guī)劃

這里搭建一個(gè) 3 節(jié)點(diǎn)的 Hadoop 集群,其中三臺(tái)主機(jī)均部署 DataNodeNodeManager 服務(wù),但只有 hadoop001 上部署 NameNodeResourceManager 服務(wù)。

https://github.com/heibaiying

二、前置條件

Hadoop 的運(yùn)行依賴 JDK,需要預(yù)先安裝。其安裝步驟單獨(dú)整理至:

三、配置免密登錄

3.1 生成密匙

在每臺(tái)主機(jī)上使用 ssh-keygen 命令生成公鑰私鑰對(duì):

ssh-keygen

3.2 免密登錄

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

3.3 驗(yàn)證免密登錄

ssh hadoop002
ssh hadoop003

四、集群搭建

3.1 下載并解壓

下載 Hadoop。這里我下載的是 CDH 版本 Hadoop,下載地址為:http://archive.cloudera.com/cdh5/cdh/5/

# tar -zvxf hadoop-2.6.0-cdh5.15.2.tar.gz 

3.2 配置環(huán)境變量

編輯 profile 文件:

# vim /etc/profile

增加如下配置:

export HADOOP_HOME=/usr/app/hadoop-2.6.0-cdh5.15.2
export  PATH=${HADOOP_HOME}/bin:$PATH

執(zhí)行 source 命令,使得配置立即生效:

# source /etc/profile

3.3 修改配置

進(jìn)入 ${HADOOP_HOME}/etc/hadoop 目錄下,修改配置文件。各個(gè)配置文件內(nèi)容如下:

1. hadoop-env.sh

# 指定JDK的安裝位置
export JAVA_HOME=/usr/java/jdk1.8.0_201/

2. core-site.xml

<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>

3. hdfs-site.xml

<property>
      <!--namenode 節(jié)點(diǎn)數(shù)據(jù)(即元數(shù)據(jù))的存放位置,可以指定多個(gè)目錄實(shí)現(xiàn)容錯(cuò),多個(gè)目錄用逗號(hào)分隔-->
    <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>

4. yarn-site.xml

<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>

5. mapred-site.xml

<configuration>
    <property>
        <!--指定 mapreduce 作業(yè)運(yùn)行在 yarn 上-->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

5. slaves

配置所有從屬節(jié)點(diǎn)的主機(jī)名或 IP 地址,每行一個(gè)。所有從屬節(jié)點(diǎn)上的 DataNode 服務(wù)和 NodeManager 服務(wù)都會(huì)被啟動(dòng)。

hadoop001
hadoop002
hadoop003

3.4 分發(fā)程序

將 Hadoop 安裝包分發(fā)到其他兩臺(tái)服務(wù)器,分發(fā)后建議在這兩臺(tái)服務(wù)器上也配置一下 Hadoop 的環(huán)境變量。

# 將安裝包分發(fā)到hadoop002
scp -r /usr/app/hadoop-2.6.0-cdh5.15.2/  hadoop002:/usr/app/
# 將安裝包分發(fā)到hadoop003
scp -r /usr/app/hadoop-2.6.0-cdh5.15.2/  hadoop003:/usr/app/

3.5 初始化

Hadoop001 上執(zhí)行 namenode 初始化命令:

hdfs namenode -format

3.6 啟動(dòng)集群

進(jìn)入到 Hadoop001${HADOOP_HOME}/sbin 目錄下,啟動(dòng) Hadoop。此時(shí) hadoop002hadoop003 上的相關(guān)服務(wù)也會(huì)被啟動(dòng):

# 啟動(dòng)dfs服務(wù)
start-dfs.sh
# 啟動(dòng)yarn服務(wù)
start-yarn.sh

3.7 查看集群

在每臺(tái)服務(wù)器上使用 jps 命令查看服務(wù)進(jìn)程,或直接進(jìn)入 Web-UI 界面進(jìn)行查看,端口為 50070??梢钥吹酱藭r(shí)有三個(gè)可用的 Datanode

https://github.com/heibaiying

<BR/>

點(diǎn)擊 Live Nodes 進(jìn)入,可以看到每個(gè) DataNode 的詳細(xì)情況:

https://github.com/heibaiying

<BR/>

接著可以查看 Yarn 的情況,端口號(hào)為 8088

https://github.com/heibaiying

五、提交服務(wù)到集群

提交作業(yè)到集群的方式和單機(jī)環(huán)境完全一致,這里以提交 Hadoop 內(nèi)置的計(jì)算 Pi 的示例程序?yàn)槔谌魏我粋€(gè)節(jié)點(diǎn)上執(zhí)行都可以,命令如下:

hadoop jar /usr/app/hadoop-2.6.0-cdh5.15.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.15.2.jar  pi  3  3

更多大數(shù)據(jù)系列文章可以參見 GitHub 開源項(xiàng)目大數(shù)據(jù)入門指南

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、系統(tǒng)參數(shù)配置優(yōu)化 1、系統(tǒng)內(nèi)核參數(shù)優(yōu)化配置 修改文件/etc/sysctl.conf,添加如下配置,然后執(zhí)行s...
    張偉科閱讀 3,927評(píng)論 0 14
  • Hadoop HA集群搭建文檔.............................................
    鐘敏_1788閱讀 1,592評(píng)論 0 0
  • 前言 Hadoop在大數(shù)據(jù)技術(shù)體系中的地位至關(guān)重要,Hadoop是大數(shù)據(jù)技術(shù)的基礎(chǔ),對(duì)Hadoop基礎(chǔ)知識(shí)的掌握的...
    piziyang12138閱讀 2,000評(píng)論 0 3
  • //點(diǎn)擊下載APP$(".downloadapp").live('click',function(){var br...
    佐伊zero閱讀 1,810評(píng)論 1 1
  • 【學(xué)員信息】:阿何新媒體寫作訓(xùn)練營(yíng)5期2班5組——小腳丫50 小作業(yè)9: 將下面這段表述改寫的更能讓讀者覺得“這件...
    小腳丫2019閱讀 206評(píng)論 3 0

友情鏈接更多精彩內(nèi)容