搭建大數據開發環境-Hadoop篇


前期准備
操作系統
hadoop目前對linux操作系統支持是最好的,可以部署2000個節點的服務器集群;在hadoop2.2以后,開始支持windows操作系統,但是兼容性沒有linux好。因此,建議在MAC OS或者linux(CentOS或者Unbuntu)操作系統上安裝。
安裝java
hadoop2.6以前的版本,需要jdk1.6以上的版本;從hadoop2.7開始,則需要jdk1.7以上的版本。
我們可以使用jdk1.8, 下載地址
 
對於linux操作系統用戶
下載 jdk-8u161-linux-x64.tar.gz壓縮包文件,進行解壓。
tar zxvf jdk-8u161-linux-x64.tar.gz -C /opt
 
接着就需要配置環境變量
編輯環境變量文件,添加如下代碼
$ vim /etc/profile
 
export JAVA_HOME=/opt/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin
 
對於MacOS操作系統用戶
直接安裝 jdk-8u161-macosx-x64.dmg文件
 
接着就需要配置環境變量
編輯環境變量文件,添加如下代碼
$ vim /etc/profile
 
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
 
檢查java是否安裝成功
$ java -version
輸入上面的命令后,會輸出java的基本信息
 
安裝Hadoop
hadoop的安裝方式有三種,本地模式、偽分布模式和完全分布模式。三種模式安裝步驟有少許區別,本文介紹偽分布模式,也是開發環境最常用的方式。
 
通過 官方網站下載hadoop版本,建議安裝2.6版本,此版本相對更穩定,也是使用最為廣泛的版本。
$ tar zxvf hadoop-2.6.0.tar.gz -C /opt
 
配置環境變量
$vim /etc/profile
export HADOOP_HOME=/opt/hadoop-2.6.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
 
hadoop配置文件
/opt/hadoop-2.6.0/hadoop-env.sh:
export JAVA_HOME=使用你上面配置的java_home路徑
export HADOOP_OPTS=-Djava.net.preferIPv4Stack=true
 
/opt/hadoop-2.6.0/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.6.0/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
<!--垃圾保存一天-->
</property>
 
/opt/hadoop-2.6.0/hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
 
/opt/hadoop-2.6.0/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
 
/opt/hadoop-2.6.0/yarn-site.xml
<configuration>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://localhost:19888/jobhistory/job/</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!-- 設置HDFS可以使用硬盤的百分比,對於硬盤小的人很重要 -->
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>99.0</value>
</property>
</configuration>
 
SSH免密碼登錄
檢查一下,是否可以對本地進行免密碼登錄
$ ssh localhost
如果你在ssh本地時,需要輸入密碼,那么按以下步驟,配置免密碼登錄
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
 
格式化hdfs目錄
$ hdfs namenode -format
該命令執行后,只會格式化你的/opt/hadoop-2.6.0/tmp目錄
 
啟動HDFS
$ start-dfs.sh
啟動hdfs后,會生成日志文件,在$HADOOP_HOME/logs目錄下
如果啟動成功,你可以通過瀏覽器打開http://localhost:50070/,查看hdfs的相關信息
 
如果你想停止hdfs,請輸入以下命令
$ stop-dfs.sh
 
啟動yarn
$ start-yarn.sh
啟動yarn后,會生成日志文件,在$HADOOP_HOME/logs目錄下
如果啟動成功,你可以通過瀏覽器打開http://localhost:8088/,查看yarn的相關信息
如果你想停止yarn,請輸入以下命令
$ stop-yarn.sh
 
啟動JobHistory
$ mr-jobhistory-daemon.sh start historyserver
啟動JobHistory后,會生成日志文件,在$HADOOP_HOME/logs目錄下
如果啟動成功,你可以通過瀏覽器打開http://localhost:19888/,查看jobhistory的相關信息
如果你想停止JobHistory,請輸入以下命令
$ mr-jobhistory-daemon.sh stop historyserver
 
測試hadoop
成功安裝完hadoop后,我們可以通過一些命令來感受一下hadoop
 
創建目錄
$ hdfs dfs -mkdir /tmp/input
 
上傳本地文件到hdfs $ hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /tmp/input
 
使用MapReduce來計算我們剛才上傳文件的以dfs開頭的單詞個數
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep /tmp/input /tmp/output 'dfs[a-z.]+'
 
查看MapReduce的結果
可以把hdfs上的結果文件下載到本地后查看
$ hdfs dfs -get /tmp/output output $ cat output/*
也可以通過hdfs查看命令直接查看
$ hdfs dfs -cat /tmp/output/part-r-00000
通過查詢http://localhost:8088/,你會發現剛才執行MapReduce任務的歷史記錄

 


免責聲明!

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



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