1. 程式人生 > >Hadoop偽分散式叢集搭建過程及避坑指南

Hadoop偽分散式叢集搭建過程及避坑指南

一個偶然的機會,讓我進了hadoop這個坑。我不得不說,Google真是個非常厲害的公司。為計算機行業貢獻了很多亮瞎雙眼額技術。初入Hadoop一般都要了解HDFS,YARN,Mapreduce。

現在來總結一下Hadoop分散式叢集的搭建過程。

1.首先準備好相應的安裝包,同時在你的伺服器上配置好jdk。


完成後通過tar -zxvf jdk.tar.gz(檔名)進行解壓
進入jdk 目錄 輸入pwd 得到當前路徑拷貝下來。
使用命令vi /etc/profile 命令配置jdk

在檔案的末尾 新增上

export JAVA_HOME=/apps/adf/java/jdk版本號
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
然後使用 source   /etc/profile  使配置檔案生效 
輸入java  -version  如果能輸出的配置成功不能輸出成功代表註冊失敗

配置成功後,一方面可以執行 echo $JAVA_HOME 測試一下,看看路徑是否正確。接下來可以將hadoop的壓縮包解壓。然後對其內部一些檔案進行配置。

2.配置

1.配置host:

vi /etc/hosts
192.168.1.221 hadoop
vi /etc/sysconfig/network
NETWORKING=yes

HOSTNAME=hadoop(修改為 ip對應的名字)

重啟一次伺服器

這裡很容易出錯的。

2.配置ssh

sudo yum install ssh
ssh-keygen -t rsa
將公鑰移動到另一個地方
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

執行完上述三條命令後 可以ssh 自身的hostname 測試

3.修改其餘配置

要修改下面幾個檔案

1.core-site.xml

新增:

<property>
      <name>fs.defaultFS</name>
      <value>hdfs://hadoop:8020</value>
   </property>

2.hdfs-site.xml

<property>
          <name>dfs.replication</name>
          <value>1</value>
     </property>
      <property>
          <name>dfs.name.dir</name>
          <value>/home/hadoop/app/namenode</value>
     </property>
     <property>
          <name>dfs.data.dir</name>
          <value>/home/hadoop/app/datanode</value>
     </property>
     <property>
          <name>dfs.tmp.dir</name>
          <value>/home/hadoop/app/tmp</value>
     </property>

3.mapred-site.xml

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        </property>

4.yarn-site.xml

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

3.啟動

格式化一個新的分散式檔案系統:
$ bin/hadoop namenode -format

啟動Hadoop守護程序:
$ bin/start-all.sh

啟動後,使用jps命令檢視是否啟動 namenode,datanode,secondarynamenode。這三個程序,缺一不可。

	jps
		4230 SecondaryNameNode
		5530 Jps
		5306 DataNode
		3947 NameNode

也可以通過網頁訪問:http://hadoop:50070(這裡的hadoop我是用的是我的阿里雲伺服器的公網)

4.停止hdfs
    sbin目錄下  ./stop-dfs.sh

當然這其中肯定會報很多次錯誤。比如,上面的三個程序有時候會缺失,需要你學會去看日誌。