安裝環境說明
- 作業系統:CentOS 7
- hadoop版本:hadoop-2.5.0-cdh5.3.6.tar.gz
- jdk版本:jdk 1.7
- 安裝使用者:root
- 相關軟體下載
pan.baidu.com/s/1drI1TO
機器與服務規劃
-
機器規劃
hostname sparkproject1 sparkproject2 sparkproject3 記憶體 32G 16G 16G -
服務規劃
hostname sparkproject1 sparkproject2 sparkproject3 HDFS NameNode、SecondaryNameNode DataNode DataNode YARN ResourceManager NodeManager NodeManager
安裝hadoop包
-
下載hadoop-2.5.0-cdh5.3.6.tar.gz
安裝目錄為:/usr/local
將下載的hadoop-2.5.0-cdh5.3.6.tar.gz,上傳到/usr/local目錄下。 -
將hadoop包進行解壓縮
tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz 複製程式碼
-
對hadoop目錄進行重新命名
mv hadoop-2.5.0-cdh5.3.6 hadoop 複製程式碼
-
配置hadoop相關環境變數
#配置環境變數 vi ~/.bashrc #新增hadoop環境變數 export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin #使配置的環境變數生效 source ~/.bashrc 複製程式碼
-
建立/usr/local/data目錄
mkdir /usr/local/data 複製程式碼
-
測試是否配置成功
hadoop version yarn version 複製程式碼
修改配置檔案
以下配置檔案在:/usr/local/hadoop/etc/hadoop/目錄下
-
修改core-site.xml
<property> <name>fs.default.name</name> <value>hdfs://sparkproject1:9000</value> </property> 複製程式碼
屬性說明:
fs.default.name:配置hdfs地址 -
修改hdfs-site.xml
<property> <name>dfs.name.dir</name> <value>/usr/local/data/namenode</value> </property> <property> <name>dfs.data.dir</name> <value>/usr/local/data/datanode</value> </property> <property> <name>dfs.tmp.dir</name> <value>/usr/local/data/tmp</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> 複製程式碼
屬性說明:
dfs.replication:hdfs副本數。
總共3個節點,1個master,2個slave。所以設定成2個block副本 -
修改mapred-site.xml
重新命名mapred-site.xml.template為mapred-site.xml<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> 複製程式碼
-
修改yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>sparkproject1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> 複製程式碼
-
修改slaves檔案
sparkproject2 sparkproject3 複製程式碼
在另外兩臺機器上搭建hadoop
使用如上sparkproject1上配置hadoop,在另外兩臺機器上搭建hadoop。可以使用scp命令將sparkproject1上面的hadoop安裝包和~/.bashrc配置檔案都拷貝到sparkproject2、sparkproject3。
-
將sparkproject1上的hadoop複製到sparkproject2
-
在sparkproject1上執行
cd /usr/local scp -r hadoop root@sparkproject2:/usr/local scp ~/.bashrc root@sparkproject2:~/ 複製程式碼
複製成功後sparkproject2上的hadoop:
-
在sparkproject2上執行
#對.bashrc檔案進行source,以讓它生效。 source ~/.bashrc #建立data目錄。 mkdir /usr/local/data 複製程式碼
-
-
將sparkproject1上的hadoop複製到sparkproject3
按照上面同樣的步驟,同樣的方式將sparkproject1上面的hadoop安裝包和~/.bashrc配置檔案都拷貝到sparkproject3。 -
測試sparkproject2、sparkproject3是否配置成功
在sparkproject2、sparkproject3分別執行如下命令:hadoop version yarn version 複製程式碼
啟動hdfs叢集
-
格式化namenode
在sparkproject1上執行以下命令hdfs namenode -format 複製程式碼
-
啟動hdfs叢集
start-dfs.sh 複製程式碼
-
驗證啟動是否成功
sparkproject1:namenode、secondarynamenode
sparkproject2:datanode
sparkproject3:datanode
-
hdfs管理介面:
http://sparkproject1:50070 -
測試hdfs
hdfs dfs -put hello.txt /hello.txt 複製程式碼
啟動yarn叢集
-
啟動yarn叢集
start-yarn.sh 複製程式碼
-
驗證啟動是否成功
sparkproject1:resourcemanager
sparkproject2:nodemanager
sparkproject3:nodemanager
-
yarn管理介面
http://sparkproject1:8088/