Hadoop完全分布式集群搭建


環(huán)境準備


1. 集群規(guī)劃

2. 安裝步驟

(1) 把hadoop安裝包上傳到服務器并解壓

tar zxvf hadoop-2.6.5.tar.gz -C /home/hadoop/apps/

(2) 修改 hadoop-env.sh、mapred-env.sh、yarn-env.sh 這三個配置文件,添加JAVA_HOME

hadoop的配置文件在HADOOP_HOME/etc/hadoop/下

export JAVA_HOME=/usr/local/jdk1.8.0_73

(3) 修改 core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hadoopdata</value>
    </property>
</configuration>

(4) 修改 hdfs-site.xml

<configuration>
    <!--
        這兩個配置用于指定namenode和datanode存放數(shù)據(jù)的位置
        如果不指定,數(shù)據(jù)會存放到core-site.xml中配hadoop.tmp.dir目錄下
    -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop/hadoopdata/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop/hadoopdata/data</value>
    </property>
    <!--配置數(shù)據(jù)副本數(shù),不要超過datanode節(jié)點數(shù)-->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!--指定secondarynamenode所在節(jié)點-->
    <property>
        <name>dfs.secondary.http.address</name>
        <value>node02:50090</value>
    </property>
</configuration>

(5) 修改 mapred-site.xml

集群中只有mapred-site.xml.template,可以從這個文件進行復制

cp mapred-site.xml.template mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

(6) 修改 yarn-site.xml

<configuration>
<property>
 <name>yarn.resourcemanager.hostname</name>
 <value>node03</value>
</property>
<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>
</configuration>

(7) 修改 slaves 配置文件,指定DataNode所在的節(jié)點

node02
node03
node04

(8) 把hadoop安裝包分發(fā)給其他節(jié)點

[hadoop@node01 hadoop]# scp -r /home/hadoop/apps/hadoop-2.6.5 node02:/home/hadoop/apps/
[hadoop@node01 hadoop]# scp -r /home/hadoop/apps/hadoop-2.6.5 node03:/home/hadoop/apps/
[hadoop@node01 hadoop]# scp -r /home/hadoop/apps/hadoop-2.6.5 node04:/home/hadoop/apps/

(9) 給每個節(jié)點配置HADOOP_HOME環(huán)境變量

vim ~/.bash_profile

export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(10) 在namenode主節(jié)點(node01)上格式化文件系統(tǒng)

[hadoop@node01 ~]# hdfs namenode -format

看到以下信息說明格式化成功:


(11) 在namenode主節(jié)點(node01)上啟動hdfs系統(tǒng)

[hadoop@node01 ~]# start-dfs.sh

(12) 在resourcemanager所在節(jié)點(node03)上啟動yarn

[hadoop@node03 ~]# start -yarn.sh

3. 驗證集群是否搭建成功

(1) 查看進程是否全部啟動

[hadoop@node01 ~]# jps
4000 NameNode
4281 Jps

[hadoop@node02 ~]# jps
3442 SecondaryNameNode
3289 DataNode
3375 NodeManager
3647 Jps

[hadoop@node03 ~]# jps
2945 DataNode
3019 ResourceManager
3118 NodeManager
3919 Jps

[hadoop@node04 ~]# jps
2899 DataNode
2984 NodeManager
3149 Jps

(2) 訪問WEB頁面

(3) 執(zhí)行hdfs命令或運行一個mapreduce程序測試

# 上傳一個文件
[hadoop@node01 ~]# hdfs dfs -put ./install.log /
# 執(zhí)行一個mapreduce例子程序
[hadoop@node01 mapreduce]# pwd
/home/hadoop/apps/hadoop-2.6.5/share/hadoop/mapreduce
[root@node02 mapreduce]# hadoop jar hadoop-mapreduce-examples-2.6.5.jar pi 5 5

文件上傳成功:


任務成功運行:


到這里,hadoop完全分布式集群就已經(jīng)搭建成功了!

4. 如果hadoop集群需要重裝,按以下步驟進行

(1) 刪除每個機器中的hadoop日志

日志默認在HADOOP_HOME/logs下,如果不刪除,日志文件會越積累越多,占用磁盤

(2) 刪除原來的namenode和datanode產生的數(shù)據(jù)和文件

刪除你配置的hadoop.tmp.dir這個目錄,如果你配置了dfs.datanode.data.dirdfs.datanode.name.dir這兩個配置,那么把這兩個配置對應的目錄也刪除

(3) 再重新修改hadoop配置文件后,按照安裝時的步驟進行即可

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容