您好,登錄后才能下訂單哦!
本篇內容介紹了“Hadoop集群搭建的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
使用真實的三臺不同服務器進行Hadoop
集群的搭建。具體步驟其實與虛擬機的差不多,但是由于安全組以及端口等等一些列的問題,會與虛擬機有所不同,廢話不多說,下面正式開始。
Master
節點的ip
用MasterIP
表示,主機名用master
表示
兩個Worker
節點的ip
用Worker1IP
/Worker2IP
表示,主機名用worker1
/worker2
表示
這里為了演示方便統一使用root
用戶登錄,當然生產環境不會這樣
Host
修改本地Host
,方便使用主機名來進行操作:
sudo vim /etc/hosts # 添加 MaterIP master Worker1IP worker1 Worker2IP worker2
ssh
本機生成密鑰對后復制公鑰到三臺服務器上:
ssh-keygen -t ed25519 -a 100 # 使用更快更安全的ed25519算法而不是傳統的RSA-3072/4096 ssh-copy-id root@master ssh-copy-id root@worker1 ssh-copy-id root@worker2
這時可以直接使用root@host
進行連接了:
ssh root@master ssh root@worker1 ssh root@worker2
不需要輸入密碼,如果不能連接或者需要輸入密碼請檢查/etc/ssh/sshd_config
或系統日志。
修改Master
節點的主機名為master
,兩個Worker
節點的主機名為worker1
、worker2
:
# Master節點 vim /etc/hostname master # Worker1節點 # worker1 # Worker2節點 # worker2
同時修改Host
:
# Master節點 vim /etc/hosts Worker1IP worker1 Worker2IP worker2 # Worker1節點 vim /etc/hosts MasterIP master Worker2IP worker2 # Worker1節點 vim /etc/hosts MasterIP master Worker1IP worker1
修改完成之后需要互ping
測試:
ping master ping worker1 ping worker2
ping
不通的話應該是安全組的問題,開放ICMP
協議即可:
JDK
scp
上傳OpenJDK 11
,解壓并放置于/usr/local/java
下,同時修改PATH
:
export PATH=$PATH:/usr/local/java/bin
如果原來的服務器裝有了其他版本的JDK
可以先卸載:
yum remove java
注意設置環境變量后需要測試以下java
,因為不同服務器的架構可能不一樣:
比如筆者的Master
節點為aarch74
架構,而兩個Worker
都是x86_64
架構,因此Master
節點執行java
時報錯如下:
解決辦法是通過yum install
安裝OpenJDK11
:
yum install java-11-openjdk
Hadoop
scp
上傳Hadoop 3.3.0
,解壓并放置于/usr/local/hadoop
下,注意選擇對應的架構:
解壓后修改以下四個配置文件:
etc/hadoop/hadoop-env.sh
etc/hadoop/core-site.xml
etc/hadoop/hdfs-site.xml
etc/hadoop/workers
hadoop-env.sh
修改JAVA_HOME
環境變量即可:
export JAVA_HOME=/usr/local/java # 修改為您的Java目錄
core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/data/tmp</value> </property> </configuration>
具體選項與虛擬機方式的設置相同,這里不再重復敘述。
hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/hadoop/data/datanode</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> </configuration>
workers
worker1 worker2
# 如果設置了端口以及私鑰 # 加上 -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
如果配置文件沒錯的話就格式化成功了。
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
則添加相應規則),并在Master
節點中啟動:
sbin/start-dfs.sh
瀏覽器輸入:
MasterIP:9870
即可看到如下頁面:
如果看到Live Nodes
數量為0請查看Worker
的日志,這里發現是端口的問題:
并且在配置了安全組,關閉了防火墻的情況下還是如此,則有可能是Host
的問題,可以把Master
節點中的:
# /etc/hosts 127.0.0.1 master
刪去,同樣道理刪去兩個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
配置在兩個Worker
節點中修改/usr/local/hadoop/etc/hadoop/yarn-site.xml
:
<property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property>
YARN
Master
節點中開啟YARN
:
cd /usr/local/hadoop sbin/start-yarn.sh
同時Master
的安全組開放8088
以及8031
端口。
瀏覽器輸入:
MasterIP:8088
應該就可以訪問如下頁面了:
至此集群正式搭建完成。
“Hadoop集群搭建的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。