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