ubuntu 18.04.1安裝hadoop3.1.2

前提,虛擬機安裝 見http://www.javashuo.com/article/p-slkhirfv-hz.htmlhtml

一.按照https://blog.csdn.net/MastetHuang/article/details/51867115該步驟進行node

其中有如下幾個小問題apache

1.注意上述連接中的hadoop-2.6.4須要修改成本身的hadoop版本,同時,hdfs-site.xml和core-site.xml等配置文件的修改中的hadoop-2.6.4也應一併修改vim

2.配置文件還需做以下修改ssh

vim /hadoop-3.1.2/etc/hadoop/core-site.xml
添加以下:
<configuration>
    <property> 
        <name>fs.defaultFS</name>
     <value>hdfs://localhost:9000 </value>
  </property>
  <property>   
    <name>hadoop.tmp.dir</name>
     <value>/data/hadoop/tmp </value>
  </property>
  <property> 
<name>hadoop.native.lib</name>
     <value>true</value>  
  </property>
<configuration>
vim /data/hadoop/etc/hadoop/hdfs-site.xml 
添加以下:
<configuration>
    <property> 
        <name>dfs.replication</name> 
        <value>1</value> 
    </property> 
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/hadoop/hdfs/data</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>
vim /data/hadoop/etc/hadoop/mapred-site.xml 
添加以下:
<configuration>
    <property>
    <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
vim /data/hadoop/etc/hadoop/yarn-site.xml 
添加以下:
<configuration>
<property> 
    <name>yarn.nodemanager.aux-services</name> 
        <value>mapreduce_shuffle</value> ##注意這裏有坑 mapreduce.shuffle 連接符爲.的時候有問題 </property>
</configuration>
3.修改JAVA_HOME 時記得把#去掉
export JAVA_HOME=/usr/local/jdk1.7.0_79

4.拷貝主機文件(hadoop)到虛擬機  在虛擬機中執行oop

scp 192.168.0.119:/home/cxl/Downloads/hadoop-3.1.2.tar.gz /home/cxl/ hadoop-3.1.2

其中 192.168.0.119爲本機IP ,/home/hostname/爲本身的路徑ui

5.編輯profile文件一旦沒有寫正確,致使在命令行下 ls等命令不可以識別spa

在命令行下打入下面這段.net

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

6.主機沒法ssh鏈接虛擬機,也ping不通命令行

https://blog.csdn.net/chengqiuming/article/details/83239413 設置好後在主機中執行

ssh 127.0.0.1 -p 2022

設置端口轉發後主機監聽本地2022端口,若是ssh -p 2022,就將ssh到虛擬機,因此是ssh 127.0.0.1

二.安裝完後

1.建立文件夾(配置文件core-site.xml中hadoop.tmp.dir 設置的就是tmp

cd /data/hadoop
mkdir tmp
cd tmp
mkdir name data
chmod -R 777 tmp

2.格式化

cd /hadoop-3.1.2/bin
hdfs namenode -format

3.啓動hadoop

cd hadoop-3.1.2/sbin/
./start-all.sh

 4.操做hdfs

確保在hadoop的bin目錄下

cd /hadoop3.1.2/bin
hdfs dfs -mkdir /test

hadoop fs -mkdir /test

其餘簡單操做見http://www.javashuo.com/article/p-ocpqwrhb-kc.html

詳情見官方文檔http://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html

後續:

 1.datanode啓動後自動關閉

解決方法:https://blog.csdn.net/a469142780/article/details/71312143

問題:Namenode上namespaceID與datanode上namespaceID不一致。   問題產生緣由:每次namenode format會從新建立一個namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的數據,可是沒有清空datanode下的數據,因此形成namenode節點上的namespaceID與datanode節點上的namespaceID不一致。啓動失敗。 解決方法:   (1)停掉集羣服務   (2)在出問題的datanode節點上刪除data目錄,data目錄便是在hdfs-site.xml文件中配置的dfs.data.dir目錄,本機器上那個是/hadoop/hadoop-2.7.1/hdfs/dfs/data/ (注:在全部的datanode和namenode節點上均執行了該步驟。以防刪掉後不成功,能夠先把data目錄複製一份)。   (3)格式化namenode.   (4)從新啓動集羣。   問題解決。 謹記:這種方法帶來的一個反作用就是會形成hdfs上的全部數據丟失。

相關文章
相關標籤/搜索