1. 程式人生 > >Hadoop-2.7.2分散式安裝手冊

Hadoop-2.7.2分散式安裝手冊

目錄

目錄 1

1. 前言 3

3. 部署 5

4. 約定 7

1. 前言

當前版本的Hadoop已解決了hdfsyarnhbase等單點,並支援自動的主備切換。

本文的目的是為當前最新版本的Hadoop 2.7.2提供最為詳細的安裝說明,以幫助減少安裝過程中遇到的困難,並對一些錯誤原因進行說明,

hdfs配置使用基於QJMQuorum Journal Manager)的HA。本文的安裝只涉及了hadoop-commonhadoop-hdfshadoop-mapreducehadoop-yarn,並不包含HBaseHivePig等。

2. 特性介紹

版本

發版本日期

新特性

2.7.2

2016/1/25

2.7.1

2015/7/6

2.7.0

2015/4/21

1) 不再支援JDK6,須JDK 7+

2) 支援檔案擷取truncate

3) 支援為每種儲存型別設定配額

4) 支援檔案變長塊(之前一直為固定塊大小,預設為64M

5) 支援Windows Azure Storage

6) YARN認證可插拔

7) 自動共享,全域性快取YARN本地化資源(測試階段)

8) 限制一個作業執行的Map/Reduce任務

9) 加快大量輸出檔案時大型作業的FileOutputCommitter速度

2.6.4

2016/2/11

2.6.3

2015/12/17

2.6.2

2015/10/28

2.6.1

2015/9/23

2.6.0

2014/11/18

1) YARN支援長時間執行的服務

2) YARN支援升級回滾

3) YARN支援應用執行在Docker容器中

2.5.2

2014/11/19

2.5.1

2014/9/12

2.5.0

2014/8/11

2.4.1

2014/6/30

2.4.0

2014/4/7

1) HDFS升級回滾

2) HDFS支援完整的https

3) YARN ResourceManager支援自動故障切換

2.2.0

2013/10/15

1) HDFS Federation

2) HDFS Snapshots

2.1.0-beta

2013/8/25

1) HDFS快照

2) 支援Windows

2.0.3-alpha

2013/2/14

1) 基於QJM的NameNode HA

2.0.0-alpha

2012/5/23

1) 人工切換的NameNode HA

2) HDFS Federation

1.0.0

2011/12/27

0.23.11

2014/6/27

0.23.10

2013/12/11

0.22.0

2011/12/10

0.23.0

2011/11/17

0.20.205.0

2011/10/17

0.20.204.0

2011/9/5

0.20.203.0

2011/5/11

0.21.0

2010/8/23

0.20.2

2010/2/26

0.20.1

2009/9/14

0.19.2

2009/7/23

0.20.0

2009/4/22

0.19.1

2009/2/24

0.18.3

2009/1/29

0.19.0

2008/11/21

0.18.2

2008/11/3

0.18.1

2008/9/17

0.18.0

2008/8/22

0.17.2

2008/8/19

0.17.1

2008/6/23

0.17.0

2008/5/20

0.16.4 

2008/5/5

0.16.3

2008/4/16

0.16.2

2008/4/2

0.16.1

2008/3/13

0.16.0

2008/2/7

0.15.3

2008/1/18

0.15.2

2008/1/2

0.15.1

2007/11/27

0.14.4

2007/11/26

0.15.0

2007/10/29

0.14.3

2007/10/19

0.14.1

2007/9/4

3. 部署

3.1. 機器列表

5臺機器(zookeeper部署在這5臺機器上),部署如下表所示:

NameNode

JournalNode

DataNode

ZooKeeper

10.148.137.143

10.148.137.204

10.148.137.143

10.148.137.204

10.148.138.11

10.148.138.11

10.148.140.14

10.148.140.15

10.148.137.143

10.148.137.204

10.148.138.11

10.148.140.14

10.148.140.15

3.2. 主機名

機器IP

對應的主機名

10.148.137.143

hadoop-137-143

10.148.137.204

hadoop-137-204

10.148.138.11

hadoop-138-11

10.148.140.14

hadoop-140-14

10.148.140.15

hadoop-140-15

注意主機名不能有下劃線,否則啟動時,SecondaryNameNode節點會報如下所示的錯誤(取自hadoop-hadoop-secondarynamenode-VM_39_166_sles10_64.out檔案):

Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /data/hadoop/hadoop-2.7.2/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.

It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.

Exception in thread "main" java.lang.IllegalArgumentException: The value of property bind.address must not be null

        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:88)

        at org.apache.hadoop.conf.Configuration.set(Configuration.java:971)

        at org.apache.hadoop.conf.Configuration.set(Configuration.java:953)

        at org.apache.hadoop.http.HttpServer2.initializeWebServer(HttpServer2.java:391)

        at org.apache.hadoop.http.HttpServer2.<init>(HttpServer2.java:344)

        at org.apache.hadoop.http.HttpServer2.<init>(HttpServer2.java:104)

        at org.apache.hadoop.http.HttpServer2$Builder.build(HttpServer2.java:292)

        at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:264)

        at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:192)

        at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:651)

3.2.1. 臨時修改主機名

命令hostname不但可以檢視主機名,還可以用它來修改主機名,格式為:hostname 新主機名。

在修改之前172.25.40.171對應的主機名為VM-40-171-sles10-64,而172.25.39.166對應的主機名為VM_39_166_sles10_64。兩者的主機名均帶有下劃線,因此需要修改。為求簡單,僅將原下劃線改成橫線

hostname VM-40-171-sles10-64

hostname VM-39-166-sles10-64

經過上述修改後,還不夠,類似於修改環境變數,還需要通過修改系統配置檔案做永久修改。

3.2.2. 永久修改主機名

不同的Linux發行版本,對應的系統配置檔案可能不同,SuSE 10.1/etc/HOSTNAME:

# cat /etc/HOSTNAME 

VM_39_166_sles10_64

將檔案中的“VM_39_166_sles10_64”,改成“VM-39-166-sles10-64”。有些Linux發行版本對應的可能是/etc/hostname檔案,有些可能是/etc/sysconfig/network檔案。

不但所在檔案不同,修改的方法可能也不一樣,比如有些是名字對形式,如/etc/sysconfig/network格式為:HOSTNAME=主機名。

修改之後,需要重啟網絡卡,以使修改生效,執行命令:/etc/rc.d/boot.localnet start(不同系統命令會有差異,這是SuSE上的方法),再次使用hostname檢視,會發現主機名變了。

直接重啟系統,也可以使修改生效。

注意修改主機名後,需要重新驗證ssh免密碼登入,方法為:ssh 使用者名稱@新的主機名。

可以通過以下多處檢視機器名:

1) hostname命令(也可以用來修改主機名,但當次僅當次會話有效)

2) cat /proc/sys/kernel/hostname

3) cat /etc/hostnamecat /etc/sysconfig/network(永久性的修改,需要重啟)

4) sysctl kernel.hostname(也可以用來修改主機名,但僅重啟之前有效)

3.3. 免密碼登入範圍

要求能通過免登入包括使用IP和主機名都能免密碼登入:

1) NameNode能免密碼登入所有的DataNode

2) 各NameNode能免密碼登入自己

3) 各NameNode間能免密碼互登入

4) DataNode能免密碼登入自己

5) DataNode不需要配置免密碼登入NameNode和其它DataNode

注:免密碼登入不是必須的,如果不使用hadoop-daemons.sh等需要sshscp的指令碼。

4. 約定

4.1. 安裝目錄約定

為便於講解,本文約定HadoopJDK安裝目錄如下:

安裝目錄

版本

說明

JDK

/data/jdk

1.7.0

ln -s /data/jdk1.7.0_55 /data/jdk

Hadoop

/data/hadoop/hadoop

2.7.2

ln -s /data/hadoop/hadoop-2.7.2 /data/hadoop/hadoop

在實際安裝部署時,可以根據實際進行修改。

4.2. 
服務埠約定

作用

9000

fs.defaultFS,如:hdfs://172.25.40.171:9000

9001

dfs.namenode.rpc-addressDataNode會連線這個埠

50070

dfs.namenode.http-address

50470

dfs.namenode.https-address

50100

dfs.namenode.backup.address

50105

dfs.namenode.backup.http-address

50090

dfs.namenode.secondary.http-address,如:172.25.39.166:50090

50091

dfs.namenode.secondary.https-address,如:172.25.39.166:50091

50020

dfs.datanode.ipc.address

50075

dfs.datanode.http.address

50475

dfs.datanode.https.address

50010

dfs.datanode.address,DataNode的資料傳輸埠

8480

dfs.journalnode.rpc-address

8481

dfs.journalnode.https-address

8032

yarn.resourcemanager.address

8088

yarn.resourcemanager.webapp.addressYARNhttp

8090

yarn.resourcemanager.webapp.https.address

8030

yarn.resourcemanager.scheduler.address

8031

yarn.resourcemanager.resource-tracker.address

8033

yarn.resourcemanager.admin.address

8042

yarn.nodemanager.webapp.address

8040

yarn.nodemanager.localizer.address

8188

yarn.timeline-service.webapp.address

10020

mapreduce.jobhistory.address

19888

mapreduce.jobhistory.webapp.address

2888

ZooKeeper,如果是Leader,用來監聽Follower的連線

3888

ZooKeeper,用於Leader選舉

2181

ZooKeeper,用來監聽客戶端的連線

16010

hbase.master.info.portHMaster的http

16000

hbase.master.portHMaster的RPC

60030

hbase.regionserver.info.portHRegionServer的http

60020

hbase.regionserver.portHRegionServer的RPC

8080

hbase.rest.portHBase REST server的埠

10000

hive.server2.thrift.port

9083

hive.metastore.uris

4.3. 各模組RPCHTTP

模組

RPC

HTTP

HTTPS

HDFS JournalNode

8485

8480

8481

HDFS NameNode

8020

50070

HDFS DataNode

50020

50075

HDFS SecondaryNameNode

50090

50091

Yarn Resource Manager

8032

8088

8090

Yarn Node Manager

8040

8042

Yarn SharedCache

8788

HMaster

16010

HRegionServer

16030

HBase thrift

9090

9095

HBase rest

8085

注:DataNode通過埠50010傳輸資料。

5. 工作詳單

為執行HadoopHDFSYARNMapReduce)需要完成的工作詳單:

JDK安裝

HadoopJava語言開發的,所以需要。

免密碼登入

NameNode控制SecondaryNameNodeDataNode使用了sshscp命令,需要無密碼執行。

這裡指的是HDFSYARNMapReduce,不包含HBaseHive等的安裝。

6. JDK安裝

本文安裝的JDK 1.7.0版本。

6.1. 下載安裝包

JDK最新二進位制安裝包下載網址:

JDK1.7二進位制安裝包下載網址:

本文下載的是64Linux版本的JDK1.7jdk-7u55-linux-x64.gz。請不要安裝JDK1.8版本,JDK1.8Hadoop 2.7.2不匹配,編譯Hadoop 2.7.2原始碼時會報很多錯誤。

6.2. 安裝步驟

JDK的安裝非常簡單,將jdk-7u55-linux-x64.gz上傳到Linux,然後解壓,接著配置好環境變數即可(本文jdk-7u55-linux-x64.gz被上傳在/data目錄下):

1) 進入/data目錄

2) 解壓安裝包:tar xzf jdk-7u55-linux-x64.gz,解壓後會在生成目錄/data/jdk1.7.0_55

3) 建立軟體連結:ln -s /data/jdk1.7.0_55 /data/jdk

4) 修改/etc/profile或使用者目錄下的profile,或同等檔案,配置如下所示環境變數:

export JAVA_HOME=/data/jdk

export CLASSPATH=$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

完成這項操作之後,需要重新登入,或source一下profile檔案,以便環境變數生效,當然也可以手工執行一下,以即時生效。如果還不放心,可以執行下javajavac,看看命令是否可執行。如果在安裝JDK之前,已經可執行了,則表示不用安裝JDK

以下針對的是ssh2,而不是ssh,也不包括OpenSSH。配置分兩部分:一是對登入機的配置,二是對被登入機的配置,其中登入機為客戶端,被登入機為服務端,也就是解決客戶端到服務端的無密碼登入問題。下述涉及到的命令,可以直接拷貝到Linux終端上執行,已全部驗證通過,操作環境為SuSE 10.1

第一步,修改所有被登入機上的sshd配置檔案/etc/ssh2/sshd2_config:

1) (如果不以root使用者執行hadoop,則跳過這一步)將PermitRootLogin值設定為yes,也就是取掉前面的註釋號#

2) 將AllowedAuthentications值設定為publickey,password,也就是取掉前面的註釋號#

3) 重啟sshd服務:service ssh2 restart

第二步,在所有登入機上,執行以下步驟:

1) 進入到.ssh2目錄:cd ~/.ssh2

2) ssh-keygen2 -t dsa -P''

-P表示密碼,-P''就表示空密碼,也可以不用-P引數,但這樣就要敲三次回車鍵,用-P''就一次回車。

成功之後,會在使用者的主目錄下生成私鑰檔案id_dsa_2048_a,和公鑰檔案id_dsa_2048_a.pub。

3) 生成identification檔案:echo "IdKey id_dsa_2048_a" >> identification,請注意IdKey後面有一個空格,確保identification檔案內容如下:

# cat identification

IdKey id_dsa_2048_a

4) 將檔案id_dsa_2048_a.pub,上傳到所有被登入機的~/.ssh2目錄:scp id_dsa_2048_a.pub [email protected]:/root/.ssh2,這裡假設192.168.0.1為其中一個被登入機的IP。在執行scp之前,請確保192.168.0.1上有/root/.ssh2這個目錄,而/root/需要修改為root使用者的實際HOME目錄,通常環境變數$HOME為使用者主目錄,~也表示使用者主目錄,不帶任何引數的cd命令也會直接切換到使用者主目錄。

第三步,在所有被登入機上,執行以下步驟:

1) 進入到.ssh2目錄:cd ~/.ssh2

2) 生成authorization檔案:echo "Key id_dsa_2048_a.pub" >> authorization,請注意Key後面有一個空格,確保authorization檔案內容如下:

# cat authorization

Key id_dsa_2048_a.pub

完成上述工作之後,從登入機到被登入機的ssh登入就不需要密碼了。如果沒有配置好免密碼登入,在啟動時會遇到如下錯誤:

Starting namenodes on [172.25.40.171]

172.25.40.171: Host key not found from database.

172.25.40.171: Key fingerprint:

172.25.40.171: xofiz-zilip-tokar-rupyb-tufer-tahyc-sibah-kyvuf-palik-hazyt-duxux

172.25.40.171: You can get a public key's fingerprint by running

172.25.40.171: % ssh-keygen -F publickey.pub

172.25.40.171: on the keyfile.

172.25.40.171: warning: tcgetattr failed in ssh_rl_set_tty_modes_for_fd: fd 1: Invalid argument

或下列這樣的錯誤:

Starting namenodes on [172.25.40.171]

172.25.40.171: hadoop's password: 

建議生成的私鑰和公鑰檔名都帶上自己的IP,否則會有些混亂。

按照中免密碼登入範圍的說明,配置好所有的免密碼登入。更多關於免密碼登入說明,請瀏覽技術部落格:

本部分僅包括HDFSMapReduceYarn的安裝,不包括HBaseHive等的安裝。

8.1. 下載安裝包

官方的安裝說明請瀏覽Cluster Setup

8.2. 安裝和環境變數配置

1) 將Hadoop安裝包hadoop-2.7.2.tar.gz上傳到/data/hadoop目錄下

2) 進入/data/hadoop目錄

3) 在/data/hadoop目錄下,解壓安裝包hadoop-2.7.2.tar.gztar xzf hadoop-2.7.2.tar.gz

4) 建立軟體連結:ln -s /data/hadoop/hadoop-2.7.2 /data/hadoop/hadoop

5) 修改使用者主目錄下的檔案.profile(當然也可以是/etc/profile或其它同等效果的檔案),設定Hadoop環境變數:

export JAVA_HOME=/data/jdk

export HADOOP_HOME=/data/hadoop/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export PATH=$HADOOP_HOME/bin:$PATH

需要重新登入以生效,或者在終端上執行:export HADOOP_HOME=/data/hadoop/hadoop也可以即時生效。

8.3. 修改hadoop-env.sh

修改所有節點上的$HADOOP_HOME/etc/hadoop/hadoop-env.sh檔案,在靠近檔案頭部分加入:export JAVA_HOME=/data/jdk

特別說明一下:雖然在/etc/profile已經添加了JAVA_HOME,但仍然得修改所有節點上的hadoop-env.sh,否則啟動時,報如下所示的錯誤:

10.12.154.79: Error: JAVA_HOME is not set and could not be found.

10.12.154.77: Error: JAVA_HOME is not set and could not be found.

10.12.154.78: Error: JAVA_HOME is not set and could not be found.

10.12.154.78: Error: JAVA_HOME is not set and could not be found.

10.12.154.77: Error: JAVA_HOME is not set and could not be found.

10.12.154.79: Error: JAVA_HOME is not set and could not be found.

JAVA_HOME之外,再新增:

export HADOOP_HOME=/data/hadoop/hadoop

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

同時,建議將下列新增到/etc/profile或~/.profile中:

export JAVA_HOME=/data/jdk

export HADOOP_HOME=/data/hadoop/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

8.4. 修改/etc/hosts

為省去不必要的麻煩,建議在所有節點的/etc/hosts檔案,都做如下所配置:

10.148.137.143 hadoop-137-143 # NameNode

10.148.137.204 hadoop-137-204 # NameNode

10.148.138.11  hadoop-138-11  # DataNode

10.148.140.14  hadoop-140-14  # DataNode

10.148.140.15  hadoop-140-15  # DataNode

注意不要為一個IP配置多個不同主機名,否則HTTP頁面可能無法正常運作。

主機名,如VM-39-166-sles10-64,可通過hostname命令取得。由於都配置了主機名,在啟動HDFS或其它之前,需要確保針對主機名進行過ssh,否則啟動時,會遇到如下所示的錯誤:

VM-39-166-sles10-64: Host key not found from database.

VM-39-166-sles10-64: Key fingerprint:

VM-39-166-sles10-64: xofiz-zilip-tokar-rupyb-tufer-tahyc-sibah-kyvuf-palik-hazyt-duxux

VM-39-166-sles10-64: You can get a public key's fingerprint by running

VM-39-166-sles10-64: % ssh-keygen -F publickey.pub

VM-39-166-sles10-64: on the keyfile.

VM-39-166-sles10-64: warning: tcgetattr failed in ssh_rl_set_tty_modes_for_fd: fd 1: Invalid argument

上述錯誤表示沒有以主機名ssh過一次VM-39-166-sles10-64。按下列方法修復錯誤:

ssh [email protected]VM-39-166-sles10-64

Host key not found from database.

Key fingerprint:

xofiz-zilip-tokar-rupyb-tufer-tahyc-sibah-kyvuf-palik-hazyt-duxux

You can get a public key's fingerprint by running

% ssh-keygen -F publickey.pub

on the keyfile.

Are you sure you want to continue connecting (yes/no)? yes

Host key saved to /data/hadoop/.ssh2/hostkeys/key_36000_137vm_13739_137166_137sles10_13764.pub

host key for VM-39-166-sles10-64, accepted by hadoop Thu Apr 17 2014 12:44:32 +0800

Authentication successful.

Last login: Thu Apr 17 2014 09:24:54 +0800 from 10.32.73.69

Welcome to SuSE Linux 10 SP2 64Bit Nov 10,2010 by DIS

Version v2.6.20101110

No mail.

8.5. 修改slaves

slaves即為HDFSDataNode節點。當使用指令碼start-dfs.sh來啟動hdfs時,會使用到這個檔案,以無密碼登入方式到各slaves上啟動DataNode

修改主NameNode和備NameNode上的$HADOOP_HOME/etc/hadoop/slaves檔案,將slaves的節點IP(也可以是相應的主機名)一個個加進去,一行一個IP,如下所示:

> cat slaves 

10.148.138.11

10.148.140.14

10.148.140.15

8.6. 準備好各配置檔案

配置檔案放在$HADOOP_HOME/etc/hadoop目錄下,對於Hadoop 2.3.0Hadoop 2.7.2Hadoop 2.7.2版本,該目錄下的core-site.xmlyarn-site.xmlhdfs-site.xmlmapred-site.xml都是空的。如果不配置好就啟動,如執行start-dfs.sh,則會遇到各種錯誤。

可從$HADOOP_HOME/share/hadoop目錄下拷貝一份/etc/hadoop目錄,然後在此基礎上進行修改(以下內容可以直接拷貝執行,2.3.0版本中各default.xml檔案路徑不同於2.7.2版本)

進入$HADOOP_HOME目錄

cd $HADOOP_HOME

cp ./share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml ./etc/hadoop/core-site.xml

cp ./share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml ./etc/hadoop/hdfs-site.xml

cp ./share/doc/hadoop/hadoop-yarn/hadoop-yarn-common/yarn-default.xml ./etc/hadoop/yarn-site.xml

cp ./share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml ./etc/hadoop/mapred-site.xml

接下來,需要對預設的core-site.xmlyarn-site.xmlhdfs-site.xmlmapred-site.xml進行適當的修改,否則仍然無法啟動成功。

QJM的配置參照的官方文件:

8.7. 修改hdfs-site.xml

hdfs-site.xml檔案的修改,涉及下表中的屬性:

屬性名

屬性值

說明

dfs.nameservices

mycluster

dfs.ha.namenodes.mycluster

nn1,nn2

同一nameservice下,只能配置一或兩個,也就是不能有nn3

dfs.namenode.rpc-address.mycluster.nn1

hadoop-137-143:8020

dfs.namenode.rpc-address.mycluster.nn2

hadoop-137-204:8020

dfs.namenode.http-address.mycluster.nn1

hadoop-137-143:50070

dfs.namenode.http-address.mycluster.nn2

hadoop-137-204:50070

dfs.namenode.shared.edits.dir

qjournal://hadoop-137-143:8485;hadoop-137-204:8485;hadoop-138-11:8485/mycluster

至少三臺Quorum Journal節點配置

dfs.client.failover.proxy.provider.mycluster

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

客戶端通過它來找主NameNode

dfs.ha.fencing.methods

sshfence

如果配置為sshfence,當主NameNode異常時,使用ssh登入到主NameNode,然後使用fuser將主NameNode殺死,因此需要確保所有NameNode上可以使用fuser

用來保證同一時刻只有一個主NameNode,以防止腦裂。可帶使用者名稱和埠引數,格式示例:sshfence([[username][:port]]);值還可以為shell指令碼,格式示例:

shell(/path/to/my/script.sh arg1 arg2 ...),如:

shell(/bin/true)

如果sshd不是預設的22埠時,就需要指定。

dfs.ha.fencing.ssh.private-key-files

/data/hadoop/.ssh2/id_dsa_2048_a

指定私鑰,如果是OpenSSL,則值為/data/hadoop/.ssh/id_rsa

dfs.ha.fencing.ssh.connect-timeout

30000

可選的配置

dfs.journalnode.edits.dir

/data/hadoop/hadoop/journal

JournalNode儲存其本地狀態的位置,在JouralNode機器上的絕對路徑,JNsedits和其他本地狀態將被儲存在此處

dfs.datanode.data.dir

/data/hadoop/hadoop/data

dfs.namenode.name.dir

NameNode元資料存放目錄,預設值為file://${hadoop.tmp.dir}/dfs/name,也就是在臨時目錄下,可以考慮放到資料目錄下

dfs.namenode.checkpoint.dir

預設值為file://${hadoop.tmp.dir}/dfs/namesecondary,但如果沒有啟用SecondaryNameNode,則不需要

dfs.ha.automatic-failover.enabled

true

自動主備切換

dfs.datanode.max.xcievers

4096

可選修改,類似於linux的最大可開啟的檔案個數,預設為256,建議設定成大一點。同時,需要保證系統可開啟的檔案個數足夠(可通過ulimit命令檢視)。該錯誤會導致hbase報“notservingregionexception”。

dfs.journalnode.rpc-address

0.0.0.0:8485

配置JournalNodeRPC埠號,預設為0.0.0.0:8485,可以不用修改

詳細配置可參考:

8.8. 修改core-site.xml

core-site.