Centos 7.0 下hadoop叢集模式安裝(以3個節點為例,master,slave1,slave2)超詳細
一、目標:
構建由3臺PC機構成的hadoop環境,安裝完成後使用HDFS、Mapreduce、Hbase等完成一些小例子。
二、硬體需求:
3臺Centos 7.0 系統PC機,每臺PC機4G記憶體,500G硬碟,雙核CPU。
三、軟體需求:
每臺PC機裝有Centos 7.0系統,其中一臺namenode,安裝系統時命名master;另外兩臺為datanode,安裝系統時分別命名為slave1、slave2。
四、Hadoop叢集模式安裝過程:
1 修改3臺主機上的/etc/hosts,主機名和IP地址分配:master、slave1、slave2。
首先、以root身份在master主機上修改/etc/hosts
2 將master主機上的/etc/hosts複製到其它2臺主機上(複製過程需要輸入root認證密碼)
3 因為Hadoop叢集中所有節點主機上都以hadoop賬戶安裝、配置、載入執行,所以首先需要以root身份在3個節點上建立一個hadoop賬戶,預設情況下所有主機的/home目錄下建立一個hadoop的目錄為hadoop賬戶的宿主目錄。
4 設定主機間無密碼信任連線:
4.1 在master主機上以hadoop賬戶身份使用ssh-keygen命令生成master主機hadoop賬戶金鑰對。此時在master節點主機的~
4.2 再分別用ssh命令操作slave1、slave2主機生成2臺節點的金鑰對。
4.3 將剛剛生成的金鑰對中的公鑰複製到master節點的~/.ssh/目錄之下
4.4 將master、slave1、slave2主機的公鑰寫入master主機~/.ssh目錄的認證檔案authorized_keys中
4.5 用chmod命令修改認證檔案authorized_keys的屬性為600
4.6
將~/.ssh/authorized_keys認證檔案複製到所有節點主機的~/.ssh/目錄中,並進行密碼連線測試。
5 hadoop目錄結構的建立
5.1 chadoop目錄建立:mkdir ~/chadoop
5.2 tmp目錄建立:mkdir ~/chadoop/tmp
5.3 dfs目錄以及其下name和data目錄的建立:mkdir -p~/chadoop/dfs/name ~/chadoop/dfs/data
6 Java SDK安裝與配置
6.1 Java SDK下載(wget http://202.118.69.111/res/jdk-8u121-linux-x64.tar.gz),並對其移動改名。
6.2 Java SDK環境變數的設定,將~/.bash_profile加入JAVA——HOME,CLASSPATH和PATH
(配置環境變數命令vi ~/.bash_profile,配置完後需用命令生效. ~/.bash_profile)並可用(java-version檢視環境變數是否生效)
注意:配置環境變數時一定要填寫到安裝目錄bin之前的目錄,否則不會成功。7 hadoop下載與安裝 7.1 hadoop下載解壓並移動
7.2環境變數的配置 (配置環境變數命令vi~/.bash_profile,配置完後需用命令生效. ~/.bash_profile)
7.3因為時hadoop叢集模式,所以我們還要修改~/chadoop/hadoop/hadoop-2.8.0/etc/hadoop目錄下的檔案(core-site.xml,hdfs-site.xml, mapred-site.xml, yarn-site.xml,hadoop-env.sh, mapred-env.sh,yarn-env.sh 和 slaves) core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
hadoop-env.sh
mapred-env.sh
yarn-env.sh
slaves
8 master主節點克隆到slave1、slave2節點
8.1克隆“畫像”檔案
scp ~/.bash_profile[email protected]:~/
scp ~/.bash_profile[email protected]2:~/
8.2畫像檔案生效
ssh [email protected] . ~/.bash_profile
ssh [email protected] . ~/.bash_profile
8.3 chadoop目錄克隆到slave1、slave2
9在master節點主機上格式化hdfs檔案系統
9.1 hdfs namenode -format
9.2啟動hadoop(啟動前關閉所有節點主機的防火牆,開放所有埠號)
service firewalld stop(會提示輸入root使用者密碼)
chkconfig firewalld off
(首先關閉主節點,再分別利用ssh命令進入slave1與slave2關閉其餘節點防火牆)
9.3 hadoop的啟動
啟動命令:start-all.sh
檢驗hadoop程序:jps(master節點有4個ResourceManager, Jps, NameNode, SecondaryNamenode,slave1與slave2有3個NodeManager, DataNode, Jps)
9.4 hadoop的停止
命令:stop-all.sh
10 hadoop的操作
10.1在hdfs檔案系統裡面操作。首先,用-mkdir命令在hdfs中建立一個mydir目錄,然後用-put命令上載檔案,步驟如下:
hdfs dfs -mkdir /mydir
hdfs dfs -put ~/chadoop/hadoop/hadoop-2.8.0/etc/hadoop/*/mydir
hdfs dfs -ls /mydir
10.2利用hadoop平臺上Mapreduce程式執行(統計所給例子詞頻)
命令:hadoop jar~/chadoop/hadoop/hadoop-2.8.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.0.jarwordcount /mydir/* /mydir/output
注意:hadoop jar(演算法包位置)(例子輸入資料夾)(例子結果輸出資料夾)
10.3結果檢視(hdfs dfs -cat/mydir/output/part-r-00000)
11 hadoop的Web方式查詢
hadoop內建了tomcat應用伺服器,安裝執行後可以通過瀏覽器瀏覽執行
hadoop的hdfs系統的觀察埠是50070
應用程式的觀察埠是8088