激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Hadoop源碼分析二安裝配置過程詳解

Hadoop源碼分析二安裝配置過程詳解

2021-12-15 12:49huserblog Java教程

本篇是Hadoop源碼分析系列文章第二篇,主要介紹Hadoop安裝配置的詳細過程,后續本系列文章會持續更新,有需要的朋友可以借鑒參考下

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

1、 創建用戶

命令:

?
1
2
useradd -m bigdata
passwd bigdata

2、 安裝jdk

解壓:

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

修改環境變量

?
1
2
3
4
5
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

?
1
2
3
10.211.55.12    hadoop01  # NameNode Active
10.211.55.13    hadoop01  # NameNode Standby
10.211.55.14    hadoop01  # DataNode1

4、 配置ssh免密登錄

在每一臺需要配置的機器上執行以下命令:

?
1
ssh-keygen –t rsa

執行完成后默認會在其根目錄下創建一個.ssh目錄,在這個目錄中有id_rsa和id_rsa.pub兩個文件。然后將所有機器的id_rsa.pub文件的內容都合并到一個新的文件中,文件命名為authorized_keys,然后將該文件分發到各臺機器上。

最后,使用ssh登錄其他機器測試是否完成免密。

5、 安裝zookeeper

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

解壓:

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

修改配置文件

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

修改內容如下:

?
1
2
3
4
5
6
7
#zookeeper的文件路徑
dataDir=/root/zookeeper/data
 
#zookeeper集群節點信息
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888

#server.A=B:C:D 其中A是一個數字,代表這是第幾號服務器;B是服務器的IP地址;C表示服務器與群集中的“領導者”交換信息的端口;當領導者失效后,D表示用來執行選舉時服務器相互通信的端口。

然后在上述設置的文件目錄中新建一個文件,文件名為myid,文件內容為一個數字。例如上述配置的hadoop01對應的是server.1,它的myid的文件內容就是1。

配置環境變量

修改/etc/profile文件

?
1
2
export ZOOKEEPER_HOME=/root/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

啟動

啟動命令如下

?
1
2
3
4
#啟動
zkServer.sh start
#查詢狀態
zkServer.sh status

6、 安裝hadoop

對于三臺節點的配置安排如下:

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

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

解壓:

?
1
tar -zxvf hadoop-2.7.6.tar.gz

修改配置文件:

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

修改core-site.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<configuration>
<!-- 配置hdfs的名稱,其中value標簽中的nns1為自定義的,與后文hdfs-site.xml中的屬性對應即可-->
 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://nns1</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
    <!-- 其他臨時文件的存儲的目錄-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/HadoopData/HDFSData</value>
    </property>
<!-- 下面兩項與權限相關,在配置hiveserver2的時候如果沒配置這兩項會出問題。name標簽中的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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<configuration>
<!-- 配置hdfs服務,需要與上文中的fs.defaultFS對應-->
 <property>
        <name>dfs.nameservices</name>
        <value>nns1</value>
    </property>
<!-- 配置hdfs的namenode,使用“,”分隔,value標簽中的內容需要自定義-->
    <property>
        <name>dfs.ha.namenodes.nns1</name>
        <value>nn1,nn2</value>
    </property
<!-- 配置兩臺namenode,name標簽最后的內容需要與上文對應-->     
    <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>
<!-- 客戶端連接可用狀態的NameNode所用的代理類 -->
    <property>
        <name>dfs.client.failover.proxy.provider.nns1</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>   
    <!-- 一旦需要NameNode切換,使用ssh方式進行操作,配置了這個需要服務器能使用fuster,有的服務器可能需要安裝 -->
    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>sshfence</value>
    </property>   
    <!-- 如果使用ssh進行故障切換,使用ssh通信時用的密鑰存儲的位置 -->
    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/root/.ssh/id_rsa</value>
    </property>
        <!-- 指定journalnode的存儲路徑 -->
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/data/HadoopData/HDFSData/journal</value>
    </property>   
    <!-- 是否啟動自動故障轉移 -->
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>   
    <!-- 指定namenode數據存儲路徑 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/HadoopData/HDFSData/name</value>
    </property>   
    <!-- 指定datanode數據存儲路徑 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/HadoopData/HDFSData/data</value>
    </property>   
<!-- 設置文件副本數 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
<!-- 是否啟動hdfs網頁界面 -->
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>

配置mapred-site.xml

?
1
2
3
4
5
6
7
<configuration>
<!-- 采用yarn作為mapreduce的資源調度框架 -->
 <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

配置yarn-site.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<configuration>
 <!-- 啟用HA高可用性 -->
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>   
   <!-- 使用了2個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節點  -->
    <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,注意:一般都喜歡把配置好的文件遠程復制到其它機器上,但這個在YARN的另一個機器上一定要修改 -->
    <property>
        <name>yarn.resourcemanager.ha.id</name>
        <value>rm1</value>
    </property>
    <!--開啟自動恢復功能 -->
    <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

?
1
2
3
hadoop01
hadoop02
hadoop03

slaves中配置的服務器ip,沒改hosts文件則直接寫ip地址便可。該文件配置的服務器在啟動的時候會啟動datanode和nodemanager兩個進程。

7、 初始化

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

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

(1) 啟動zookeeper

初始化之前需要保證zookeeper能正常提供服務,啟動命令之前有提到

(2) 啟動journalnode

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

啟動命令如下:

?
1
./hadoop-daemon.sh start journalnode

(3) 格式化zk

命令如下

?
1
hdfs zkfc -formatZK

(4) 格式化hdfs

命令如下

?
1
hadoop namenode -format

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

(5) 同步元數據

在另一臺配置了namenode的服務器上執行以下命令:

?
1
hdfs namenode -bootstrapStanby

上述命令如果執行失敗,還有一個簡單的方法可以同步元數據。可以直接將步驟4中在第一臺生成的文件復制到第二臺服務器。

(6) 啟動hadoop

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

使用hadoop-deamon.sh和yarn-deamon.sh分別別啟動hdfs和yarn的單個進程。

(7) 安裝fuster

安裝命令如下:

?
1
yum install psmisc

(8) 網頁訪問

hdfs網頁訪問50070端口,yarn網頁訪問8088。這兩個端口可以在配置文件中修改。
正常啟動則可以訪問到以下頁面。

Hadoop源碼分析二安裝配置過程詳解

Hadoop源碼分析二安裝配置過程詳解

以上就是Hadoop源碼分析二安裝配置過程的詳細內容,本系列下一篇文章傳送門Hadoop源碼分析三啟動及腳本剖析更多Hadoop源碼分析的資料請持續關注服務器之家!

原文鏈接:https://blog.csdn.net/qq_39210987/article/details/113921917

延伸 · 閱讀

精彩推薦
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 日日摸夜夜添夜夜添牛牛 | 最新中文字幕日本 | 欧美成人精品一区二区三区 | 高清国产午夜精品久久久久久 | 色999中文字幕| 免费一级毛片电影 | 国产毛片网站 | 国产高潮失禁喷水爽到抽搐视频 | 国产亚洲黑人性受xxxx精品 | h视频免费在线 | 日本高清视频网站www | 久久91精品久久久久清纯 | 亚洲日韩精品欧美一区二区 | 天天草夜夜爽 | 久久青草热| av在线高清观看 | 免费一级毛片在线播放不收费 | 毛片视频网址 | 国产精品久久久久久久av | 亚洲视频在线网 | 欧美老外a级毛片 | 久久久精品福利 | 成人午夜在线免费观看 | 中午字幕无线码一区2020 | 中文字幕在线免费看 | 亚洲嫩草av | 欧美成a人片在线观看久 | 国产91一区| chinese 军人 gay xx 呻吟 | 午夜视频色 | 99亚洲国产精品 | 91成人免费 | 欧美激情区 | 久久久久久久久久久高潮一区二区 | 黄色毛片免费看 | 斗破苍穹在线观看免费完整观看 | 欧美精品一区二区久久久 | 免费观看9x视频网站在线观看 | 草草久久久 | 久久精品视频1 | 欧美特一级片 |