柚子快報(bào)邀請(qǐng)碼778899分享:Hadoop分布式部署
柚子快報(bào)邀請(qǐng)碼778899分享:Hadoop分布式部署
Hadoop 2.0 部署
部署方式
Hadoop 主要有兩種安裝方式,即傳統(tǒng)解壓包方式和 Linux 標(biāo)準(zhǔn)方式。本次實(shí)驗(yàn)為了熟悉Hadoop運(yùn)行流程,所以采用傳統(tǒng)解壓包方式
Hadoop 部署環(huán)境分為單機(jī)模式、偽分布模式和分布式模式三種。由上述情況,所以采用分布式模式部署
準(zhǔn)備環(huán)境
真機(jī)環(huán)境:Windows 11,內(nèi)存 16G
虛擬機(jī)環(huán)境:采用基于 Hyper-V 技術(shù)的 multipass,運(yùn)行 Ubuntu 24.04 LTS
預(yù)安裝軟件包: hadoop-2.10.2.tar.gz jdk-8u202-linux-x64.tar.gz
創(chuàng)建虛擬機(jī)
multipass 的安裝過程略
# 真機(jī) powershell
multipass launch -n cMaster -c 1 -m 1G -d 8G
multipass launch -n cSlave0 -c 1 -m 1G -d 8G
multipass launch -n cSlave1 -c 1 -m 1G -d 8G
創(chuàng)建主機(jī)名分別為cMaster,cSlave0,cSlave1的三臺(tái)虛擬機(jī),1核1G內(nèi)存8G空間
安裝包掛載
# 真機(jī) powershell
multipass exec cMaster mkdir ./mount # 創(chuàng)建對(duì)應(yīng)掛載目錄
multipass exec cSlave0 mkdir ./mount
multipass exec cSlave1 mkdir ./mount
multipass mount E:/data cMaster:/home/ubuntu/mount # 將真機(jī)中存放安裝
multipass mount E:/data cSlave0:/home/ubuntu/mount # 包的路徑掛載到虛
multipass mount E:/data cSlave1:/home/ubuntu/mount # 擬機(jī)的對(duì)應(yīng)目錄上
也可以選擇別的方式將安裝包傳到Hadoop集群的機(jī)器上
集群網(wǎng)絡(luò)配置
目標(biāo)IP地址映射如下
主機(jī)名IP映射cMaster192.168.130.100cSlave0192.168.130.101cSlave1192.168.130.102
網(wǎng)卡綁定
在 Hyper-V 管理器的虛擬交換機(jī)管理器中,新建虛擬網(wǎng)絡(luò)交換機(jī),選擇內(nèi)部網(wǎng)絡(luò) 選擇到對(duì)應(yīng)虛擬機(jī)的設(shè)置,將添加的網(wǎng)卡加入 設(shè)置虛擬網(wǎng)卡的網(wǎng)關(guān) 打開真機(jī)網(wǎng)絡(luò)適配器,找到 Hyper-V Virtual Ethernet Adapter #2,進(jìn)入 IPv4 設(shè)置 如下設(shè)置
IP地址: 192.168.130.1子網(wǎng)掩碼: 255.255.255.0
配置虛擬機(jī)靜態(tài) IP
以 cMaster 舉例
sudo vi /etc/netplan/50-cloud-init.yaml
修改內(nèi)容
network:
ethernets:
eth0:
... # eth0 是Hyper-V默認(rèn),這里的設(shè)置全都不動(dòng)
eth1:
addresses: [192.168.130.100/24] # cMaster是.100,其他機(jī)器對(duì)應(yīng)修改
routes:
- to: default
via: 192.168.130.1
dhcp4: false
應(yīng)用修改
sudo netplan apply
重新連接到shell后檢查是否成功
修改hosts
sudo vi /etc/hosts
sudo vi /etc/cloud/templates/hosts.debian.tmpl # 使hosts重啟生效
刪除主機(jī)名記錄
# 127.0.1.1 {{fqdn}} {{hostname}}
添加映射
192.168.130.100 cMaster
192.168.130.101 cSlave0
192.168.130.102 cSlave1
關(guān)閉防火墻
sudo systemctl stop ufw
sudo systemctl disable ufw
安裝 JDK
sudo mkdir /usr/java # 目標(biāo)安裝路徑
sudo tar -zxvf /home/ubuntu/mount/jdk-8u202-linux-x64.tar.gz -C /usr/java # 從掛載的路徑解壓 JDK8 到目標(biāo)安裝路徑
sudo bash -c 'echo "JAVA_HOME=\"/usr/java/jdk1.8.0_202\"" >> /etc/environment' # 全局設(shè)置環(huán)境變量 JAVA_HOME
sudo bash -c 'echo "export PATH=\"$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin\"" > /etc/profile.d/java-env.sh' # 將 Java 加入 Path
source /etc/environment # 應(yīng)用更改
source /etc/profile
使用 java -version 檢測(cè)是否安裝完成
ubuntu@cMaster:~$ java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
解壓Hadoop
mkdir /home/ubuntu/hadoop
tar -zxvf /home/ubuntu/mount/hadoop-2.10.2.tar.gz -C /home/ubuntu/hadoop
解壓完畢可以卸載安裝包目錄,在真機(jī)終端內(nèi)執(zhí)行如下命令
# 真機(jī) powershell
multipass unmount cMaster
multipass unmount cSlave0
multipass unmount cSlave1
配置Hadoop
修改core-site.xml文件 vi ~/hadoop/hadoop-2.10.2/etc/hadoop/core-site.xml
在
修改yarn-site.xml文件 vi ~/hadoop/hadoop-2.10.2/etc/hadoop/yarn-site.xml
在
重命名mapred-site.xml.template為mapred-site.xml并修改內(nèi)容 cp ~/hadoop/hadoop-2.10.2/etc/hadoop/mapred-site.xml.template\
~/hadoop/hadoop-2.10.2/etc/hadoop/mapred-site.xml
vi ~/hadoop/hadoop-2.10.2/etc/hadoop/mapred-site.xml
在
啟動(dòng)Hadoop
Master上 cd ~/hadoop/hadoop-2.10.2/
./bin/hdfs namenode -format # 格式化主節(jié)點(diǎn)命名空間
./sbin/hadoop-daemon.sh start namenode # cMaster啟動(dòng)存儲(chǔ)主服務(wù)
./sbin/yarn-daemon.sh start resourcemanager # 啟動(dòng)資源管理主服務(wù)
格式化主節(jié)點(diǎn)命名空間成功如圖,只有第一次啟動(dòng)需要格式化 Slave上 cd ~/hadoop/hadoop-2.10.2/
./sbin/hadoop-daemon.sh start datanode # Slave啟動(dòng)存儲(chǔ)從服務(wù)
./sbin/yarn-daemon.sh start nodemanager # Slave啟動(dòng)資源管理從服務(wù)
測(cè)試Hadoop
查詢系統(tǒng)內(nèi) Java 虛擬機(jī)進(jìn)程 jps
如果Hadoop運(yùn)行成功,將會(huì)在對(duì)應(yīng)機(jī)器看到類似信息
MasterSlave 網(wǎng)頁訪問 需要先在真機(jī) Hosts 文件添加虛擬機(jī)相同映射
HDFS相關(guān)信息 http://cMaster:50070 Yarn相關(guān)信息 http://cMaster:8088
驗(yàn)證集群
./bin/hdfs dfs -mkdir /in
./bin/hdfs dfs -put *** /in # 星號(hào)部分填自己要上傳的內(nèi)容
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.2.jar\
wordcount /in /out/wc-01
總結(jié)與經(jīng)驗(yàn)
Hadoop 本身部署起來很簡(jiǎn)單,其大量工作其實(shí)都是前期的 Linux 環(huán)境配置,Hadoop安裝只是解壓、修改配置文件、格式化、啟動(dòng)和驗(yàn)證 Hadoop 對(duì)網(wǎng)絡(luò)配置要求非常精確,我在反復(fù)嘗試中發(fā)現(xiàn) hosts 文件中主機(jī)名映射到 127.0.1.1 會(huì)導(dǎo)致 Slave 節(jié)點(diǎn)訪問不到 Master 節(jié)點(diǎn)上的服務(wù) 后續(xù)可以配置免密SSH,使用 sbin/start-x.sh 相關(guān)腳本快速啟動(dòng)集群
柚子快報(bào)邀請(qǐng)碼778899分享:Hadoop分布式部署
推薦文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。