一、前言
Hadoop原理架構(gòu)本人就不在此贅述了,可以自行百度,本文僅介紹Hadoop-3.1.2完全分布式環(huán)境搭建(本人使用三個(gè)虛擬機(jī)搭建)。
首先,步驟:
?、佟?strong>準(zhǔn)備安裝包和工具:
hadoop-3.1.2.tar.gz ◦ jdk-8u221-linux-x64.tar.gz(Linux環(huán)境下的JDK) ◦ CertOS-7-x86_64-DVD-1810.iso(CentOS鏡像) ◦工具:WinSCP(用于上傳文件到虛擬機(jī)),SecureCRTP ortable(用于操作虛擬機(jī),可復(fù)制粘貼Linux命令。不用該工具也可以,但是要純手打命令),VMware Workstation Pro
?、凇?strong>安裝虛擬機(jī):本人使用的是VMware Workstation Pro,需要激活。(先最小化安裝一個(gè)虛擬機(jī)Master,配置完Hadoop之后再克隆兩個(gè)Slave)
?、邸?strong>配置虛擬機(jī):修改用戶名,設(shè)置靜態(tài)IP地址,修改host文件,關(guān)閉防火墻,安裝Hadoop,安裝JDK,配置系統(tǒng)環(huán)境,配置免密碼登錄(必要)。
④ 配置Hadoop:配置hadoop-env.sh,hdfs-site.xml,core-site.xml,mepred-site.xml,yarn-site.xml,workers文件(在Hadoop-2×中是slaves文件,用于存放從節(jié)點(diǎn)的主機(jī)名稱,或者IP地址)
?、荨?strong>克隆虛擬機(jī):克隆兩個(gè)Slave,主機(jī)名稱分別是Slave1,Slave2。然后修改Slave的Hadoop配置。
?、蕖?strong>namenode格式化:分別對(duì)Master、Slave1,Slave2執(zhí)行hadoop namenode -format命令。
?、摺?strong>啟動(dòng)hdfs和yarn:在Master上執(zhí)行start-all.sh命令。待啟動(dòng)完成之后,執(zhí)行jps命令查看進(jìn)程,應(yīng)包含namenode,secondarynamenode,resourcemaneger三個(gè)進(jìn)程。Slave上有datanode,nodemanager進(jìn)程。
?、唷?strong>檢查測試:先修改真實(shí)主機(jī)的host(IP地址與Master的映射)在瀏覽器中輸入Master:9870回車,進(jìn)入hdfs,點(diǎn)擊上方datanode應(yīng)該可以看到下面有兩個(gè)節(jié)點(diǎn);輸入Master:8088回車,進(jìn)入資源調(diào)度管理(yarn)
好了,開始吧。
二、準(zhǔn)備工具
hadoop-3.1.2.tar.tz下載地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
jdk-8u221-linux-x64.tar.gz下載地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
CentOS下載地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
WinSCP下載地址: https://winscp.net/eng/download.php
SecureCRTP ortable下載地址: http://fs2.download82.com/software/bbd8ff9dba17080c0c121804efbd61d5/securecrt-portable/scrt675_u3.exe
VMware Workstation Pro下載地址:http://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.1.0-13591040.exe
附VMware Workstation Pro秘鑰:
YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8
UG5J2-0ME12-M89WY-NPWXX-WQH88
UA5DR-2ZD4H-089FY-6YQ5T-YPRX6
三、安裝虛擬機(jī)
此步略,詳情之后發(fā)布
四、配置虛擬機(jī)
1.修改用戶名:
hostnamectl --static set-hostname Master
2.設(shè)置靜態(tài)IP地址
首先查看一下原本自動(dòng)獲取到的網(wǎng)關(guān)和DNS,記下來
[root@Master ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.28.2 //DNSbr>br>
[root@Master ~]# IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 192.168.28.2(網(wǎng)關(guān)) 0.0.0.0 UG 0 0 0 ens33
192.168.28.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33br>br>
[root@Master ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 //修改ifcfg-ens33文件,執(zhí)行此命令后進(jìn)入如下界面
進(jìn)入界面后按“I”鍵進(jìn)入編輯模式,修改或添加圖中標(biāo)紅部分?!皊tatic”表示靜態(tài)地址,“netmask”子網(wǎng)掩碼,gateways是網(wǎng)關(guān),設(shè)置為上一步查看得到的即可。修改后按“esc”退出編輯模式。輸入":wq"保存退出。然后輸入以下代碼更新網(wǎng)絡(luò)配置。
systemctl restart network
3.修改hosts文件
注明:本人設(shè)置Master的IP地址為192.168.28.132,Slave1和Slave2分別為192.168.28.133,192.168.28.134
輸入以下代碼修改hosts文件(在真實(shí)主機(jī)中也需要添加):
vi /etc/hostsbr>添加:br>192.168.28.132 Masterbr>192.168.28.133 Slave1br>192.168.28.134 Slave2
4.關(guān)閉防火墻
關(guān)閉防火墻代碼:
systemctl stop firewalld.service //臨時(shí)關(guān)閉
systemctl disable firewalld.service //設(shè)置開機(jī)不自啟
5.安裝Hadoop和JDK
先創(chuàng)建兩個(gè)文件夾:
mkdir /tools //用來存放安裝包
mkdir /bigdata //存放解壓之后的文件夾
使用WinSCP上傳壓縮包:登錄后找到已下載好的壓縮包按如下步驟點(diǎn)擊上傳即可。
上傳文件后,虛擬機(jī)端進(jìn)入tools文件夾并解壓文件:
cd /tools //進(jìn)入tools文件夾
tar -zvxf jdk-8u221-linux-x64.tar.gz -C /bigdata/ //解壓文件到bigdata目錄下br>tar -zvxf hadoop-3.1.2.
6.配置系統(tǒng)環(huán)境
vi ~/.bash_profile
添加:
export JAVA_HOME=/bigdata/jdk1.8.0_221
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export HADOOP_HOME=/bigdata/hadoop-3.1.2
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/binbr>br>保存退出,讓環(huán)境變量生效:
source ~/.bash_profile
7.配置免密登錄(重要)
ssh-keygen -t rsa (直接回車3次)
cd ~/.ssh/
ssh-copy-id -i id_rsa.pub root@Master
ssh-copy-id -i id_rsa.pub root@Slave1
ssh-copy-id -i id_rsa.pub root@Slave2
測試是否成功配置(在配置完Slave之后測試):
ssh Slave1
可以登錄到Slave1節(jié)點(diǎn)
五、配置Hadoop
Hadoop-3.1.2中有許多坑,在2X版本中有些默認(rèn)的不需要特別配置,但在Hadoop-3.1.2中需要。
hadoop-env.sh配置:
cd /bigdata/hadoop-3.1.2/etc/hadoop/
vi hadoop-env.sh
添加:
export JAVA_HOME=/bigdata/jdk1.8.0_221
export HADOOP_HOME=/bigdata/hadoop-3.1.2
export PATH=$PATH:/bigdata/hadoop-3.1.2/bin
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
export HADOOP_PID_DIR=/bigdata/hadoop-3.1.2/pids //PID存放目錄,若沒有此配置則默認(rèn)存放在tmp臨時(shí)文件夾中,在啟動(dòng)和關(guān)閉HDFS時(shí)可能會(huì)報(bào)錯(cuò)
#export HADOOP_ROOT_LOGGER=DEBUG,console //先注釋掉,有問題可以打開,將調(diào)試信息打印在console上
hdfs-site.xml:
configuration>
property>
name>dfs.replication/name> //冗余度,默認(rèn)為3
value>1/value>
/property>
property>
name>dfs.datanode.data.dir/name>
value>/bigdata/hadoop-3.1.2/dfs/tmp/data/value>
/property>
property>
name>dfs.namenode.name.dir/name>
value>/bigdata/hadoop-3.1.2/dfs/tmp/name/value>
/property>
property>
name>dfs.permissions/name>
value>false/value>
/property>
/configuration>
mapred.site.xml:
configuration>
property>
name>mapreduce.framework.name/name>
value>yarn/value>
/property>
property>
name>mapred.job.tracker/name>
value>Master:9001/value>
/property>
/configuration>
yarn-site.xml:
configuration>
property>
name>yarn.nodemanager.aux-services/name>
value>mapreduce_shuffle/value>
/property>
property>
name>yarn.resourcemanager.hostname/name>
value>Master/value>
/property>
property>
name>yarn.log-aggregation-enable/name>
value>true/value>
/property>
property>
name>yarn.log-aggregation.retain-seconds/name>
value>604800/value>
/property>
/configuration>
core-site.xml:
configuration>
property>
name>fs.defaultFS/name>
value>hdfs://Master:9000/value>
/property>
property>
name>hadoop.tmp.dir/name>
value>/bigdata/hadoop-3.1.2/tmp/value>
/property>
/configuration>
workers:把默認(rèn)的localhost刪掉
Slave1 192.168.28.133
Slave2 192.168.28.134
yarn-env.sh 添加:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
進(jìn)入/bigdata/hadoop-3.1.2/sbin,修改start-dfs.sh,stop-dfs.sh,都添加:
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
六、克隆虛擬機(jī)
克隆兩個(gè)從節(jié)點(diǎn)虛擬機(jī),主機(jī)名稱分別為Slave1,Slave2(需要進(jìn)入虛擬機(jī)中修改),然后分別修改IP地址(具體方法上面有)重啟網(wǎng)絡(luò),重啟虛擬機(jī)。
重啟完成后進(jìn)行namenode格式化:分別對(duì)Master、Slave1,Slave2執(zhí)行:
hadoop namenode -
format
對(duì)Master執(zhí)行
start-all.sh //啟動(dòng)hdfs和yarn
待完成后用jps查看進(jìn)程:
[root@Master ~]# jps
7840 ResourceManager
8164 Jps
7323 NameNode
7564 SecondaryNameNode
兩Slave的進(jìn)程:
包含以下兩個(gè):
DataNode
NodeManager
七、檢查
瀏覽器輸入:在瀏覽器中輸入Master:9870回車,進(jìn)入hdfs管理頁面,點(diǎn)擊上方datanode應(yīng)該可以看到下面有兩個(gè)節(jié)點(diǎn);
輸入Master:8088回車,進(jìn)入資源調(diào)度管理(yarn)
總結(jié)
以上所述是小編給大家介紹的Hadoop-3.1.2完全分布式環(huán)境搭建過程圖文詳解(Windows 10) ,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
您可能感興趣的文章:- Hadoop streaming詳細(xì)介紹
- Hadoop組件簡介
- Hadoop源碼分析一架構(gòu)關(guān)系簡介