欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

云服務(wù)器搭建Hadoop分布式的過(guò)程詳解

 更新時(shí)間:2023年10月26日 11:51:16   作者:幾窗花鳶  
這篇文章主要介紹了云服務(wù)器搭建Hadoop分布式的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.服務(wù)器配置

服務(wù)器主機(jī)名配置
115.157.197.82s110核
115.157.197.84s210核
115.157.197.109s310核
115.157.197.31s410核
115.157.197.60gracal10核

所有的軟件安裝在/opt/module下,軟件安裝包在/opt/softs下

2.Java環(huán)境

所有的服務(wù)器的java統(tǒng)一1.8版本,查看java版本

java --version

? 若存在java環(huán)境不統(tǒng)一,或者沒(méi)有1.8版本的jdk

無(wú)1.8版本的java

 yum install -y java-1.8.0-openjdk*

環(huán)境不統(tǒng)一

#查看java版本
alternates --config java
#選擇1.8版本的數(shù)字

相關(guān)的JAVA_HOME、Hadoop_HOME環(huán)境變量都保存在/etc/profile.d/my_env.sh

3. 安裝Hadoop

  • 確保Hadoop統(tǒng)一版本:hadoop3.1.3
  • 編寫(xiě)文件分發(fā)腳本,可以在一臺(tái)服務(wù)器分發(fā)到其他服務(wù)器:xsync腳本,在/home/gaochuchu/bin目錄下

4. 集群配置

各個(gè)組件的分布情況

s1s2s3s4gracal
HDFSNameNode DataNameNodeDataNameNodeSecondaryNameNode DataNameNodeDataNameNodeDataNameNode
YARNNodeManagerResourceManager NodeManagerNodeManagerNodeManagerNodeManager

常用端口配置 (分Hadoop2.x和Hadoop3.x的區(qū)別)

端口名稱(chēng)Hadoop2.xHadoop3.x
NameNode內(nèi)部通信端口8020/90008020/
NameNode HTTP UI500709870
MapReduce查看執(zhí)行任務(wù)端口80888088(容易和框架端口沖突,本文配置的7666)
歷史服務(wù)器通信端口1988819888
  • 在客戶(hù)端機(jī)器(筆記本)配置ip和服務(wù)器主機(jī)名的映射,希望能通過(guò)主機(jī)名+端口號(hào)在瀏覽器訪問(wèn)各個(gè)Web頁(yè)面
    • 問(wèn)題:通過(guò)s2:7666無(wú)法訪問(wèn)ResourceManger的web UI,而通過(guò)直接的ip:7666又可以訪問(wèn)其webUI
      • 遇到這個(gè)問(wèn)題我無(wú)法理解為什么會(huì)出問(wèn)題
      • 漫長(zhǎng)的排錯(cuò)過(guò)程:
        • 1.檢查了服務(wù)器之間的ip和主機(jī)名的映射,各個(gè)服務(wù)器主機(jī)之間通過(guò)主機(jī)名可以ping通,說(shuō)明映射沒(méi)有問(wèn)題
        • 2.檢查客戶(hù)端mac本機(jī)的hosts文件映射未發(fā)現(xiàn)問(wèn)題,并且在客戶(hù)端的終端也能ping通各個(gè)主機(jī)名,說(shuō)明映射沒(méi)有問(wèn)題
        • 3.且查看各個(gè)服務(wù)器的防火墻也處于關(guān)閉狀態(tài)
        • 4.通過(guò)netstat -nltp|grep 7666查看端口的監(jiān)聽(tīng)情況,也是正常監(jiān)聽(tīng)狀態(tài)
        • 5.在網(wǎng)上搜索很多相關(guān)解決方案:關(guān)閉防火墻,設(shè)置etc/sysconfig/selinux的級(jí)別為disable,都沒(méi)有結(jié)果
        • 因此,我認(rèn)為應(yīng)該在客戶(hù)端本機(jī)出現(xiàn)問(wèn)題,驗(yàn)證問(wèn)題過(guò)程

6.1 發(fā)現(xiàn)在本地主機(jī)telnet s2 7666可以成功訪問(wèn),但是curl s2:7666沒(méi)有輸出頁(yè)面的任何信息

6.2 使用cur -v s2:7666查看相關(guān)信息

  • 發(fā)生地址的重定位,然后使用命令curl -v http://s2:7666/cluser

成功返回了相關(guān)的html信息,說(shuō)明頁(yè)面其實(shí)是可以訪問(wèn)的

6.3 但是瀏覽器端還是無(wú)法訪問(wèn):后查詢(xún)到瀏覽器可能配置了代理服務(wù)器,而’curl’命令未配置代理。代理服務(wù)器會(huì)煩擾瀏覽器的訪問(wèn)。

因此我關(guān)閉了VPN代理,成功訪問(wèn)到s2:7666頁(yè)面??!

以后VPN代理一定要慎用!??!排查了這么久發(fā)現(xiàn)最后居然是代理問(wèn)題

  • 啟動(dòng)集群測(cè)試
    • 啟動(dòng)HDFS
[gaochuchu@s1 hadoop-3.1.3]$ sbin/start-dfs.sh
  • 啟動(dòng)YARN
[gaochuchu@s1 hadoop-3.1.3]$ sbin/start-yarn.sh

問(wèn)題:

解決:

  • 這里的hadoop配置的是root用戶(hù)創(chuàng)建的hadoop環(huán)境,本地用戶(hù)無(wú)權(quán)限
  • 修改環(huán)境變量/etc/profile,注釋配置的HADOOP_HOME,重新source

運(yùn)行hadoop自帶的wordcount示例程序報(bào)錯(cuò),并且一直卡在Running Job位置,報(bào)錯(cuò)信息如下:

java.io.IOException: Got error, status=ERROR, status message , ack with firstBadLink as [某ip]:9866
at org.apache.hadoop.hdfs.protocol.datatransfer.DataTransferProtoUtil.checkBlockOpStatus(DataTransferProtoUtil.java:134)
at org.apache.hadoop.hdfs.protocol.datatransfer.DataTransferProtoUtil.checkBlockOpStatus(DataTransferProtoUtil.java:110)
at org.apache.hadoop.hdfs.DataStreamer.createBlockOutputStream(DataStreamer.java:1778)
at org.apache.hadoop.hdfs.DataStreamer.nextBlockOutputStream(DataStreamer.java:1679)
at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:716)
......
Caused by: java.net.NoRouteToHostException: No route to host
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)
at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:700)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:804)
at org.apache.hadoop.ipc.Client$Connection.access$3800(Client.java:421)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1606)
at org.apache.hadoop.ipc.Client.call(Client.java:1435)
... 19 more

如何解決這種問(wèn)題?

  • 注意報(bào)錯(cuò)信息:No route to host ,說(shuō)明沒(méi)有到host的路由,排查思路,確定與對(duì)應(yīng)服務(wù)器端口是否聯(lián)通
  • 首先測(cè)試某ip自身9866端口是否聯(lián)通,說(shuō)明聯(lián)通

說(shuō)明s1服務(wù)器和…31:9866可能是不連通的

經(jīng)查找相關(guān)資料說(shuō)明是…31服務(wù)器的icmp(Internet Control Message Protocol)被禁用導(dǎo)致。
命令查看iptable是否有防火墻設(shè)置:

iptables -L INPUT --line-numbers

發(fā)現(xiàn):

命令刪除這條記錄:

iptables -D INPUT 28

5. 編寫(xiě)集群的啟動(dòng)腳本

因?yàn)槊看渭簡(jiǎn)?dòng)需要在NameNode節(jié)點(diǎn)的HADOOPHOME目錄下使用命令啟動(dòng)HDFS

sbin/start-dfs.sh

在Yarn節(jié)點(diǎn)上通過(guò)命令啟動(dòng)Yarn(ResourceManager)

 sbin/start-yarn.sh

配置了歷史服務(wù)器,還需要在歷史服務(wù)器的節(jié)點(diǎn)上使用命令啟動(dòng)歷史服務(wù)器

mapred --daemon start historyserver

相應(yīng)的停止集群也需要通過(guò)以下三個(gè)命令來(lái)停止集群

sbin/stop-dfs.sh
sbin/stop-yarn.sh
mapred --daemon stop historyserver

因此,可以編寫(xiě)相關(guān)的腳本啟停(HDFS Yarn Historyserver)

  • /home/gaochuchu/bin 目錄下編寫(xiě)myhadoop.sh腳本啟停Hadoop集群
#啟動(dòng)Hadoop集群
myhadoop.sh start
#停止Hadoop集群
myhadoop.sh stop

服務(wù)器各節(jié)點(diǎn)的狀態(tài)都需要通過(guò)在筆不同服務(wù)器上通過(guò)jps命令查看,比較麻煩

  • /home/gaochuchu/bin 目錄下編寫(xiě)jpsall腳本,可以查看所有服務(wù)器上的節(jié)點(diǎn)狀態(tài)

到此這篇關(guān)于云服務(wù)器搭建Hadoop分布式的過(guò)程詳解的文章就介紹到這了,更多相關(guān)云服務(wù)器搭建Hadoop內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論