在 IBM CAMP 服务器上实现开源 Hadoop HDFS 的高可用性-3
 
- UID
- 1066743
|

在 IBM CAMP 服务器上实现开源 Hadoop HDFS 的高可用性-3
然后编辑core-site.xml 文件。
1
| [hadoop@plinux09 bigdata]$ vim /bigdata/hadoop/etc/hadoop/core-site.xml
|
<!-- "fs.defaultFS " 定义 HDFS 的名称为 mycluster,即命名空间。-->
1
2
3
4
| <property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
|
<!-- "fs.default.name" 指定 NameNode 的 IP 地址和端口号。-->
1
2
3
4
| <property>
<name>fs.default.name</name>
<value>hdfs://mycluster</value>
</property>
|
配置完 hdfs-site.xml 与 core-site.xml 文件后,启动 plinux09,plinux10,plinux11 上 journalnode。
1
2
3
4
5
| [hadoop@plinux09 bigdata]$ hadoop/sbin/hadoop-daemons.sh --hostnames 'plinux09 plinux10 plinux11'
start jouralnode
starting journalnode, logging to /bigdata/hadoop/logs/hadoop-hadoop-journalnode-plinux09.out
starting journalnode, logging to /bigdata/hadoop/logs/hadoop-hadoop-journalnode-plinux10.out
starting journalnode, logging to /bigdata/hadoop/logs/hadoop-hadoop-journalnode-plinux11.out
|
然后对 plinux09 的 NameNode 进行格式化.
1
2
3
4
5
6
7
| [hadoop@plinux09 ~]$ hadoop namenode –format
***
14/01/12 22:25:05 INFO util.ExitUtil: Exiting with status 0
14/01/12 22:25:05 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at plinux09/9.110.75.104
************************************************************/
|
在返回的结果中,显示 Exiting with status 0 表示格式化成功,否则表示格式化失败,如果失败,请查看 NameNode 的日志文件 hadoop/logs/hadoop-hadoop-namenode-plinux09.log
NameNode 格式化完成后,启动主节点 plinux09 的 NameNode
1
2
| [hadoop@plinux09 bigdata]$ hadoop-daemon.sh start namenode
starting namenode, logging to /bigdata/hadoop/logs/hadoop-hadoop-namenode-plinux09.out
|
然后对 standby 节点 plinux10 的 NameNode 上进行元数据同步。
1
| [hadoop@plinux10 ~]$ hdfs namenode -bootstrapStandby
|
接着启动 standby 节点 plinux10 上的 NameNode。
1
2
| [hadoop@plinux10 ~]$ hadoop-daemon.sh start namenode
starting namenode, logging to /bigdata/hadoop/logs/hadoop-hadoop-namenode-plinux10.out
|
最后分别在所有节点(plinux09, plinux10, plinux11, plinux12)上启动 DataNode。
1
2
3
| [hadoop@plinux09 bigdata]$ hadoop-daemon.sh start datanode
starting datanode, logging to /bigdata/hadoop/logs/hadoop-hadoop-datanode-plinux09.out
***
|
可以使用 hdfs haadmin 帮助命令来查看 HA 的状态或者配置 HA 的节点。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| [hadoop@plinux09 bigdata]$ hdfs haadmin
Usage: DFSHAAdmin [-ns <nameserviceId>]
[-transitionToActive <serviceId>]
[-transitionToStandby <serviceId>]
[-failover [--forcefence] [--forceactive] <serviceId> <serviceId>]
[-getServiceState <serviceId>]
[-checkHealth <serviceId>]
[-help <command>]
Generic options supported are
-conf <configuration file> specify an application configuration file
-D <property=value> use value for given property
-fs <local|namenode:port> specify a namenode
-jt <local|jobtracker:port> specify a job tracker
-files <comma separated list of files>specify comma separated files to be copied to the \
map reduce cluster
-libjars <comma separated list of jars> specify comma separated jar files to include
in the classpath.
-archives <comma separated list of archives>specify comma separated archives to
be unarchived on the compute machines.
The general command line syntax is
bin/hadoop command [genericOptions] [commandOptions]
|
激活 plinux09 节点上的 NameNode。
1
| [hadoop@plinux09 bigdata]$ hdfs haadmin -transitionToActive nn1
|
查看两个节点上 NamNode 的状态。
1
2
3
4
5
| [hadoop@plinux09 conf]$ hdfs haadmin -getServiceState nn1
Active
[hadoop@plinux09 conf]$ hdfs haadmin -getServiceState nn2
Standby
|
进行手动 NameNode 的切换测试。
1
2
3
4
5
6
7
8
| [hadoop@plinux09 bigdata]$ hdfs haadmin -failover nn1 nn2
Failover to NameNode at plinux10/9.110.75.105:8020 successful
[hadoop@plinux09 bigdata]$ hdfs haadmin -getServiceState nn1
Standby
[hadoop@plinux09 bigdata]$ hdfs haadmin -getServiceState nn2
active
|
下图为 Web 上查看 NameNode 的状态
图 5 .Web 上查看 plinux09 的 NameNode 状态 图 6 .Web 上查看 plinux10 的 NameNode 状态 通过上面的配置与测试,可以成功实现 PLinux 上 HDFS 的 NameNode 手动切换。 |
|
|
|
|
|