本篇內(nèi)容介紹了“Hadoop集群搭建的方法是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
鶴山網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
使用真實(shí)的三臺(tái)不同服務(wù)器進(jìn)行Hadoop
集群的搭建。具體步驟其實(shí)與虛擬機(jī)的差不多,但是由于安全組以及端口等等一些列的問題,會(huì)與虛擬機(jī)有所不同,廢話不多說,下面正式開始。
Master
節(jié)點(diǎn)的ip
用MasterIP
表示,主機(jī)名用master
表示
兩個(gè)Worker
節(jié)點(diǎn)的ip
用Worker1IP
/Worker2IP
表示,主機(jī)名用worker1
/worker2
表示
這里為了演示方便統(tǒng)一使用root
用戶登錄,當(dāng)然生產(chǎn)環(huán)境不會(huì)這樣
Host
修改本地Host
,方便使用主機(jī)名來進(jìn)行操作:
sudo vim /etc/hosts # 添加 MaterIP master Worker1IP worker1 Worker2IP worker2
ssh
本機(jī)生成密鑰對(duì)后復(fù)制公鑰到三臺(tái)服務(wù)器上:
ssh-keygen -t ed25519 -a 100 # 使用更快更安全的ed25519算法而不是傳統(tǒng)的RSA-3072/4096 ssh-copy-id root@master ssh-copy-id root@worker1 ssh-copy-id root@worker2
這時(shí)可以直接使用root@host
進(jìn)行連接了:
ssh root@master ssh root@worker1 ssh root@worker2
不需要輸入密碼,如果不能連接或者需要輸入密碼請(qǐng)檢查/etc/ssh/sshd_config
或系統(tǒng)日志。
修改Master
節(jié)點(diǎn)的主機(jī)名為master
,兩個(gè)Worker
節(jié)點(diǎn)的主機(jī)名為worker1
、worker2
:
# Master節(jié)點(diǎn) vim /etc/hostname master # Worker1節(jié)點(diǎn) # worker1 # Worker2節(jié)點(diǎn) # worker2
同時(shí)修改Host
:
# Master節(jié)點(diǎn) vim /etc/hosts Worker1IP worker1 Worker2IP worker2 # Worker1節(jié)點(diǎn) vim /etc/hosts MasterIP master Worker2IP worker2 # Worker1節(jié)點(diǎn) vim /etc/hosts MasterIP master Worker1IP worker1
修改完成之后需要互ping
測(cè)試:
ping master ping worker1 ping worker2
ping
不通的話應(yīng)該是安全組的問題,開放ICMP
協(xié)議即可:
JDK
scp
上傳OpenJDK 11
,解壓并放置于/usr/local/java
下,同時(shí)修改PATH
:
export PATH=$PATH:/usr/local/java/bin
如果原來的服務(wù)器裝有了其他版本的JDK
可以先卸載:
yum remove java
注意設(shè)置環(huán)境變量后需要測(cè)試以下java
,因?yàn)椴煌?wù)器的架構(gòu)可能不一樣:
比如筆者的Master
節(jié)點(diǎn)為aarch74
架構(gòu),而兩個(gè)Worker
都是x86_64
架構(gòu),因此Master
節(jié)點(diǎn)執(zhí)行java
時(shí)報(bào)錯(cuò)如下:
解決辦法是通過yum install
安裝OpenJDK11
:
yum install java-11-openjdk
Hadoop
scp
上傳Hadoop 3.3.0
,解壓并放置于/usr/local/hadoop
下,注意選擇對(duì)應(yīng)的架構(gòu):
解壓后修改以下四個(gè)配置文件:
etc/hadoop/hadoop-env.sh
etc/hadoop/core-site.xml
etc/hadoop/hdfs-site.xml
etc/hadoop/workers
hadoop-env.sh
修改JAVA_HOME
環(huán)境變量即可:
export JAVA_HOME=/usr/local/java # 修改為您的Java目錄
core-site.xml
fs.defaultFS hdfs://master:9000 hadoop.tmp.dir /usr/local/hadoop/data/tmp
具體選項(xiàng)與虛擬機(jī)方式的設(shè)置相同,這里不再重復(fù)敘述。
hdfs-site.xml
dfs.namenode.name.dir /usr/local/hadoop/data/namenode dfs.datanode.data.dir /usr/local/hadoop/data/datanode dfs.replication 2
workers
worker1 worker2
# 如果設(shè)置了端口以及私鑰 # 加上 -P 端口 -i 私鑰 scp /usr/local/hadoop/etc/hadoop/* worker1:/usr/local/hadoop/etc/hadoop/ scp /usr/local/hadoop/etc/hadoop/* worker2:/usr/local/hadoop/etc/hadoop/
HDFS
在Master
中,首先格式化HDFS
cd /usr/local/hadoop bin/hdfs namenode -format
如果配置文件沒錯(cuò)的話就格式化成功了。
hadoop-env.sh
還是在Master
中,修改/usr/local/hadoop/etc/hadoop/hadoop-env.sh
,末尾添加:
HDFS_DATANODE_USER=root HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
首先Master
開放9000
以及9870
端口(一般安全組開放即可,如果開啟了防火墻firewalld/iptables
則添加相應(yīng)規(guī)則),并在Master
節(jié)點(diǎn)中啟動(dòng):
sbin/start-dfs.sh
瀏覽器輸入:
MasterIP:9870
即可看到如下頁面:
如果看到Live Nodes
數(shù)量為0請(qǐng)查看Worker
的日志,這里發(fā)現(xiàn)是端口的問題:
并且在配置了安全組,關(guān)閉了防火墻的情況下還是如此,則有可能是Host
的問題,可以把Master
節(jié)點(diǎn)中的:
# /etc/hosts 127.0.0.1 master
刪去,同樣道理刪去兩個(gè)Worker
中的:
# /etc/hosts 127.0.0.1 worker1 127.0.0.1 worker2
YARN
修改/usr/local/hadoop/etc/hadoop/hadoop-env.sh
,添加:
export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root
YARN
配置在兩個(gè)Worker
節(jié)點(diǎn)中修改/usr/local/hadoop/etc/hadoop/yarn-site.xml
:
yarn.resourcemanager.hostname master
YARN
Master
節(jié)點(diǎn)中開啟YARN
:
cd /usr/local/hadoop sbin/start-yarn.sh
同時(shí)Master
的安全組開放8088
以及8031
端口。
瀏覽器輸入:
MasterIP:8088
應(yīng)該就可以訪問如下頁面了:
至此集群正式搭建完成。
“Hadoop集群搭建的方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!