Hadoop偽分布式搭建實驗總結


實驗1:

啟動一個AWS實例,並且將它改變大小,以及對其進行監控和管理。

  1. 創建EC2實例
  2. 觀察實例的參數
  3. 更新安全組協議,增加web服務(http協議)
  4. 重新定義實例大小:實例的類型和EBS卷
  5. 探索EC2的限制
  6. 嘗試終止保護

實驗2:

創建一個Amazon彈性存儲塊(Amazon EBS),將EBS掛載到一個EC2實例上,在EBS上創建並配置文件系統,以及用快照實現EBS的備份和恢復。

  1. 新建EBS卷
  2. 連接卷到一個實例
  3. 登陸到創建的實例
  4. 創建並配置文件系統
  5. 創建一個EBS快照
  6. 恢復EBS快照

實驗3:

在VPC中啟動了一個EC2實例,在實例中運行着一個web server,對外提供web服務。

  1. 創建自己的私有雲
  2. 創建附加子網
  3. 創建一個私有雲的安全組
  4. 登陸到第一個web服務實例

實驗4:

         添加了mysql關系型數據庫並配置了相應的子網和安全組,通過web server使用數據庫進行數據的存儲。

  1. 為RDS 數據庫實例創建一個VPC安全協議組
  2. 創建一個數據庫子網組
  3. 創建一個RDS數據庫實例
  4. 訪問上述創建的數據庫

關鍵問題分析與解決:

在實驗一中的任務1安裝你的亞馬遜EC2實例,在填寫下面的命令時直接復制粘貼的,導致在任務3中無法進行。詢問研究生學長后,得知可能是復制導致的問題,建議自己手打一邊。一次我重新做了一邊任務1,將命令自己手打進去,重新將IPV4地址拷貝進瀏覽器,回車后運行成功。仔細分析可能是復制命令時會將一些多余的空格復制進去,導致命令出錯。

圖 1實驗一

         在實驗二中,因為之前的密鑰文件沒有保存,導致實驗無法進行下去,不得不重新創建一個實例。還有就是獲取PPK文件的時候需要通過pem文件轉換,下載專門的軟件。實驗過程中需要通過PUTTY來訪問雲端,同時需要將雲端實例的安全組里SSH端口打開。

         實驗三執行遇到了一點小問題,做到“Name tag: Type: Public Subnet 2”處時出現了點小錯誤。后來發現是實驗指導書上的錯誤,這個地方的子網應該是私有的才對。

         實驗四做到任務四時后出現報錯,原因是創建數據庫時沒有選擇Only enable options eligible for RDS Free Usage Tier Info。重新建立數據庫並正確操作,室驗成功。

 

 

 

Hadoop偽分布安裝

實驗環境:

VMware workstation Pro.exeubuntu-18.04.1-desktop-amd64.isohadoop-0.20.2.tar.gz(在課件上的網站已經沒有此版本了,因此我只能到官網上下載)。

前期准備:

         修改鏡像源,換成國內的鏡像源,這樣下載速度還快;安裝vim,方便后期編輯文件。

實驗步驟及遇到的問題:

1、安裝jdk和配置java環境變量

首先在官網上下載jdk壓縮包,本次實驗所用的是jdk-8u191-linux-x64.tar.gz版本。將壓縮包解壓到虛擬機,然后配置環境變量,使用vi /etc/profile添加以下信息:

export JAVA_HOME=/java/jdk1.8.0_191

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

最后重啟系統,在終端輸入Java –version,顯示如下信息,jdk安裝成功。

圖 2 JDK安裝成功

2、安裝ssh

安裝過程中,不知道是什么故障,執行sudo apt-get install ssh會報錯,報錯如下:

圖 3 ssh安裝報錯

但是我換了條安裝命令sudo apt-get install openssh-server后就可以,具體原因還沒有搞清楚。

通過which shh和which shhd查看ssh是否安裝;通過ps aux | grep ssh查看ssh是否安裝;通過sudo ufw status查看防火牆是否已關閉;通過sudo netstat -tunlp | grep ssh查看ssh連接端口。檢查完畢,安裝成功。

圖 4 檢查ssh安裝

3、安裝Hadoop

這一步比較簡單,直接將下載好的壓縮包拷貝到虛擬機里即可。

4、配置Hadoop

這一步按照課件里面的說明,先修改hadoop-env.sh文件,添加java的環境變量;然后依次修改core-site.xml、hdfs-site.xml和mapred-site.xml文件。

5、免密碼SSH設置

首先通過ssh-keygen –t rsa命令生成密鑰對,執行過程中一路回車,選擇默認設置。

圖 5 ssh生成密鑰

 

         然后進入.ssh目錄下,執行命令cp id_rsa.pub authorized_keys。

圖 6 ssh配置

         到此為止,所有的偽分布安裝基本完成,下面進行測試,檢驗是否安裝成功。

6、結果測試

首先需要先格式化分布式文件系統,執行命令bin/hadoop namenode –format。

圖 7 格式化

         然后執行bin/start-all.sh啟動namenode守護進程,啟動Hadoop的五個進程。

圖 8 啟動Hadoop

         到此Hadoop已經啟動運行。

         可以在終端輸入命令jps查看。

圖 9 jsp命令查看

         也可以通過在瀏覽器輸入網址localhost:50070和localhost:50030查看。

圖 10 localhost:50030瀏覽器查看

 

圖 11  localhost:50070瀏覽器查看

 

         下面來運行一個wordcount實例來進一步熟悉Hadoop。

         首先在Hadoop目錄下建立input文件夾,里面寫有兩個txt文件,text1.txt寫有hello wangjian, text2.txt寫有hello hadoop。將本地系統中的input目錄復制到HDFS的根目錄下,重新命名為in,運行Hadoop自帶的WordConut實例。Out為數據處理完后的輸出目錄,默認為在Hadoop的根目錄下,運行之前必須清空或者刪除out目錄,否則會報錯。

         任務執行完畢,實驗結果如下:

圖 12 WordConut分詞

也可以把輸出文件從Hadoop分布式文件系統復制到本地文件系統查看。

圖 13 結果復制到本地文件系統

         到此,偽分布式實驗大功告成。執行bin/stop-all.sh停止Hadoop守護進程。

實驗總結:

         在Hadoop偽分布式的安裝配置過程中,遇到許許多多的問題,安裝Java jdk,配置環境變量,安裝ssh等等,出現問題就到百度和csdn上尋找解決方法。同時在本次實驗中認識到了自己的不足,對Linux系統不夠熟悉,在以后的學習中需要進一步努力。

         實驗考驗是一個人的耐心,實驗步驟要一步一步地做,每一步都要嚴謹認真。

         通過本次實驗,只是簡單掌握了Hadoop偽分布式的搭建過程,對於完全分布式沒有做成功,也是很遺憾,因為時間緊張,在截至提交實驗報告前,完全分布式遇到了點問題,到現在還沒有解決。因為筆記本配置比較低,硬盤內存不夠,只能搭建兩台虛擬機。打算用wangjian這台作為namenode,wangjian1這台作為datanode。但是搭建兩台以后,只能一台聯網。具體問題還在研究。

圖 14 分布式配置中修改hosts文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM