Hadoop教程(二):安装
本教程是以Ubuntu 系統(tǒng)作為安裝講解環(huán)境,為了減少不必要的麻煩,請(qǐng)您 ?安裝Ubuntu?并能正常啟動(dòng)進(jìn)入系統(tǒng)。同時(shí)也必須要?安裝Java。
一、添加 Hadoop 系統(tǒng)用戶組和用戶
使用以下命令在終端中執(zhí)行以下命令來(lái)先創(chuàng)建一個(gè)用戶組: yiibai@ubuntu:~$ sudo addgroup hadoop_ 操作結(jié)果如下:使用以下命令來(lái)添加用戶: yiibai@ubuntu:~$ sudo adduser --ingroup hadoop_ hduser_
輸入您的密碼,姓名和其他詳細(xì)信息。
二、配置SSH
為了在集群管理節(jié)點(diǎn),Hadoop需要SSH訪問(wèn)
首先,切換用戶,輸入以下命令:
yiibai@ubuntu:~$ su hduser_ 以下這個(gè)命令將創(chuàng)建一個(gè)新的密鑰。 hduser_@ubuntu:~$ ssh-keygen -t rsa -P ""使用此密鑰啟用SSH訪問(wèn)本地計(jì)算機(jī)。
hduser_@ubuntu:~$ cat /home/hduser_/.ssd/id_rsa.pub >> /home/hduser_/.ssh/authorized_keys現(xiàn)在,測(cè)試SSH設(shè)置通過(guò)“hduser”用戶連接到locahost。
hduser_@ubuntu:~$ ssh localhost注意:
請(qǐng)注意,執(zhí)行??'ssh localhost' 命令后如果看到下面的錯(cuò)誤響應(yīng), ?可能 SSH 在此系統(tǒng)不可用。
來(lái)解決上面這個(gè)問(wèn)題,安裝 SSH 服務(wù) -
清除 SSH 使用以下命令:
hduser_@ubuntu:~$ sudo apt-get purge openssh-server在安裝開(kāi)始前清除 SSH 服務(wù),這是一個(gè)很好的做法(建議),如果遇到“
is not in the sudoers file ...“提示,請(qǐng)使用有sudo 的用戶來(lái)執(zhí)行, 這里使用的用戶是:yiibai使用以下命令來(lái)安裝SSH,使用以下命令: yiibai@ubuntu:~$ sudo apt-get install openssh-server
?
三、下載Hadoop
在瀏覽器中打開(kāi)網(wǎng)址: http://hadoop.apache.org/releases.html選擇一個(gè)最新 2.7.1 的穩(wěn)定版本(stable)的二進(jìn)制包下載,如下:
下載完成后,默認(rèn)將文件放在 /home/yiibai/Downloads,如下圖所示: 現(xiàn)在進(jìn)入到到包含tar文件的目錄,準(zhǔn)備解壓 tar.gz 文件: yiibai@ubuntu:~$ cd /home/yiibai/Downloads 使用以下命令解壓文件包:? yiibai@ubuntu:~$ sudo tar xzf hadoop-2.7.1.tar.gz 現(xiàn)在重命名 hadoop-2.2.0 為 hadoop yiibai@ubuntu:~$ sudo mv hadoop-2.7.1 /usr/local/hadoop 更改文件用戶屬性,執(zhí)行以下命令: yiibai@ubuntu:~$ cd /usr/local yiibai@ubuntu:~$ sudo chown -R hduser_:hadoop_ hadoop 到這里,hadoop文件的相關(guān)工作已經(jīng)準(zhǔn)備好,接下來(lái)我們還要做一些關(guān)鍵的設(shè)置。
?
四、修改 ?~/.bashrc?文件
添加以下這些行到?~/.bashrc?文件的末尾,內(nèi)容如下所示:
| 1 2 3 4 5 6 | #Set HADOOP_HOME export HADOOP_HOME=/usr/local/hadoop #Set JAVA_HOME export JAVA_HOME=/usr/local/jdk1.8.0_60 # Add bin/ directory of Hadoop to PATH export PATH=$PATH:$HADOOP_HOME/bin |
在終端下執(zhí)行以下命令,打開(kāi)編輯器并將上面的內(nèi)容加入到文件的底部,如下圖所示:
yiibai@ubuntu:~$ vi ~/.bashrc
現(xiàn)在,使用下面的命令環(huán)境配置
yiibai@ubuntu:~$ . ~/.bashrc?
五、配置關(guān)聯(lián)HDFS
設(shè)置? JAVA_HOME? 在文件? /usr/local/hadoop/etc/hadoop/hadoop-env.sh ?中,使用以下行代替,即寫(xiě)上完整的 Java 安裝路徑。如下所示:
在?$HADOOP_HOME/etc/hadoop/core-site.xml 文件中還有兩個(gè)參數(shù)需要設(shè)置:
1.?'hadoop.tmp.dir' -?用于指定目錄讓 Hadoop 來(lái)存儲(chǔ)其數(shù)據(jù)文件。
2. 'fs.default.name' - 指定默認(rèn)的文件系統(tǒng)
為了設(shè)置兩個(gè)參數(shù),打開(kāi)文件 core-site.xml
yiibai@ubuntu:~$ sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml 拷貝以下所有行的內(nèi)容放入到標(biāo)簽 <configuration></configuration> 中間。| 1 2 3 4 5 6 7 8 9 10 | <property> ? ? <name>hadoop.tmp.dir</name> ? ? <value>/app/hadoop/tmp</value> ? ? <description>Parent directory for other temporary directories.</description> </property> <property> ? ? <name>fs.defaultFS </name> ? ? <value>hdfs://localhost:54310</value> ? ? <description>The name of the default file system. </description> </property> |
進(jìn)入到目錄:/usr/local/hadoop/etc/hadoop,使用如下的命令: yiibai@ubuntu:~$ cd /usr/local/hadoop/etc/hadoop yiibai@ubuntu:/usr/local/hadoop/etc/hadoop$
現(xiàn)在創(chuàng)建一個(gè)目錄,如上面配置?core-site.xml?中使用的目錄:/app/hadoop/tmp
yiibai@ubuntu:/usr/local/hadoop/etc/hadoop$ sudo mkdir -p /app/hadoop/tmp授予權(quán)限目錄 /app/hadoop/tmp,執(zhí)行如下的命令:
yiibai@ubuntu:~$ sudo chown -R hduser_:hadoop_ /app/hadoop/tmp yiibai@ubuntu:~$ sudo chmod 750 /app/hadoop/tmp?
六、Map Reduce 配置 在設(shè)置這個(gè)配置之前, 我們需要設(shè)置 HADOOP_HOME 的路徑,執(zhí)行以下命令: yiibai@ubuntu:~$ sudo gedit /etc/profile.d/hadoop.sh然后輸入以下一行,
export HADOOP_HOME=/usr/local/hadoop
再執(zhí)行以下命令:
yiibai@ubuntu:~$ sudo chmod +x /etc/profile.d/hadoop.sh 退出命令行終端再次進(jìn)入,并輸入以下命令:echo $HADOOP_HOME 以驗(yàn)證 hadoop 的路徑: yiibai@ubuntu:~$ echo $HADOOP_HOME /usr/local/hadoop現(xiàn)在復(fù)制文件,執(zhí)行以下命令:
yiibai@ubuntu:~$ sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml?
使用vi 打開(kāi)文件?mapred-site.xml? yiibai@ubuntu:~$ sudo vi $HADOOP_HOME/etc/hadoop/mapred-site.xml?
添加以下的設(shè)置內(nèi)容到標(biāo)簽<configuration> 和 </configuration> 中,如下圖所示:| 1 2 3 4 5 6 | <property> ? ? <name>mapreduce.jobtracker.address</name> ? ? <value>localhost:54311</value> ? ? <description>MapReduce job tracker runs at this host and port. ? ? </description> </property> |
打開(kāi)?$HADOOP_HOME/etc/hadoop/hdfs-site.xml?文件如下: yiibai@ubuntu:~$ sudo vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
添加以下的設(shè)置內(nèi)容到標(biāo)簽<configuration> 和 </configuration> 中,如下圖所示:
| 1 2 3 4 5 6 7 8 9 | <property> ? ? <name>dfs.replication</name> ? ? <value>1</value> ? ? <description>Default block replication.</description> </property> <property> ? ? <name>dfs.datanode.data.dir</name> ? ? <value>/home/hduser_/hdfs</value> </property> |
創(chuàng)建以上配置指定的目錄并授權(quán)目錄給用戶,使用以下命令: yiibai@ubuntu:~$ sudo mkdir -p /home/hduser_/hdfs yiibai@ubuntu:~$ sudo chown -R hduser_:hadoop_ /home/hduser_/hdfs yiibai@ubuntu:~$ sudo chmod 750 /home/hduser_/hdfs
?
七、格式化HDFS?
在第一使用 Hadoop 之前,需要先格式化 HDFS,使用下面的命令 yiibai@ubuntu:~$ $HADOOP_HOME/bin/hdfs namenode -format 執(zhí)行結(jié)果如下圖所示:
?
輸入:y,繼往下... 注:可能會(huì)遇到一些提示錯(cuò)誤:“java.io.IOException: Cannot create directory /app/hadoop/tmp/dfs/name/current...”,請(qǐng)執(zhí)行以下命令來(lái)創(chuàng)建目錄: yiibai@ubuntu:~$ sudo mkdir -p /app/hadoop/tmp/dfs/name/current yiibai@ubuntu:~$ sudo chmod -R a+w /app/hadoop/tmp/dfs/name/current/?
八、?啟動(dòng) Hadoop 的單節(jié)點(diǎn)集群
使用以下命令啟動(dòng)cHadoop 的單節(jié)點(diǎn)集群(使用 hduser_ 用戶來(lái)啟動(dòng)),如下:
hduser_@ubuntu:~$ $HADOOP_HOME/sbin/start-dfs.sh 上面的命令輸出結(jié)果如下所示: 接下來(lái)再執(zhí)行命令: hduser_@ubuntu:~$ $HADOOP_HOME/sbin/start-yarn.sh現(xiàn)在使用?' jps '?工具/命令, 驗(yàn)證是否所有 Hadoop 相關(guān)的進(jìn)程正在運(yùn)行。 hduser_@ubuntu:~$ /usr/local/jdk1.8.0_60/bin/jps 如果 Hadoop 成功啟動(dòng),那么 jps 輸出應(yīng)顯示: NameNode, NodeManager, ResourceManager, SecondaryNameNode, DataNode.
?
九、停止/關(guān)閉 Hadoop hduser_@ubuntu:~$ $HADOOP_HOME/sbin/stop-dfs.sh
the end.
from: http://www.yiibai.com/hadoop/
總結(jié)
以上是生活随笔為你收集整理的Hadoop教程(二):安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Hadoop教程(一):简介、大数据解决
- 下一篇: Hadoop教程(三):HDFS、Map