1. Hadoop安裝包的下載和解壓 基於apache原始廠商:https://archive.apache.org/dist/基於Cloudera廠商的cdh本:http://archiveprimary.cloudera.com/cdh5/cdh/5/,Cloudera有免費版和企業版,企業版只 ...
1. Hadoop安裝包的下載和解壓
基於apache原始廠商:https://archive.apache.org/dist/
基於Cloudera廠商的cdh本:http://archiveprimary.cloudera.com/cdh5/cdh/5/,
Cloudera有免費版和企業版,企業版只有試用期,不過cdh大部分功能都是免費的,使用解壓命令將hadoop解壓的目標文件夾。
2. Hadoop分散式集群配置_HDFS
安裝HDFS需要修改4個配置文件:hadoop-env.sh,core-site.xml,hdfs-site.xml和slaves
2.1. 在hadoop-env.sh配置文件中配置JAVA_HOME
# The java implementation to use.
export JAVA_HOME=/opt/modules/jdk1.8.0_144
2.2. 在core-site.xml中配置預設的文件系統
<property> <name>fs.defaultFS</name> <value>hdfs://spark-node04.ouyang.com:9000</value> </property>
2.3. 在hdfs-site.xml中配置文件的副本保存數量
<property> <name>dfs.replication</name> <value>3</value> </property>
2.4. 在slaves文件中配置三個datanode的節點的地址
node01.ouyang.com
node02.ouyang.com
node03.ouyang.com
2.5. 將修改好的hadoop發送到其他的伺服器上
scp –r /export/servers/hadoop-2.7.4/ [email protected]:$PWD
2.6. 格式化HDFS文件系統
首次使用配置安裝號HDFS系統之後,需要進行格式化,在Hadoop的namenode伺服器的機器的頂級目錄執行如下命令: ./bin/hdfs namenode –format
2.7. 啟動HDFS
我們現在將一個節點上的HDFS文件系統配置完成和格式化完成了,接下來,我們啟動HDFS文件系統
#啟動namenode
./sbin/hadoop-daemon.sh start namenode
#啟動datanode
./sbin/hadoop-daemon.sh start datanode
#啟動之後可以在50070的web界面進行查看
3. Hadoop分散式集群配置_YARN
3.1. 在yarn-env.sh中配置JAVA_HOME
# some Java parameters
export JAVA_HOME=/opt/modules/jdk1.8.0_144
3.2. 在mapred-site.xml中配置資源調度框架是yarn
步驟一:修改mapred-site.xml.template為mapred-site.xml 步驟二:在mapred-site.xml中配置資源調度框架是yarn <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> 步驟三:在mapred-site.xml中配置配置日誌的UI界面(可以不配) <property> <name>mapreduce.jobhistory.address</name> <value>node01.ouyang.com:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>node01.ouyang.com:19888</value> </property>
3.3. 在yarn-site.xml中設置資源調度的名稱
#必配 <!--設置資源調度的名稱--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> #選配 <!--設置resourcemanager的主機名稱--> <property> <name>yarn.resourcemanager.hostname</name> <value>spark-node04.ouyang.com</value> </property> <!--配置日誌聚集--> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>10000</value> </property> <!--配置resourcemanager的記憶體大小,保證不至於記憶體太小導致nodeManager掛掉--> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>8192</value> </property> <!--表示的是可以使用的虛擬cpu個數--> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>4</value> </property>
3.4. 將修改好的配置文件分發到其他節點
scp -r hadoop/ node03.ouyang.com:$PWD
3.5. 啟動yarn
#啟動resourcemanager
./sbin/yarn-daemon.sh start resourcemanager
#啟動nodemanager
./sbin/yarn-daemon.sh start nodemanager
#啟動之後可以在8088的web界面進行查看
4. Hadoop環境變數配置
vim /etc/profile
export HADOOP_HOME=/export/server/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
5. Hadoop的額外配置和集成測試
5.1. 在hdfs-site.xml設置為不檢查許可權
<property> <name>dfs.permissions.enabled</name> <value>true</value> </property>
5.2. 在core-site.xml配置靜態用戶和存儲目錄
<!--配置靜態用戶--> <property> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> <!--修改存儲目錄--> <property> <name>hadoop.tmp.dir</name> <value>/opt/modules/hadoop-2.7.4/data/tmp</value> </property>
5.3. 將修改好的配置文件分發到其他目錄
scp -r hadoop-2.7.4/ spark-node05.ouyang.com:$PWD
scp -r hadoop-2.7.4/ spark-node06.ouyang.com:$PWD
5.4. 關閉Hadoop的所有應用並重新格式化
在hadoop的sbin目錄下執行如下目錄:
./stop-all.sh
由於我們修改了namenode的目錄,因此,我們需要重新格式化namenode:
bin/hdfs namenode –format
一鍵啟動hadoop的hdfs和yarn服務:
./start-all.sh
5.5. 測試HDFS
#創建目錄
bin/hdfs dfs -mkdir -p /user/root/data/
#上傳文件
bin/hdfs dfs -put /opt/datas/words.txt /user/root/data/
5.6. YARN集群運行MapReduce程式
cd /export/server/hadoop-2.7.4/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.4.jar pi 20 50
6. 配置Hadoop一鍵啟動和停止腳本
#一鍵啟動腳本 echo "Hadoop開始啟動" ssh 192.168.12.121 "source /etc/profile;nohup sh ${HADOOP_HOME}/sbin/start-all.sh >/dev/null 2>&1 &" echo "Hadoop啟動完成" echo "Hadoop日誌記錄開始啟動" ssh 192.168.12.121 "source /etc/profile;nohup sh ${HADOOP_HOME}/sbin/mr-jobhistory-daemon.sh start historyserver >/dev/null 2>&1 &" echo "Hadoop日誌記錄啟動完成" #一鍵停止腳本 echo "Hadoop開始停止" ssh 192.168.12.121 "source /etc/profile;nohup sh ${HADOOP_HOME}/sbin/stop-all.sh >/dev/null 2>&1 &" echo "Hadoop停止完成" echo "Hadoop日誌記錄開始停止" ssh 192.168.12.121 "source /etc/profile;nohup sh ${HADOOP_HOME}/sbin/mr-jobhistory-daemon.sh stop historyserver >/dev/null 2>&1 &" echo "Hadoop日誌記錄停止完成"