安裝hadoop偽分布式模式(SingleNodeCluster)-創(chuàng)新互聯(lián)

目的

成都創(chuàng)新互聯(lián)主營(yíng)烏海網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開(kāi)發(fā)公司,烏海h5微信小程序開(kāi)發(fā)搭建,烏海網(wǎng)站營(yíng)銷(xiāo)推廣歡迎烏海等地區(qū)企業(yè)咨詢(xún)

本文檔介紹如何去安裝單節(jié)點(diǎn)hadoop集群,以便你可以的了解和使用hadoop的HDFS和MapReduce.

環(huán)境:

os: CentOS release 6.5 (Final)

ip: 172.16.101.58

user:root

hadoop-2.9.0.tar.gz

SSH無(wú)密碼登錄配置

因?yàn)楸疚臋n使用root用戶安裝,所以需要配置好root用戶ssh無(wú)密碼登錄本地節(jié)點(diǎn)

[root@sht-sgmhadoopdn-01 ~]#ssh-keygen -t rsa

[root@sht-sgmhadoopdn-01 .ssh]#cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

[root@sht-sgmhadoopdn-01 ~]# ssh localhost

Java安裝和配置

[root@sht-sgmhadoopdn-01 ~]# cd /usr/java

[root@sht-sgmhadoopdn-01 java]# tar xf jdk-8u111-linux-x64.tar.gz

[root@sht-sgmhadoopdn-01 java]# chown -R root:root jdk1.8.0_111/

[root@sht-sgmhadoopdn-01 bin]# /usr/java/jdk1.8.0_111/bin/java -version

java version "1.8.0_111"

[root@sht-sgmhadoopdn-01 ~]# vim ~/.bash_profile

export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop

export JAVA_HOME=/usr/java/jdk1.8.0_111

export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export LD_LIBRARY_PATH=/home/bduser/hadoop/hadoop-2.7.3/lib/native/:$LD_LIBRARY_PATH

[root@sht-sgmhadoopdn-01 ~]# source .bash_profile

[root@sht-sgmhadoopdn-01 ~]# which java

/usr/java/jdk1.8.0_111/bin/java

下載和解壓hadoop

[root@sht-sgmhadoopdn-01 local]# wget http://www-us.apache.org/dist/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz

[root@sht-sgmhadoopdn-01 local]# tar xf hadoop-2.9.0.tar.gz

[root@sht-sgmhadoopdn-01 ~]#vim .bash_profile

export HADOOP_HOME=/usr/local/hadoop-2.9.0

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH

[root@sht-sgmhadoopdn-01 ~]# source .bash_profile

[root@sht-sgmhadoopdn-01 ~]# which hadoop

/usr/local/hadoop-2.9.0/bin/hadoop

[root@sht-sgmhadoopdn-01 local]# hadoop version

Hadoop 2.9.0

......

hadoop jar命令解析

jar <jar>  run a jar file,如果是yarn,則需要使用hadoop yarn jar

將 input 文件夾中的所有文件作為輸入,篩選當(dāng)中符合正則表達(dá)式 dfs[a-z.]+ 的單詞并統(tǒng)計(jì)出現(xiàn)的次數(shù),最后輸出結(jié)果到 output 文件夾中:

正則表達(dá)式:

[a-z]表示匹配包含在a-z之中的任意一個(gè)字符

+ 表示匹配之前的項(xiàng)1次或者多次

[root@sht-sgmhadoopdn-01 ~]# cd /usr/local/hadoop-2.9.0

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# cp etc/hadoop/*.xml  input/

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.0.jar grep input output 'dfs[a-z.]+'

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# cat output/*

1dfsadmin

Hadoop配置文件說(shuō)明

(1)Hadoop 的運(yùn)行方式是由配置文件決定的(運(yùn)行 Hadoop時(shí)會(huì)讀取配置文件),因此如果需要從偽分布式模式切換回非分布式模式,需要?jiǎng)h除 core-site.xml 中的配置項(xiàng)。

(2)偽分布式雖然只需要配置 fs.defaultFS 和 dfs.replication 就可以運(yùn)行(官方教程如此),不過(guò)若沒(méi)有配置 hadoop.tmp.dir 參數(shù),則默認(rèn)使用的臨時(shí)目錄為 /tmp/hadoo-hadoop,而這個(gè)目錄在重啟時(shí)有可能被系統(tǒng)清理掉,導(dǎo)致必須重新執(zhí)行 format 才行。所以我們進(jìn)行了設(shè)置,同時(shí)也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否則在接下來(lái)的步驟中可能會(huì)出錯(cuò)

修改配置文件

Hadoop 可以在單節(jié)點(diǎn)上以偽分布式的方式運(yùn)行,Hadoop 守護(hù)進(jìn)程以分離的 Java 進(jìn)程來(lái)運(yùn)行,節(jié)點(diǎn)既作為 NameNode 也作為 DataNode,同時(shí),讀取的是 HDFS 中的文件。

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,偽分布式需要修改2個(gè)配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每個(gè)配置以聲明 property 的 name 和 value 的方式來(lái)實(shí)現(xiàn)。

[root@sht-sgmhadoopdn-01 hadoop]#cat /usr/local/hadoop-2.9.0/etc/hadoop/core-site.xml

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop-2.9.0/tmp</value>

<description>Abase for other temporary directories.</description>

<property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

[root@sht-sgmhadoopdn-01 hadoop]#cat /usr/local/hadoop-2.9.0/etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/usr/local/hadoop-2.9.0/tmp/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/usr/local/hadoop-2.9.0/tmp/dfs/data</value>

</property>

</configuration>

[root@sht-sgmhadoopdn-01 hadoop]# vim /usr/local/hadoop-2.9.0/etc/hadoop/hadoop-env.sh

#export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/usr/java/jdk1.8.0_111

啟動(dòng)hadoop集群

#NameNode 的格式化:

[root@sht-sgmhadoopdn-01 hadoop]# hdfs namenode -format

#開(kāi)啟NameNode 和DataNode 守護(hù)進(jìn)程,(這一步會(huì)啟動(dòng)三個(gè)進(jìn)程,分別是namenode,datanode,secondarynamenode)

[root@sht-sgmhadoopdn-01 hadoop]# /usr/local/hadoop-2.9.0/sbin/start-dfs.sh

#通過(guò)jps命令查看進(jìn)程號(hào)和進(jìn)程名稱(chēng)

[root@sht-sgmhadoopdn-01 logs]# jps

12704 DataNode

14273 Jps

12580 NameNode

27988 -- process information unavailable

13015 SecondaryNameNode

27832 -- process information unavailable

#也可以通過(guò)stop-dfs.sh停止守護(hù)進(jìn)程,(下次啟動(dòng)hadoop時(shí),無(wú)需進(jìn)行NameNode的初始化,只需要運(yùn)行start-dfs.sh就可以)

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# /usr/local/hadoop-2.9.0/sbin/stop-dfs.sh

成功啟動(dòng)進(jìn)程后可以通過(guò)瀏覽器訪問(wèn),查看 NameNode 和 Datanode 信息,還可以在線查看 HDFS 中的文件:

NameNode http://172.16.101.58:50070

運(yùn)行hadoop偽分布實(shí)例MapReduce Job

#創(chuàng)建hdfs目錄/user/root/input,并把本地的文件拷貝到hdfs上

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hdfs dfs -mkdir -p /user/root/input

[root@sht-sgmhadoopdn-01 ~]# hdfs dfs -ls

drwxr-xr-x   - root supergroup          0 2017-12-24 15:20 input

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hdfs dfs -put /usr/local/hadoop-2.9.0/etc/hadoop/*.xml /user/root/input

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hdfs dfs -ls /user/root/input

Found 8 items

-rw-r--r-- 1 root supergroup 7861 2017-12-24 15:20 /user/root/input/capacity-scheduler.xml

-rw-r--r-- 1 root supergroup 1040 2017-12-24 15:20 /user/root/input/core-site.xml

-rw-r--r-- 1 root supergroup 10206 2017-12-24 15:20 /user/root/input/hadoop-policy.xml

-rw-r--r-- 1 root supergroup 1091 2017-12-24 15:20 /user/root/input/hdfs-site.xml

-rw-r--r-- 1 root supergroup 620 2017-12-24 15:20 /user/root/input/httpfs-site.xml

-rw-r--r-- 1 root supergroup 3518 2017-12-24 15:20 /user/root/input/kms-acls.xml

-rw-r--r-- 1 root supergroup 5939 2017-12-24 15:20 /user/root/input/kms-site.xml

-rw-r--r-- 1 root supergroup 690 2017-12-24 15:20 /user/root/input/yarn-site.xml

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hadoop jar /usr/local/hadoop-2.9.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.0.jar grep input output 'dfs[a-z]+'

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hdfs dfs -cat output/*

1dfsadmin

#默認(rèn)不會(huì)覆蓋結(jié)果文件,因此再次運(yùn)行上面實(shí)例會(huì)提示出錯(cuò):hdfs://localhost:9000/user/root/output already exists,需要先將output 刪除。

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hdfs dfs -rm -r /user/root/output

Deleted /user/root/output

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hadoop jar /usr/local/hadoop-2.9.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.0.jar grep input output 'dfs[a-z.]+'

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hdfs dfs -cat output/*

1dfsadmin

1dfs.replication

1dfs.namenode.name.dir

1dfs.datanode.data.dir

#也可以從hdfs上拷貝文件到本地

[root@sht-sgmhadoopdn-01 hadoop-2.9.0]# hdfs dfs -get /user/root/output /usr/local/hadoop-2.9.0/

運(yùn)行YARN在單節(jié)點(diǎn)上

(1)新版的 Hadoop 使用了新的 MapReduce 框架(MapReduce V2,也稱(chēng)為 YARN,Yet Another Resource Negotiator)。

(2)YARN 是從 MapReduce 中分離出來(lái)的,負(fù)責(zé)資源管理與任務(wù)調(diào)度。YARN 運(yùn)行于 MapReduce 之上,提供了高可用性、高擴(kuò)展性,

上述通過(guò) ./sbin/start-dfs.sh 啟動(dòng) Hadoop,僅僅是啟動(dòng)了 MapReduce 環(huán)境,我們可以啟動(dòng) YARN ,讓 YARN 來(lái)負(fù)責(zé)資源管理與任務(wù)調(diào)度。

(3)如果不想啟動(dòng) YARN,務(wù)必把配置文件 mapred-site.xml 重命名,改成 mapred-site.xml.template,需要用時(shí)改回來(lái)就行。否則在該配置文件存在,而未開(kāi)啟 YARN 的情況下,運(yùn)行程序會(huì)提示 “Retrying connect to server: 0.0.0.0/0.0.0.0:8032” 的錯(cuò)誤,這也是為何該配置文件初始文件名為 mapred-site.xml.template。

(4)但 YARN 主要是為集群提供更好的資源管理與任務(wù)調(diào)度,然而這在單機(jī)上體現(xiàn)不出價(jià)值,反而會(huì)使程序跑得稍慢些。因此在單機(jī)上是否開(kāi)啟 YARN 就看實(shí)際情況了

[root@sht-sgmhadoopdn-01 hadoop]# mv  /usr/local/hadoop-2.9.0/etc/hadoop/mapred-site.xml.template mapred-site.xml

[root@sht-sgmhadoopdn-01 hadoop]# cat mapred-site.xml

<configuration>

    <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

    </property>

</configuration>

[root@sht-sgmhadoopdn-01 hadoop]# cat yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

</configuration>

[root@sht-sgmhadoopdn-01 hadoop]# jps

27988 -- process information unavailable

30341 DataNode

32663 Jps

27832 -- process information unavailable

30188 NameNode

30525 SecondaryNameNode

#前提是已經(jīng)使用start-dfs.sh腳本啟動(dòng)過(guò)

[root@sht-sgmhadoopdn-01 hadoop]# /usr/local/hadoop-2.9.0/sbin/start-yarn.sh

#相比使用MapReduce多了ResourceManager和NodeManager這兩個(gè)進(jìn)程

[root@sht-sgmhadoopdn-01 hadoop]# jps

27988 -- process information unavailable

30341 DataNode

32758 ResourceManager

855 Jps

27832 -- process information unavailable

411 NodeManager

30188 NameNode

30525 SecondaryNameNode

#啟動(dòng)后可以通過(guò)瀏覽器訪問(wèn):

ResourceManager - http://172.16.101.58:8088

停止hadoop集群

[root@sht-sgmhadoopdn-01 hadoop]# /usr/local/hadoop-2.9.0/sbin/stop-yarn.sh

[root@sht-sgmhadoopdn-01 hadoop]#/usr/local/hadoop-2.9.0/sbin/stop-dfs.sh

[root@sht-sgmhadoopdn-01 hadoop]# /usr/local/hadoop-2.9.0/sbin/mr-jobhistory-daemon.sh stop historyserver

no historyserver to stop

參考鏈接:

http://www.powerxing.com/install-hadoop/

http://hadoop.apache.org/docs/r2.9.0/hadoop-project-dist/hadoop-common/SingleCluster.html

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享標(biāo)題:安裝hadoop偽分布式模式(SingleNodeCluster)-創(chuàng)新互聯(lián)
本文地址:http://muchs.cn/article4/cddgoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃、小程序開(kāi)發(fā)、電子商務(wù)、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)