Hadoop Yarn(一)―― 單機(jī)偽分布式環(huán)境安裝
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-11-13 09:07:00 閱讀次數(shù):3209次
HamaWhite(QQ:530422429)原創(chuàng)作品,轉(zhuǎn)載請(qǐng)注明出處:http://write.blog.csdn.net/postedit/40556267。
本文是根據(jù)Hadoop官網(wǎng)安裝教程寫(xiě)的Hadoop YARN在單機(jī)偽散布式環(huán)境下的安裝報(bào)告,僅供參考。
1. 安裝環(huán)境以下:
系統(tǒng):Ubuntu14.04
Hadoop版本:hadoop⑵.5.0
Java版本:openjdk⑴.7.0_55
2. 下載Hadoop⑵.5.0,http://mirrors.cnnic.cn/apache/hadoop/common/hadoop⑵.5.0/hadoop⑵.5.0.tar.gz
本文的
$HADOOP_HOME為:
/home/baisong/hadoop⑵.5.0(用戶(hù)名為baisong)。
在 ~/.bashrc文件中添加環(huán)境變量,以下:
export HADOOP_HOME=/home/baisong/hadoop⑵.5.0
然后編譯,命令以下:
$ source ~/.bashrc
3. 安裝JDK,并設(shè)置JAVA_HOME環(huán)境變量。在/etc/profile文件最后添加以下內(nèi)容
export JAVA_HOME=/usr/lib/jvm/java⑺-openjdk-i386 //根據(jù)自己Java安裝目錄而定
export PATH=$JAVA_HOME/bin:$PATH
輸入以下命令使配置生效
$ source /etc/profile
4. 配置SSH。首先生成秘鑰,命令以下,然后1路回車(chē)確認(rèn),不需要任何輸入。
$ ssh-keygen -t rsa 然后把公鑰寫(xiě)入authorized_keys文件中,命令以下:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
最后,輸入下述命令,按提示輸入
yes 便可。
$ ssh localhost
5. 修改Hadoop配置文件,進(jìn)入${HADOOP_HOME}/etc/hadoop/目錄。
1)設(shè)置環(huán)境變量,hadoop-env.sh中添加Java安裝目錄,以下:
export JAVA_HOME=/usr/lib/jvm/java⑺-openjdk-i386
2)修改core-site.xml,添加以下內(nèi)容。
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/baisong/hadooptmp</value>
</property>
注:hadoop.tmp.dir項(xiàng)可選(上述設(shè)置需手動(dòng)創(chuàng)建hadooptmp文件夾)。
3)修改hdfs-site.xml,添加以下內(nèi)容“。
<property>
<name>dfs.repliacation</name>
<value>1</value>
</property>
4)將mapred-site.xml.template重命名為mapred-site.xml,并添加以下內(nèi)容。
$ mv mapred-site.xml.template mapred-site.xml //重命名
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5)修改yarn-site.xml,添加以下內(nèi)容。
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
6. 格式化HDFS,命令以下:
bin/hdfs namenode -format 注釋?zhuān)篵in/hadoop namenode -format命令已過(guò)時(shí)
格式化成功會(huì)在/home/baisong/hadooptmp創(chuàng)建dfs文件夾。
7.啟動(dòng)HDFS,命令以下:
$ sbin/start-dfs.sh
遇到以下毛?。?br>
14/10/29 16:49:01 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [OpenJDK Server VM warning: You have loaded library /home/baisong/hadoop⑵.5.0/lib/native/libhadoop.so.1.0.0
which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
localhost]
sed: -e expression #1, char 6: unknown option to `s'
VM: ssh: Could not resolve hostname vm: Name or service not known
library: ssh: Could not resolve hostname library: Name or service not known
have: ssh: Could not resolve hostname have: Name or service not known
which: ssh: Could not resolve hostname which: Name or service not known
might: ssh: Could not resolve hostname might: Name or service not known
warning:: ssh: Could not resolve hostname warning:: Name or service not known
loaded: ssh: Could not resolve hostname loaded: Name or service not known
have: ssh: Could not resolve hostname have: Name or service not known
Server: ssh: Could not resolve hostname server: Name or service not known
分析緣由知,沒(méi)有設(shè)置
HADOOP_COMMON_LIB_NATIVE_DIR和
HADOOP_OPTS環(huán)境變量,在 ~/.bashrc文件中添加以下內(nèi)容并編譯。
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
$ source ~/.bashrc
重新啟動(dòng)HDFS,輸出以下,表示啟動(dòng)成功。
可以用過(guò)Web界面來(lái)查看NameNode運(yùn)行狀態(tài),URL為 http://localhost:50070
停止HDFS的命令為:
$ sbin/stop-dfs.sh
8. 啟動(dòng)YARN,命令以下:
$ sbin/start-yarn.sh
可以用過(guò)Web界面來(lái)查看NameNode運(yùn)行狀態(tài),URL為 http://localhost:8088
停止HDFS的命令為:
$ sbin/stop-yarn.sh
上述HDFS和YARN啟動(dòng)完成后,可通過(guò)jps命令查看是不是啟動(dòng)成功。
9. 運(yùn)行測(cè)試程序。
1)測(cè)試計(jì)算PI,命令以下:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples⑵.5.0.jar
pi 20 10
2)測(cè)試 grep,首先需要上傳輸入文件到HDFS上,命令以下:
$
bin/hdfs dfs -put etc/hadoop input
運(yùn)行g(shù)rep程序,命令以下:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples⑵.5.0.jar grep input output 'dfs[a-z.]+'
運(yùn)行結(jié)果輸出以下:

10. 添加環(huán)境變量,方便使用start-dfs.sh、start-yarn.sh等命令(可選)。
在 ~/.bashrc文件中添加環(huán)境變量,以下:
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
然后編譯,命令以下:
$ source ~/.bashrc
下圖是 ~/.bashrc文件中添加的變量,以便參考。
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)