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

Hadoop源碼分析二安裝配置過(guò)程詳解

 更新時(shí)間:2021年09月02日 17:20:26   作者:huserblog  
本篇是Hadoop源碼分析系列文章第二篇,主要介紹Hadoop安裝配置的詳細(xì)過(guò)程,后續(xù)本系列文章會(huì)持續(xù)更新,有需要的朋友可以借鑒參考下

安裝hadoop有好幾種方式,以下按照hdfs高可用的方式來(lái)安裝。

1、 創(chuàng)建用戶

命令:

useradd -m bigdata
passwd bigdata

2、 安裝jdk

解壓:

tar -zvf jdk-8u191-linux-x64.tar.gz

修改環(huán)境變量

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64
JRE_HOME=/usr/lib/jvm/java-8-openjdk-arm64/jre
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME PATH CLASSPATH

3、 修改hosts

修改/etc/hosts

10.211.55.12    hadoop01  # NameNode Active 
10.211.55.13    hadoop01  # NameNode Standby 
10.211.55.14    hadoop01  # DataNode1

4、 配置ssh免密登錄

在每一臺(tái)需要配置的機(jī)器上執(zhí)行以下命令:

ssh-keygen –t rsa

執(zhí)行完成后默認(rèn)會(huì)在其根目錄下創(chuàng)建一個(gè).ssh目錄,在這個(gè)目錄中有id_rsa和id_rsa.pub兩個(gè)文件。然后將所有機(jī)器的id_rsa.pub文件的內(nèi)容都合并到一個(gè)新的文件中,文件命名為authorized_keys,然后將該文件分發(fā)到各臺(tái)機(jī)器上。

最后,使用ssh登錄其他機(jī)器測(cè)試是否完成免密。

5、 安裝zookeeper

下載鏈接:https://zookeeper.apache.org/releases.html

解壓:

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz

修改配置文件

將zookeeper下conf目錄中的zoo_sample.cfg文件復(fù)制一份,新復(fù)制的文件重命名為zoo.cfg文件。

修改內(nèi)容如下:

#zookeeper的文件路徑
dataDir=/root/zookeeper/data

#zookeeper集群節(jié)點(diǎn)信息
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888

#server.A=B:C:D 其中A是一個(gè)數(shù)字,代表這是第幾號(hào)服務(wù)器;B是服務(wù)器的IP地址;C表示服務(wù)器與群集中的“領(lǐng)導(dǎo)者”交換信息的端口;當(dāng)領(lǐng)導(dǎo)者失效后,D表示用來(lái)執(zhí)行選舉時(shí)服務(wù)器相互通信的端口。

然后在上述設(shè)置的文件目錄中新建一個(gè)文件,文件名為myid,文件內(nèi)容為一個(gè)數(shù)字。例如上述配置的hadoop01對(duì)應(yīng)的是server.1,它的myid的文件內(nèi)容就是1。

配置環(huán)境變量

修改/etc/profile文件

export ZOOKEEPER_HOME=/root/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

啟動(dòng)

啟動(dòng)命令如下

#啟動(dòng)
zkServer.sh start
#查詢狀態(tài)
zkServer.sh status

6、 安裝hadoop

對(duì)于三臺(tái)節(jié)點(diǎn)的配置安排如下:

hadoo01:journalnode、namenode、datanode、resourcemanager、nodemanager
hadoo02:journalnode、namenode、datanode、resourcemanager、nodemanager
hadoo03:journalnode、datanode、nodemanager

下載鏈接:https://hadoop.apache.org/releases.html

解壓:

tar -zxvf hadoop-2.7.6.tar.gz

修改配置文件:

hadoop的配置文件在解壓后文件夾的etc目錄下的hadoop目錄中。

修改core-site.xml

<configuration>
<!-- 配置hdfs的名稱,其中value標(biāo)簽中的nns1為自定義的,與后文hdfs-site.xml中的屬性對(duì)應(yīng)即可-->
 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://nns1</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
    <!-- 其他臨時(shí)文件的存儲(chǔ)的目錄-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/HadoopData/HDFSData</value>
    </property>
<!-- 下面兩項(xiàng)與權(quán)限相關(guān),在配置hiveserver2的時(shí)候如果沒(méi)配置這兩項(xiàng)會(huì)出問(wèn)題。name標(biāo)簽中的root需要改為你使用的用戶名-->
    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property>
<!-- -->
<!-- 配置zookeeper-->
<property>
        <name>ha.zookeeper.quorum</name>
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
    </property>
</configuration>

配置hdfs-site.xml

<configuration>
<!-- 配置hdfs服務(wù),需要與上文中的fs.defaultFS對(duì)應(yīng)-->
 <property>
        <name>dfs.nameservices</name>
        <value>nns1</value>
    </property>
<!-- 配置hdfs的namenode,使用“,”分隔,value標(biāo)簽中的內(nèi)容需要自定義-->
    <property>
        <name>dfs.ha.namenodes.nns1</name>
        <value>nn1,nn2</value>
    </property>  
<!-- 配置兩臺(tái)namenode,name標(biāo)簽最后的內(nèi)容需要與上文對(duì)應(yīng)-->      
    <property>
        <name>dfs.namenode.rpc-address.nns1.nn1</name>
        <value>hadoop01:9000</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.nns1.nn2</name>
        <value>hadoop02:9000</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.nns1.nn1</name>
        <value>hadoop01:50070</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.nns1.nn2</name>
        <value>hadoop02:50070</value>
    </property>    
    <!--配置journalnode,修改value中的ip地址與端口便可,最后的nns1可以改為上述定義的名稱 -->
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://hadoop01:8485;hadoop02:8485;hadoop03:8485/nns1</value>
    </property>
<!-- 客戶端連接可用狀態(tài)的NameNode所用的代理類 -->
    <property>
        <name>dfs.client.failover.proxy.provider.nns1</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>    
    <!-- 一旦需要NameNode切換,使用ssh方式進(jìn)行操作,配置了這個(gè)需要服務(wù)器能使用fuster,有的服務(wù)器可能需要安裝 -->
    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>sshfence</value>
    </property>    
    <!-- 如果使用ssh進(jìn)行故障切換,使用ssh通信時(shí)用的密鑰存儲(chǔ)的位置 -->
    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/root/.ssh/id_rsa</value>
    </property>
        <!-- 指定journalnode的存儲(chǔ)路徑 -->
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/data/HadoopData/HDFSData/journal</value>
    </property>    
    <!-- 是否啟動(dòng)自動(dòng)故障轉(zhuǎn)移 -->
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>    
    <!-- 指定namenode數(shù)據(jù)存儲(chǔ)路徑 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/HadoopData/HDFSData/name</value>
    </property>    
    <!-- 指定datanode數(shù)據(jù)存儲(chǔ)路徑 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/HadoopData/HDFSData/data</value>
    </property>    
<!-- 設(shè)置文件副本數(shù) -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
<!-- 是否啟動(dòng)hdfs網(wǎng)頁(yè)界面 -->
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>

配置mapred-site.xml

<configuration>
<!-- 采用yarn作為mapreduce的資源調(diào)度框架 -->
 <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

配置yarn-site.xml

<configuration>
 <!-- 啟用HA高可用性 -->
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>    
   <!-- 使用了2個(gè)resourcemanager,分別指定Resourcemanager的地址 -->
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
 <!-- 配置集群名稱 -->
     <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>cluster1-yarn</value>
    </property>
<!--配置RM節(jié)點(diǎn)  -->
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>hadoop01</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>hadoop02</value>
    </property>
    <!--在hadoop01上配置rm1,在hadoop02上配置rm2,注意:一般都喜歡把配置好的文件遠(yuǎn)程復(fù)制到其它機(jī)器上,但這個(gè)在YARN的另一個(gè)機(jī)器上一定要修改 -->
    <property>
        <name>yarn.resourcemanager.ha.id</name>
        <value>rm1</value>
    </property>
    <!--開(kāi)啟自動(dòng)恢復(fù)功能 -->
    <property>
        <name>yarn.resourcemanager.recovery.enabled</name>
        <value>true</value>
    </property>
    <!--配置與zookeeper的連接地址 -->
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
    </property>
   <!-- 配置shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

配置slaves

hadoop01
hadoop02
hadoop03

slaves中配置的服務(wù)器ip,沒(méi)改hosts文件則直接寫(xiě)ip地址便可。該文件配置的服務(wù)器在啟動(dòng)的時(shí)候會(huì)啟動(dòng)datanode和nodemanager兩個(gè)進(jìn)程。

7、 初始化

在初始化前需要將所有機(jī)器都配置好hadoop

(一般直接復(fù)制上述配置好的文件,注意yarn-site.xml中的id,還有保證配置中的路徑在每臺(tái)機(jī)器上都存在)。

(1) 啟動(dòng)zookeeper

初始化之前需要保證zookeeper能正常提供服務(wù),啟動(dòng)命令之前有提到

(2) 啟動(dòng)journalnode

初始化前需要保證journalnode已經(jīng)啟動(dòng)。啟動(dòng)腳本在hadoop的sbin目錄下,名字為hadoop-daemon.sh。

啟動(dòng)命令如下:

./hadoop-daemon.sh start journalnode

(3) 格式化zk

命令如下

hdfs zkfc -formatZK

(4) 格式化hdfs

命令如下

hadoop namenode -format

這一步會(huì)在上述hdfs-site.xml,配置的dfs.namenode.name.dir路徑下創(chuàng)建一系列文件。

(5) 同步元數(shù)據(jù)

在另一臺(tái)配置了namenode的服務(wù)器上執(zhí)行以下命令:

hdfs namenode -bootstrapStanby

上述命令如果執(zhí)行失敗,還有一個(gè)簡(jiǎn)單的方法可以同步元數(shù)據(jù)??梢灾苯訉⒉襟E4中在第一臺(tái)生成的文件復(fù)制到第二臺(tái)服務(wù)器。

(6) 啟動(dòng)hadoop

同樣在sbin目錄下,使用start-all.sh可以啟動(dòng)所有服務(wù),使用start-dfs.sh和start-yarn.sh可以分別啟動(dòng)hdfs和yarn。

使用hadoop-deamon.sh和yarn-deamon.sh分別別啟動(dòng)hdfs和yarn的單個(gè)進(jìn)程。

(7) 安裝fuster

安裝命令如下:

yum install psmisc

(8) 網(wǎng)頁(yè)訪問(wèn)

hdfs網(wǎng)頁(yè)訪問(wèn)50070端口,yarn網(wǎng)頁(yè)訪問(wèn)8088。這兩個(gè)端口可以在配置文件中修改。
正常啟動(dòng)則可以訪問(wèn)到以下頁(yè)面。

在這里插入圖片描述

在這里插入圖片描述

以上就是Hadoop源碼分析二安裝配置過(guò)程的詳細(xì)內(nèi)容,本系列下一篇文章傳送門Hadoop源碼分析三啟動(dòng)及腳本剖析更多Hadoop源碼分析的資料請(qǐng)持續(xù)關(guān)注腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)獲取銀行卡所屬銀行,驗(yàn)證銀行卡號(hào)是否正確的方法詳解

    Java實(shí)現(xiàn)獲取銀行卡所屬銀行,驗(yàn)證銀行卡號(hào)是否正確的方法詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)獲取銀行卡所屬銀行,驗(yàn)證銀行卡號(hào)是否正確的方法,結(jié)合實(shí)例形式詳細(xì)分析了java判斷銀行卡歸屬地及有效性的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-09-09
  • Java讀取.properties配置文件的幾種方式

    Java讀取.properties配置文件的幾種方式

    這篇文章主要介紹了Java讀取.properties配置文件的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Intellij IDEA使用restclient測(cè)試的教程圖解

    Intellij IDEA使用restclient測(cè)試的教程圖解

    這篇文章主要介紹了Intellij IDEA使用restclient測(cè)試的教程圖解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • java連接HBase,連接不上報(bào)錯(cuò)can not resolve問(wèn)題及解決

    java連接HBase,連接不上報(bào)錯(cuò)can not resolve問(wèn)題及解決

    這篇文章主要介紹了java連接HBase,連接不上報(bào)錯(cuò)can not resolve問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java基于循環(huán)遞歸回溯實(shí)現(xiàn)八皇后問(wèn)題算法示例

    Java基于循環(huán)遞歸回溯實(shí)現(xiàn)八皇后問(wèn)題算法示例

    這篇文章主要介紹了Java基于循環(huán)遞歸回溯實(shí)現(xiàn)八皇后問(wèn)題算法,結(jié)合具體實(shí)例形式分析了java的遍歷、遞歸、回溯等算法實(shí)現(xiàn)八皇后問(wèn)題的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • 全面解讀Java?NIO(看這篇就夠了)

    全面解讀Java?NIO(看這篇就夠了)

    Java?NIO是Java1.4之后推出來(lái)的一套IO接口,NIO提供了一種完全不同的操作方式,?NIO支持面向緩沖區(qū)的、基于通道的IO操作,這篇文章主要介紹了Java?NIO詳解(看這篇就夠了),需要的朋友可以參考下
    2023-05-05
  • Java數(shù)據(jù)結(jié)構(gòu)與算法之二分查找詳解

    Java數(shù)據(jù)結(jié)構(gòu)與算法之二分查找詳解

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)與算法之二分查找詳解,二分查找算法是一種在有序數(shù)組中查找某一特定元素的搜索算法,其思想就是不斷地將有序查找表“一分為二”,逐漸縮小搜索區(qū)域,進(jìn)而找到目標(biāo)元素,需要的朋友可以參考下
    2023-12-12
  • 利用反射獲取Java類中的靜態(tài)變量名及變量值的簡(jiǎn)單實(shí)例

    利用反射獲取Java類中的靜態(tài)變量名及變量值的簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)?lái)一篇利用反射獲取Java類中的靜態(tài)變量名及變量值的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Java文件分級(jí)目錄打包下載zip的實(shí)例代碼

    Java文件分級(jí)目錄打包下載zip的實(shí)例代碼

    這篇文章主要介紹了Java文件分級(jí)目錄打包下載zip的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • JDK常用命令jps jinfo jstat的具體說(shuō)明與示例

    JDK常用命令jps jinfo jstat的具體說(shuō)明與示例

    JDK本身提供了很多方便的JVM性能調(diào)優(yōu)監(jiān)控工具,除了集成式的VisualVM和jConsole外,還有jps、jinfo、jstat等小巧的工具,本文章希望能起拋磚引玉之用,讓大家能開(kāi)始對(duì)JVM性能調(diào)優(yōu)的常用工具有所了解
    2021-09-09

最新評(píng)論