您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Hadoop怎么實(shí)現(xiàn)偽分布模式”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
偽分布模式是運(yùn)行在單個(gè)節(jié)點(diǎn)以及多個(gè)Java進(jìn)程上的模式。相比起本地模式,需要進(jìn)行更多配置文件的設(shè)置以及ssh
、YARN
相關(guān)設(shè)置。
Hadoop
配置文件修改Hadoop
安裝目錄下的三個(gè)配置文件:
etc/hadoop/core-site.xml
etc/hadoop/hdfs-site.xml
etc/hadoop/hadoop-env.sh
core-site.xml
首先修改core-site.xml
:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> </configuration>
fs.defaultFS
設(shè)置的是HDFS
的地址,設(shè)置運(yùn)行在本地的9000
端口上
hadoop.tmp.dir
設(shè)置的是臨時(shí)目錄,如果沒有設(shè)置的話默認(rèn)在/tmp/hadoop-${user.name}
中,系統(tǒng)重啟后會(huì)導(dǎo)致數(shù)據(jù)丟失,因此修改這個(gè)臨時(shí)目錄的路徑
接著創(chuàng)建該臨時(shí)目錄:
mkdir -p /usr/local/hadoop/tmp
hdfs-site.xml
接著修改hdfs-site.xml
:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
dfs.replication
設(shè)置的是HDFS
存儲(chǔ)的臨時(shí)備份數(shù)量,因?yàn)閭畏植寄J街兄挥幸粋€(gè)節(jié)點(diǎn),所以設(shè)置為1
。
hadoop-env.sh
修改該文件添加JAVA_HOME
環(huán)境變量,就算JAVA_HOME
在
~/.bashrc
~/.bash_profile
/etc/profile
等中設(shè)置了,運(yùn)行時(shí)也是會(huì)提示找不到JAVA_HOME
,因此需要手動(dòng)在hadoop-env.sh
中設(shè)置JAVA_HOME
:
ssh
連接下一步需要設(shè)置本地?zé)o密碼ssh
連接,首先先檢查確保開啟sshd
服務(wù):
systemctl status sshd
開啟后可以直接localhost
連接:
ssh localhost
輸入自己的用戶密碼后就可以訪問了,但是這里需要的是無密碼連接,因此配置密鑰認(rèn)證連接的方式:
ssh-keygen -t ed25519 -a 100 cat ~/.ssh/id_25519.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
這里生成公私鑰后把公鑰添加到authorized_keys
中,并且修改權(quán)限,需要注意600
權(quán)限,只能本用戶有寫權(quán)限。
然后直接ssh localhost
就可以連接本地主機(jī)了。
HDFS
這里以單一節(jié)點(diǎn)的模式運(yùn)行,首先格式化HDFS
:
# HADOOP為Hadoop安裝目錄 HADOOP/bin/hdfs namenode -format
格式化是對(duì)HDFS
中的DataNode
進(jìn)行分塊,統(tǒng)計(jì)所有分塊后的初始元數(shù)據(jù),存儲(chǔ)在NameNode
中。
格式化成功后會(huì)在上面配置文件中設(shè)置的臨時(shí)目錄中生成dfs
目錄,如下所示:
里面只有一個(gè)目錄:dfs/name/current
,其中tmp/dfs/name/current
的文件如下:
文件說明如下:
fsimage
:NameNode
元數(shù)據(jù)在內(nèi)存滿后,持久化保存到的文件
fsimage*.md5
:校驗(yàn)文件,用于校驗(yàn)fsimage
的完整性
seen_txid
:存放transactionID
文件,format
之后為0,表示NameNode
里面的edits_*
文件的尾數(shù)
VERSION
:保存創(chuàng)建時(shí)間,namespaceID
、blockpoolID
、storageType
、cTime
、clusterID
、layoutVersion
關(guān)于VERSION
的說明:
namespaceID
:HDFS
唯一標(biāo)識(shí)符,在HDFS
首次格式化后生成
blockpoolID
:標(biāo)識(shí)一個(gè)block pool
,跨集群全局唯一
storageType
:存儲(chǔ)什么進(jìn)程的數(shù)據(jù)結(jié)構(gòu)信息
cTime
:創(chuàng)建時(shí)間
clusterID
:系統(tǒng)生成或指定的集群ID
,可以使用-clusterid
指定
layoutVersion
:表示HDFS
永久性數(shù)據(jù)結(jié)構(gòu)版本的信息
NameNode
HADOOP/sbin/start-dfs.sh
然后可以通過
localhost:9870
訪問NameNode
:
生成輸入目錄,并使用配置文件作為輸入:
bin/hdfs dfs -mkdir /user bin/hdfs dfs -mkdir /user/USER_NAME # USER_NAME為您的用戶名 bin/hdfs dfs -mkdir input bin/hdfs dfs -put etc/hadoop/*.xml input
測試:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar grep input output 'dfs[a-z.]+'
獲取輸出:
bin/hdfs dfs -get output output # 復(fù)制輸出到output目錄 cat output/*
停止:
sbin/stop-hdfs.sh
YARN
配置除了可以將單個(gè)節(jié)點(diǎn)以偽分布模式啟動(dòng),還可以通過YARN
統(tǒng)一調(diào)度,只需要適當(dāng)修改配置文件。
修改以下文件:
HADOOP/etc/hadoop/mapred-site.xml
HADOOP/etc/hadoop/yarn-site.xml
mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.application.classpath</name> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value> </property> </configuration>
mapreduce.framework.name
指定了MapReduce
運(yùn)行在YARN
上
mapreduce.application.classpath
指定了類路徑
yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> </configuration>
yarn.nodemanager.aux-services
:運(yùn)行在NodeManager
上運(yùn)行的附屬服務(wù)
yarn.nodemanager.env-whitelist
:環(huán)境變量通過從NodeManagers
的容器繼承的環(huán)境屬性
sbin/start-yarn.sh
運(yùn)行后就可以通過
localhost:8088
訪問:
停止:
sbin/stop-yarn.sh
“Hadoop怎么實(shí)現(xiàn)偽分布模式”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。