實驗1:
啟動一個AWS實例,並且將它改變大小,以及對其進行監控和管理。
- 創建EC2實例
- 觀察實例的參數
- 更新安全組協議,增加web服務(http協議)
- 重新定義實例大小:實例的類型和EBS卷
- 探索EC2的限制
- 嘗試終止保護
實驗2:
創建一個Amazon彈性存儲塊(Amazon EBS),將EBS掛載到一個EC2實例上,在EBS上創建並配置文件系統,以及用快照實現EBS的備份和恢復。
- 新建EBS卷
- 連接卷到一個實例
- 登陸到創建的實例
- 創建並配置文件系統
- 創建一個EBS快照
- 恢復EBS快照
實驗3:
在VPC中啟動了一個EC2實例,在實例中運行着一個web server,對外提供web服務。
- 創建自己的私有雲
- 創建附加子網
- 創建一個私有雲的安全組
- 登陸到第一個web服務實例
實驗4:
添加了mysql關系型數據庫並配置了相應的子網和安全組,通過web server使用數據庫進行數據的存儲。
- 為RDS 數據庫實例創建一個VPC安全協議組
- 創建一個數據庫子網組
- 創建一個RDS數據庫實例
- 訪問上述創建的數據庫
關鍵問題分析與解決:
在實驗一中的任務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.exe、ubuntu-18.04.1-desktop-amd64.iso、hadoop-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文件