1. 程式人生 > >hadoop偽分佈模式配置

hadoop偽分佈模式配置

1. 偽分佈配置

實驗條件:1臺ubuntu伺服器,jdk版本1.8.X,Hadoop 版本1.2.X

1.1 ssh localohost

如果不輸入口令就無法用ssh登陸localhost,即ssh免密登陸,則執行下面的命令,產生公私鑰對,
將私鑰放入authorized_keys

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

坑1 ssh埠不對

ssh預設埠是22,但是伺服器往往基於安全考慮會修改預設埠,這裡要注意,如果修改了ssh埠,
則需要修改預設埠,或者再加一個ssh埠
ps:跟另一個伺服器管理員互相該埠和配置檔案

1.2 配置/cong/core-site.xml

  • 設定hdfs的tmp目錄,hadoop會預設把data和name目錄放在tmp中
  • hdfs預設埠號地址,臨時檔案存放目錄資訊
<configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://localhost:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>  
                <value>/usr/local/hadoop/tmp</value>
        </property>
</configuration>

1.3 配置/cong/hdfs-site.xml

設定hdfs的節點個數和資訊,包括hdfs的節點路徑、資料路徑!

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>

</configuration>

坑2 hdfs-site.xml中手動設定namenode和datanode的路徑和檔案

錯誤示範


如此設定後我碰到的錯誤是:hadoop namenode -format 無效,報錯NameNode is not formatted.
啟動hdfs後,namenode無法啟動,因為我這個版本目前無需手動設定namenode和datanode路徑。

1.4 /cong/mapred-site.xml

設定jobtracker的地址和埠號!

<configuration>
        <property>
                <name>mapred.job.tracker</name>
                <value>localhost:9001</value>
        </property>
</configuration>

2. 驗證偽分散式開發環境是否搭建成功

2.1 格式化hadoop的namenode

$HADOOP_HOME/bin/hadoop namenode -format

2.2 啟動服務

$HADOOP_HOME//bin/start-all.sh

2.3 用 jps 命令看啟動情況

2.3.1 如果NameNode和DataNode程序未啟動

到hadoop的logs目錄檢視日誌,檢視未啟動程序的相應日誌,如hadoop-username-namenode-XXXXXXX.log,
根據最近的未啟動報錯查詢原因。

  • 如果報錯是NameNode is not formatted.,則嘗試檢視start-all.sh前是否執行了format ,如果沒有,則先結束服務
    (見2.4),然後刪除且重建$HADOOP_HOME/tmp,接著執行format,再啟動服務(見2.2)試試。如果執行了format,
    則進入下一步。
  • 如果出現1中的錯誤,且執行過format,則嘗試檢視cong檔案中的hdfs-site.xml的配置是否合適,參考1.3中的坑2
  1. DataNode等的日誌報錯也是同樣的處理思路。

2.4 結束服務

$HADOOP_HOME//bin/stop-all.sh 

參考

給我帶來幫助,同時也引入坑的參考:
https://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html
https://blog.csdn.net/henni_719/article/details/77732815
https://www.cnblogs.com/hopelee/p/7049819.h