Centos7環(huán)境 – Hadoop全分布式模式部署
正文開(kāi)始@Assassin
此前搭建了hadoop的單機(jī)模式與偽分布式模式:
- 單機(jī)模式部署
- 偽分布式模式部署
中間拖得有點(diǎn)久了,今天索性做個(gè)了結(jié),把hadoop的全分布式模式部署的操作也簡(jiǎn)單地記錄一下,算是一個(gè)系統(tǒng)性的學(xué)習(xí)吧。
偽分布式模式是學(xué)習(xí)階段最常用的模式,它可以將進(jìn)程都運(yùn)行在同一臺(tái)機(jī)器上。在此模式下,可以模擬全分布式模式下的運(yùn)行狀態(tài),基本上可以完成全分布模式下的所有操作,所以說(shuō)偽分布模式是全分布模式的一個(gè)特例。
在全分布模式下,會(huì)在配置文件中體現(xiàn)出主節(jié)點(diǎn)與分節(jié)點(diǎn),可以指定哪些機(jī)器上運(yùn)行哪些服務(wù)以達(dá)到的成本與效率的平衡。在企業(yè)中主要采用的都是全分布式模式,節(jié)點(diǎn)從數(shù)十個(gè)到上百個(gè)不等。在學(xué)習(xí)階段,如果個(gè)人PC的性能足夠強(qiáng)勁,也可以使用多臺(tái)虛擬機(jī)代替,由于我的PC性能不是太好,這里估計(jì)只會(huì)開(kāi)兩臺(tái)虛擬機(jī)來(lái)進(jìn)行hadoop全分布式的部署。
1. 機(jī)器準(zhǔn)備:
因?yàn)槭遣渴鹑植际侥J?,所以?yīng)該是由多臺(tái)虛擬機(jī)或物理機(jī)組成的集群,我這里使用兩臺(tái)centos虛擬機(jī)來(lái)進(jìn)行相關(guān)的操作,整體搭建步驟如下:
準(zhǔn)備2臺(tái)虛擬機(jī) -> 完成系統(tǒng)安裝和網(wǎng)絡(luò)配置 -> 選擇其中一臺(tái)機(jī)器為主節(jié)點(diǎn)進(jìn)行Hadoop核心配置 -> 將配置后的Hadoop軟件分發(fā)到其他機(jī)器 -> 啟動(dòng)測(cè)試
建議把各主機(jī)名改為具有標(biāo)識(shí)意義的名稱,便于記憶和區(qū)分,同時(shí)建議設(shè)置靜態(tài)ip,以免自動(dòng)分配的ip發(fā)生變化。
!!默認(rèn)安裝了hadoop及jdk。
2. 修改主機(jī)名:
選擇一臺(tái)機(jī)器作為主節(jié)點(diǎn),命名為master:
[root@centos ~]# hostname master #臨時(shí)生效
[root@centos ~]# hostnamectl set-hostname master #永久生效
重新登錄后:hostname
另一臺(tái)機(jī)器為副節(jié)點(diǎn),命名為slave:
[root@centos8 ~]# hostname slave #臨時(shí)生效
[root@centos8 ~]# hostnamectl set-hostname slave #永久生效
重新登錄后:hostname
3. 配置靜態(tài)ip:
使用root用戶或者sudoers用戶修改當(dāng)前啟用的網(wǎng)卡配置文件,所在目錄路徑為 /etc/sysconfig/network-scripts
,centos6系統(tǒng)默認(rèn)文件為ifcfg-eth0
,centos7系統(tǒng)默認(rèn)文件為ifcfg-ens33
,centos8系統(tǒng)默認(rèn)文件為ifcfg-ens160
。
[root@master ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改格式如下表所示:
# 原值為dhcp,修改為static
BOOTPROTO=static
# 添加IPADDR,對(duì)應(yīng)的值要與原ip在同一網(wǎng)段
IPADDR=xxx.xxx.xxx.xxx
# 添加NETMASK,指定子網(wǎng)掩碼,默認(rèn)為255.255.255.0
NETMASK=255.255.255.0
# 添加GATEWAY網(wǎng)關(guān),要與虛擬機(jī)網(wǎng)卡的網(wǎng)關(guān)設(shè)置一致,默認(rèn)僅主機(jī)模式為1,NAT模式為2
GATEWAY=xxx.xxx.xxx.1/2
# 如果需要連入外網(wǎng),則可以添加DNS1和DNS2配置,通常會(huì)將DNS1指定為網(wǎng)關(guān)地址
我的虛擬機(jī)是NAT模式,所以網(wǎng)關(guān)的最后一個(gè)字節(jié)為2,查看一下網(wǎng)關(guān):
我的網(wǎng)卡配置文件配置如下:完成后保存退出。
master主機(jī):
配置完成后保存退出,centos7使用systemctl restart network
命令重啟網(wǎng)卡服務(wù)(centos6:service network restart
),并使用ifconfig
命令查看配置是否正確:
[root@master ~]# systemctl restart network
[root@master ~]# ifconfig
ip地址已經(jīng)更改為192.168.254.130
,靜態(tài)ip地址:
slave主機(jī):
同理,也是修改網(wǎng)卡配置文件:這里將靜態(tài)ip設(shè)置成了192.168.254.140
配置完成后保存退出,centos7使用systemctl restart network
命令重啟網(wǎng)卡服務(wù)(centos6:service network restart
),并使用ifconfig
命令查看配置是否正確:
[root@slave ~]# systemctl restart network
[root@slave ~]# ifconfig
ip地址已經(jīng)更改為192.168.254.140
,靜態(tài)ip地址:
補(bǔ)充: 關(guān)于centos8的網(wǎng)卡配置:
centos8的網(wǎng)卡配置文件的操作與centos7相同,不同的是重啟網(wǎng)卡的操作。
使用centos7的systemctl restart network
命令會(huì)提示:Failed to restart network.service: Unit network.service not found.
新命令為:nmcli
-
nmcli connection reload ens160
:重啟網(wǎng)卡ens160 -
nmcli connection up ens160
:激活網(wǎng)卡ens160 -
nmcli connection down ens160
:停用網(wǎng)卡ens160
一般來(lái)說(shuō),重啟一個(gè)網(wǎng)卡就是reload + up兩個(gè)操作。
4. 配置hosts映射:
由于是全分布式模式,為了方便各節(jié)點(diǎn)之間的交互,同樣也為了盡量減少配置的修改,通常在配置文件中都會(huì)使用主機(jī)名,這就需要正確的建立主機(jī)名與ip地址的映射。目前已經(jīng)有了兩臺(tái)配置好網(wǎng)絡(luò)的機(jī)器(要保證在同一虛擬網(wǎng)絡(luò)模式下,即:同為NAT、僅主機(jī)、橋接等,這樣才能保證每臺(tái)機(jī)器都處在同一個(gè)網(wǎng)段,能夠正常通信)。現(xiàn)在有兩臺(tái)機(jī)器(master為主節(jié)點(diǎn)):
主機(jī)名稱 | ip地址 |
---|---|
master | 192.168.254.130 |
slave | 192.168.254.140 |
分別在兩臺(tái)主機(jī)上使用root用戶或者sudoers用戶修改/etc/hosts
文件,修改方式為直接在文末追加以下內(nèi)容:
192.168.254.130 master
192.168.254.140 slave
master:
[root@master ~]# vim /etc/hosts
添加以下內(nèi)容:
slave:
[root@slave ~]# vim /etc/hosts
添加以下內(nèi)容:
配置完成后可以使用ping
命令對(duì)主機(jī)名進(jìn)行測(cè)試,看是否能夠正確解析出ip地址,得到目標(biāo)主機(jī)的replay:
master: 可以正常ping通
slave: 可以正常ping通
前置工作已經(jīng)完成,下面開(kāi)始對(duì)hadoop全分布式的部署。
注:以下操作均由master主機(jī)完成,之后通過(guò)scp復(fù)制到slave主機(jī)
5. hadoop配置:
對(duì)于hadoop軟件,通常會(huì)新建一個(gè)單獨(dú)的用戶來(lái)管理,下面以普通用戶hadoop為例來(lái)進(jìn)行操作。
配置hadoop環(huán)境變量:
[hadoop@master ~]$ vim ~/.bash_profile
在文末添加以下信息:
HADOOP_HOME=/home/hadoop/hadoop-2.10.1 #hadoop解壓路徑
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ##拼接原有PATH,同時(shí)添加hadoop_home的bin及hadoop_home的sbin
export HADOOP_HOME #導(dǎo)出HADOOP_HOME,提升為全局
使其內(nèi)容如下圖所示:保存退出。
刷新環(huán)境變量,使其立即生效:
[hadoop@master ~]$ source ~/.bash_profile
使用hadoop version
進(jìn)行測(cè)試:出現(xiàn)版本信息即為成功
6. jdk配置:
配置jdk環(huán)境變量:
[hadoop@master ~]$ vim ~/.bash_profile
在文末添加以下信息:
JAVA_HOME=/home/hadoop/jdk1.8.0_251 #jdk解壓目錄
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin #拼接原有PATH,同時(shí)添加jdk的bin及jre/bin
#執(zhí)行export導(dǎo)出,提升為全局
export JAVA_HOME
使其內(nèi)容如下圖所示:保存退出。
刷新環(huán)境變量,使其立即生效:
[hadoop@master ~]$ source ~/.bash_profile
使用java -version
進(jìn)行測(cè)試:出現(xiàn)版本信息即為成功
7. HDFS及YARN環(huán)境搭建:
全分布式模式運(yùn)行hadoop需要先進(jìn)行相關(guān)配置,并啟動(dòng)守護(hù)進(jìn)程(后臺(tái)運(yùn)行),基本配置文件所在路徑為hadoop的安裝目錄下的etc文件夾,也就是:
$HADOOP_HOME/etc/hadoop,在當(dāng)前環(huán)境中路徑為:
/home/hadoop/hadoop-2.10.1/etc/hadoop
cd進(jìn)入目錄,ls 查看一下文件夾中具體內(nèi)容:
7.1 hadoop-env.sh:
hadoop-env.sh文件是在啟動(dòng)hadoop進(jìn)程時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用的一個(gè)腳本文件;在此文件中需配置前置環(huán)境,也就是告訴OS去哪查找jdk;
[hadoop@master hadoop]$ vim hadoop-env.sh
vim 進(jìn)入到 hadoop-env.sh 文件中,找到文件中的第25行JAVA_HOME,將其更改為如下所示:保存退出即可。
7.2 core-site.xml:
core-site.xml 文件是Hadoop的核心配置文件,全部配置項(xiàng)可參考官方文檔:
我是官方文檔!
在這里需指定幾個(gè)配置項(xiàng),其中必須指定的是訪問(wèn)的端口;每一個(gè)配置項(xiàng)都有其默認(rèn)值;配置信息如下:
<configuration>
<!-- Hadoop臨時(shí)文件存放路徑,默認(rèn)在/tmp目錄下 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.10.1/data</value>
</property>
<!-- NameNode結(jié)點(diǎn)的URI(包括協(xié)議、主機(jī)名稱、端口號(hào)) -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 設(shè)置文件文件刪除后,被完全清空的時(shí)間,默認(rèn)為0,單位為分鐘 -->
<property>
<name>fs.trash.interval</name>
<value>60</value>
</property>
</configuration>
第一個(gè)配置項(xiàng):指定的是hadoop臨時(shí)文件存放的路徑,比如在執(zhí)行格式化操作之后,會(huì)生成一些跟集群相關(guān)的信息,如果不指定路徑的話,這些信息默認(rèn)會(huì)保存在 /tmp 目錄下:
<!-- Hadoop臨時(shí)文件存放路徑,默認(rèn)在/tmp目錄下 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.10.1/data</value>
</property>
第二個(gè)配置項(xiàng):是namenode的一個(gè)訪問(wèn)協(xié)議,也是一個(gè)比較關(guān)鍵的配置項(xiàng),包含協(xié)議,主機(jī)號(hào),端口號(hào)等:
<!-- NameNode結(jié)點(diǎn)的URI(包括協(xié)議、主機(jī)名稱、端口號(hào)) -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
第三個(gè)配置項(xiàng):指定的是當(dāng)文件刪除之后,想讓其保留多長(zhǎng)時(shí)間;也就是開(kāi)啟了類似回收站的機(jī)制,默認(rèn)是0min,指定時(shí)間之后就能在規(guī)定時(shí)間內(nèi)在對(duì)應(yīng)目錄中找回文件:
<!-- 設(shè)置文件文件刪除后,被完全清空的時(shí)間,默認(rèn)為0,單位為分鐘 -->
<property>
<name>fs.trash.interval</name>
<value>60</value>
</property>
vim 編輯 core-site.xml
文件:
7.3 hdfs-site.xml:
hdfs-site.xml 是跟HDFS相關(guān)的一個(gè)核心配置文件;其全部配置項(xiàng)可參考官方文檔:我是官方文檔!
在修改基本的配置文件:
<configuration>
<!-- 冗余存儲(chǔ)--塊存儲(chǔ)份數(shù),默認(rèn)為3 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 關(guān)閉權(quán)限校驗(yàn),開(kāi)發(fā)學(xué)習(xí)時(shí)可開(kāi)啟,默認(rèn)為true -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<!-- namenode的http訪問(wèn)地址和端口 -->
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
</configuration>
第一個(gè)配置項(xiàng):Hadoop默認(rèn)的塊存儲(chǔ)份數(shù)為3,Hadoop本身是一個(gè)全分布式的軟件,設(shè)置冗余存儲(chǔ)機(jī)制的目的和作用便是保證數(shù)據(jù)不丟失:
<!-- 塊存儲(chǔ)份數(shù),默認(rèn)為3 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
第二個(gè)配置項(xiàng):這里將權(quán)限校驗(yàn)的功能關(guān)閉掉,避免之后用API的方式去進(jìn)行調(diào)用的時(shí)候,不會(huì)出現(xiàn)一些權(quán)限相關(guān)的問(wèn)題;但是當(dāng)真正在工作時(shí)的生產(chǎn)環(huán)境中去部署的時(shí)候就不需要去添加此配置,默認(rèn)為True,也就是默認(rèn)是需要有相關(guān)的權(quán)限才能進(jìn)行操作;
<!-- 關(guān)閉權(quán)限校驗(yàn),開(kāi)發(fā)學(xué)習(xí)時(shí)可開(kāi)啟,默認(rèn)為true -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
第三個(gè)配置項(xiàng):namenode的http訪問(wèn)地址和端口可以手動(dòng)進(jìn)行指定,這里指定端口號(hào)為50070;這里需要注意的是,通常情況下端口號(hào)前填寫的應(yīng)該是ip地址,這里用了master進(jìn)行了替代,這里能看出建立名稱和ip地址的映射的必要性:
<!-- namenode的http訪問(wèn)地址和端口 -->
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
vim 編輯 hdfs-site.xml
文件:
7.4 mapred-site.xml:
mapred-site.xml 是Hadoop計(jì)算功能模塊相關(guān)配置文件,全部配置項(xiàng)可參考官方文檔:我是官方文檔!
直接指定執(zhí)行任務(wù)的方式為YARN,這樣一來(lái),在控制臺(tái)也就是網(wǎng)頁(yè)當(dāng)中可以看到整個(gè)的任務(wù)信息,默認(rèn)的方式為local;
<configuration>
<!-- 設(shè)置運(yùn)行MapReduce任務(wù)方式為yarn,默認(rèn)為local,可選項(xiàng)還有classic -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
這里需要注意,mapred-site.xml
原來(lái)的配置文件的名稱為mapred-site.xml.template
,這里需要先將其重命名為mapred-site.xml
:
vim 編輯mapred-site.xml
文件:
7.5 yarn-site.xml:
yarn-site.xml 是Yarn資源調(diào)度相關(guān)配置文件,比如說(shuō)指定在進(jìn)行任務(wù)運(yùn)行的時(shí)候分配多大的內(nèi)存,統(tǒng)一地由誰(shuí)來(lái)調(diào)配;全部配置項(xiàng)可參考官方文檔:我是官方文檔!
具體配置項(xiàng)如下:
<configuration>
<!-- resourcemanager的主機(jī)名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!-- 暴露給客戶端的主機(jī)名及端口號(hào) -->
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<!-- 分配給容器的物理內(nèi)存量,單位是MB,設(shè)置為-1則自動(dòng)分配,默認(rèn)8192MB -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1536</value>
</property>
<!-- NodeManager上運(yùn)行的服務(wù)列表,可以配置成mapreduce_shuffle,多個(gè)服務(wù)使用逗號(hào)隔開(kāi) -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
第一個(gè)配置項(xiàng):指定資源統(tǒng)一由誰(shuí)來(lái)進(jìn)行調(diào)配,這里是 resourcemanager ;還有指定所在的機(jī)器,也就是計(jì)算的主體(主節(jié)點(diǎn)),這里是 master;
<!-- resourcemanager的主機(jī)名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
第二個(gè)配置項(xiàng):若是想要在從節(jié)點(diǎn)也可提交任務(wù),可以配置如下信息,若是單單只是在主節(jié)點(diǎn)上提交任務(wù)的話,該項(xiàng)也可不配置:
<!-- 暴露給客戶端的主機(jī)名及端口號(hào) -->
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
第三個(gè)配置項(xiàng):主要是對(duì)第三個(gè)配置項(xiàng)進(jìn)行配置,分配給容器的物理內(nèi)存量一般來(lái)說(shuō)需要跟虛擬機(jī)的內(nèi)存成正比,我的虛擬機(jī)的內(nèi)存是2G,一般最多分配虛擬機(jī)內(nèi)存的 3/4,我這里自然也就是分配了 2048 * 0.75 = 1536M的空間;分配的空間太多就可能對(duì)其他進(jìn)程的運(yùn)行造成影響了;小伙伴們可以根據(jù)自己虛擬機(jī)的實(shí)際情況是指定一下,設(shè)置為 -1則為自動(dòng)分配,不設(shè)置默認(rèn)為8192M;
<!-- 分配給容器的物理內(nèi)存量,單位是MB,設(shè)置為-1則自動(dòng)分配,默認(rèn)8192MB -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1536</value>
</property>
第四個(gè)配置項(xiàng):指定NodeManager
獲取數(shù)據(jù)的方式,這里設(shè)置的是mapreduce_shuffle
,如果有多個(gè),可以在value處用逗號(hào)分隔:
<!-- NodeManager上運(yùn)行的服務(wù)列表,可以配置成mapreduce_shuffle,多個(gè)服務(wù)使用逗號(hào)隔開(kāi) -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
vim 編輯yarn-site.xml
文件:
7.6 slaves:
slaves 是從節(jié)點(diǎn)配置文件,在slaves當(dāng)中要配置它的從節(jié)點(diǎn)是哪個(gè);當(dāng)前是配置偽分布式,也就是說(shuō)主節(jié)點(diǎn)跟從節(jié)點(diǎn)都是自己,所以將 slaves 文件中的localhost直接改成slave即可;如果希望主節(jié)點(diǎn)本身也提供數(shù)據(jù)存儲(chǔ)和計(jì)算服務(wù),則可以將主節(jié)點(diǎn)主機(jī)名也填上,如下圖所示:
vim 編輯yarn-site.xml
文件:
HDFS及YARN環(huán)境搭建到此基本完成,接下來(lái)進(jìn)行ssh相關(guān)操作。
至此,Hadoop的安裝配置已經(jīng)全部完成,接下來(lái)只需將jdk解壓后的文件夾,hadoop解壓后的文件夾及環(huán)境變量配置文件同步到slave主機(jī)上就可以了,也就是說(shuō)兩臺(tái)主機(jī)的配置文件完全一樣。在centos系統(tǒng)中已經(jīng)默認(rèn)安裝并啟動(dòng)了ssh服務(wù),首先需要先配置免密碼登錄,這樣可以使發(fā)送文件和hadoop的使用更加方便。
8. ssh免密登錄:
在centos系統(tǒng)中已經(jīng)默認(rèn)安裝并啟動(dòng)了ssh服務(wù),首先需要先配置免密碼登錄,這樣可以使發(fā)送文件和hadoop的使用更加方便。
- ① 生成密鑰:
[hadoop@master ~]$ ssh-keygen -t rsa
#整個(gè)過(guò)程一直回車即可
- ② 拷貝公鑰:
# @前為用戶名,@后為主機(jī)名,在主節(jié)點(diǎn)master上執(zhí)行以下命令
[hadoop@master hadoop]$ ssh-copy-id hadoop@master
[hadoop@master hadoop]$ ssh-copy-id hadoop@slave
# 輸入一次hadoop用戶的密碼即可通過(guò)驗(yàn)證
配置完成后,可以從主節(jié)點(diǎn)master免密登錄到從節(jié)點(diǎn)slave,如果希望各主機(jī)之間都可以互相免密登錄,則可以在所有主機(jī)上都執(zhí)行上述操作。
測(cè)試免密登錄:
[hadoop@master hadoop]$ ssh hadoop@slave
可以看到?jīng)]有輸入密碼,免密登錄配置成功:
9. scp跨主機(jī)傳輸配置文件:
需要cp的文件太多,這里可以編寫一個(gè)簡(jiǎn)單的shell腳本來(lái)執(zhí)行:
[hadoop@master hadoop]$ vim scp.sh
編寫如下shell腳本:
# 拷貝JDK
scp -rf /home/hadoop/jdk1.8.0_251 hadoop@slave:/home/hadoop
# 拷貝Hadoop
scp -rf /home/hadoop/hadoop-2.10.1 hadoop@slave:/home/hadoop
# 拷貝環(huán)境變量配置文件,同名文件會(huì)自動(dòng)覆蓋
scp -rf /home/hadoop/.bash_profile hadoop@slave:/home/hadoop
使用bash來(lái)執(zhí)行shell腳本:
[hadoop@master hadoop]$ bash scp.sh
執(zhí)行完成后在slave主機(jī)上測(cè)試java -version
及hadoop version
:
打印出版本信息即說(shuō)明配置移植成功。
注:hadoop集群操作均由master主機(jī)完成。
10. hadoop集群?jiǎn)?dòng):
在hadoop集群?jiǎn)?dòng)之前,先做一個(gè)格式化的操作,格式化主要是去生成集群自己需要的信息,比如主節(jié)點(diǎn)的唯一id等,主要是通過(guò)id來(lái)確認(rèn)哪些主機(jī)歸集群管理,也就是說(shuō)是通過(guò)id來(lái)與主機(jī)進(jìn)行綁定和對(duì)應(yīng)的;
10.1 格式化namenode:
第一次使用hadoop時(shí)需要進(jìn)行初始化,該操作只需要執(zhí)行一次,完成后會(huì)根據(jù)core-site.xml中的配置,在對(duì)應(yīng)的目錄下自動(dòng)創(chuàng)建相應(yīng)的文件夾:
[hadoop@master ~]$ hdfs namenode -format
此操作在之前指定的目錄當(dāng)中創(chuàng)建了一些文件:
10.2 啟動(dòng)Hadoop進(jìn)程:
由于已經(jīng)配置了環(huán)境變量,可以直接執(zhí)行sbin目錄下的腳本:start-all.sh
,如果需要停止可以執(zhí)行 stop-all.sh
:
[hadoop@master ~]$ start-all.sh
生成一些日志的保存路徑,只需將結(jié)尾的out改為log即可查看日志信息。
10.3 jps指令驗(yàn)證:
jps
為安裝配置好JDK
環(huán)境后的命令,可以查看到當(dāng)前用戶下的Java
進(jìn)程,如果無(wú)法正常使用需檢查JDK
的環(huán)境變量配置:
[hadoop@master ~]$ jps
出現(xiàn)如下圖所示的5個(gè)進(jìn)程,證明成功(不包括jps
本身)。需要注意的是,如果進(jìn)程在啟動(dòng)一小段時(shí)間之后自動(dòng)消失則證明該進(jìn)程存在問(wèn)題,需要根據(jù)日志信息進(jìn)行排查;
出現(xiàn) namenode
主節(jié)點(diǎn),數(shù)據(jù)存儲(chǔ)服務(wù)相關(guān)的datanode
,以及SecondaryNameNode
;證明dfs正確。
出現(xiàn) NodeManager
(運(yùn)行在單個(gè)節(jié)點(diǎn)上的代理),ResourceManager
(是整個(gè)Yarn
集群中最重要的組件之一,其主要的功能包括ApplicationMaster
的管理);證明yarn
正確。
到這里說(shuō)明主節(jié)點(diǎn)master的配置成功。
ssh免密登錄到slave主機(jī),執(zhí)行jps
:
出現(xiàn)兩個(gè)與從節(jié)點(diǎn)相關(guān)的進(jìn)程datanode
,nodemanager
說(shuō)明集群配置完成。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-401883.html
over~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-401883.html
到了這里,關(guān)于【云計(jì)算平臺(tái)】Hadoop全分布式模式環(huán)境搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!