以下是我的集群环境结够:
服务器 | 主机名 | 角色 | 外网ip | 内网ip | 角色说明及用途 |
宿主A | long-1.yc.com | hadoop client | 192.168.200.61 | 172.23.1.10 | hadoop客户端 |
虚机A-1 | hda1.yc.com | namenode & resourcemanager JournalNode & jobhistory &zookeeper | 192.168.200.63 | 172.23.1.13 | Namenode名称服务器;jobhistory 服务器(用于记录mapreduce的日志) |
虚机A-2 | hda2.yc.com | datanode & nodemanager &zookeeper | 192.168.200.64 | 172.23.1.14 | datanode数据节点;zookeeper服务器集群(用于namenode 高可用的自动切换) |
虚机A-3 | hda3.yc.com | datanode & nodemanager &JournalNode | 192.168.200.65 | 172.23.1.15 | JournalNode用于存放共享的NameNode元数据 |
宿主B | long-2.yc.com | 192.168.200.62 | 172.23.1.11 | ||
虚机B-1 | hdb1.yc.com | namenode & resourcemanager &JournalNode | 192.168.200.66 | 172.23.1.16 | NameNode名称服务器(HA热备) |
虚机B-2 | hdb2.yc.com | datanode & nodemanager &zookeeper | 192.168.200.67 | 172.23.1.17 | Nodemanager节点管理 |
虚机B-3 | hdb3.yc.com | datanode &nodemanager | 192.168.200.68 | 172.23.1.18 |
在ambari的管理页面点击admin。选择第二项,开始配置namenode的高可用性。安照向导一步步操作。
由于配置了NameNode HA ,所以原来的Secondary NameNode 不需要了,要删除掉。
手动执行命令,在NameNode上进入安全模式并创建检查点。
如上图,2、3步骤中的命令如下:
2、 sudo su -l hdfs -c ‘hdfs dfsadmin-safemode enter‘
3、 sudo su -l hdfs -c ‘hdfs dfsadmin-saveNamespace‘
上图中的第2步的命令:
2、 sudo su -l hdfs -c ‘hdfs namenode-initializeSharedEdits‘
上图中的第2、4步命令如下:
2、 sudo su -l hdfs -c ‘hdfs zkfc -formatZK‘
4、 sudo su -l hdfs -c ‘hdfs namenode-bootstrapStandby‘
此时已经完成了两台NameNode的高可用HA部署,常态下为一台namenode(active)状态,另一台namenode为(standby)状态,当active的namenode出现故障,则两台namenode互换角色,原来standby状态的namenode升级为active状态继续提供服务。当那台出现故障的namenode恢复正常后自动进入standby的热备状态。
这里在ambari的管理界面,点击仪表盘页面上的HDFS链接里的更多选项,在下拉菜单中点击“NameNode UI”就可以打开处于archive状态HDFS的web页面,也可以直接在浏览器地址栏中输入active状态的namenode主机名冒号50070端口打开该页面。
例如:在浏览器中输入http://hdb1.yc.com:50070如下图中所示,当前hdb1.yc.com为active状态,处理来自客户端的读写请求并接受datanode的块报告信息。
点击“Browse the filesystem”可以查看hdfs文件系统里的目录结够和文件信息。如下图:
而此时另一台namenode 主机hda1.yc.com为standby状态,可以看到没有“Browse the filesystem”这个选项,正说明了standby状态是热备,不允许接受读写请求的操作。
查看map-reduce信息,可以通过web界面来访问:
可以在ambari的services页面点击MapReduce后,再点击“QuickLinks”里的“JobHistoryUI”来打开。
或者,直接在浏览器地址栏中输入jobhistory服务器的主机名加端口19888来打开mapreduce的管理页面。
例如:http://hda1.yc.com:19888/jobhistory
例如:
[root@hda1 ~]# hadoop dfsadmin -report
DEPRECATED:Use of this script to execute hdfs command is deprecated.
Instead usethe hdfs command for it.
ConfiguredCapacity: 133453283328 (124.29 GB)
PresentCapacity: 75287371776 (70.12 GB)
DFSRemaining: 73128534016 (68.11 GB)
DFS Used:2158837760 (2.01 GB)
DFS Used%:2.87%
Underreplicated blocks: 32
Blocks withcorrupt replicas: 0
Missingblocks: 0
-------------------------------------------------
Datanodesavailable: 4 (4 total, 0 dead)
Livedatanodes:
Name:192.168.200.67:50010 (hdb2.yc.com)
Hostname:hdb2.yc.com
DecommissionStatus : Normal
ConfiguredCapacity: 33363320832 (31.07 GB)
DFS Used:396181504 (377.83 MB)
Non DFSUsed: 15577358336 (14.51 GB)
DFSRemaining: 17389780992 (16.20 GB)
DFS Used%:1.19%
DFS Remaining%:52.12%
Lastcontact: Mon Mar 03 02:03:31 CST 2014
Name:192.168.200.65:50010 (hda3.yc.com)
Hostname:hda3.yc.com
DecommissionStatus : Normal
ConfiguredCapacity: 33363320832 (31.07 GB)
DFS Used:641036288 (611.34 MB)
Non DFSUsed: 13612421120 (12.68 GB)
DFSRemaining: 19109863424 (17.80 GB)
DFS Used%:1.92%
DFSRemaining%: 57.28%
Lastcontact: Mon Mar 03 02:03:31 CST 2014
Name:192.168.200.68:50010 (hdb3.yc.com)
Hostname:hdb3.yc.com
DecommissionStatus : Normal
ConfiguredCapacity: 33363320832 (31.07 GB)
DFS Used:624066560 (595.16 MB)
Non DFSUsed: 15839141888 (14.75 GB)
DFSRemaining: 16900112384 (15.74 GB)
DFS Used%:1.87%
DFSRemaining%: 50.65%
Lastcontact: Mon Mar 03 02:03:31 CST 2014
Name:192.168.200.64:50010 (hda2.yc.com)
Hostname:hda2.yc.com
DecommissionStatus : Normal
ConfiguredCapacity: 33363320832 (31.07 GB)
DFS Used:497553408 (474.50 MB)
Non DFSUsed: 13137006592 (12.23 GB)
DFSRemaining: 19728760832 (18.37 GB)
DFS Used%:1.49%
DFSRemaining%: 59.13%
Lastcontact: Mon Mar 03 02:03:31 CST 2014
命令格式:jps \\查看所有java进程。
例如:在名称节点服务器上会有NameNode进程,在数据节点服务器上会有DataNode进程。
[root@hda1 ~]# jps
25278 JournalNode
30805 Jps
27793 JobHistoryServer
27001 DFSZKFailoverController
8370 AmbariServer
26028 NameNode
[root@hdb2 ~]# jps
18513 DataNode
21774 Bootstrap
30852 Bootstrap
15618 HRegionServer
24671 QuorumPeerMain
21640 Jps
所有的hadoop命令均由bin/hadoop脚本引发。不指定参数运行hadoop脚本会打印所有命令的描述。
用法:hadoop[--configconfdir][COMMAND][GENERIC_OPTIONS][COMMAND_OPTIONS]
Hadoop有一个选项解析框架用于解析一般的选项和运行类。
命令选项描述
--configconfdir覆盖缺省配置目录。缺省是${HADOOP_HOME}/conf。
GENERIC_OPTIONS多个命令都支持的通用选项。
COMMAND
命令选项S各种各样的命令和它们的选项会在下面提到。这些命令被分为用户命令管理命令两组。
Hadoop命令常规选项
下面的选项被dfsadmin,fs,fsck和job支持。应用程序要实现Tool来支持常规选项。
GENERIC_OPTION描述
GENERIC_OPTION | 描述 |
-conf <configuration file> | 指定应用程序的配置文件。 |
-D <property=value> | 为指定property指定值value。 |
-fs <local|namenode:port> | 指定namenode。 |
-jt <local|jobtracker:port> | 指定job tracker。只适用于job。 |
-files <逗号分隔的文件列表> | 指定要拷贝到map reduce集群的文件的逗号分隔的列表。只适用于job。 |
-libjars <逗号分隔的jar列表> | 指定要包含到classpath中的jar文件的逗号分隔的列表。只适用于job。 |
-archives <逗号分隔的archive列表> | 指定要被解压到计算节点上的档案文件的逗号分割的列表。只适用于job。 |
说明:hadoop fs –help 可以查看所有fs的命令参数。
hdfs文件系统fs操作命令及参数 | 命令释义 |
-ls <路径> | 查看指定路径的当前目录结构 |
-lsr <路径> | 递归查看指定路径的目录结构 |
-du <路径> | 统计目录下个文件大小 |
-dus <路径> | 汇总统计目录下文件(夹)大小 |
-count [-q] <路径> | 统计文件(夹)数量 |
-mv <源路径> <目的路径> | 移动 |
-cp <源路径> <目的路径> | 复制 |
-rm [-skipTrash] <路径> | 删除文件/空白文件夹 |
-rmr [-skipTrash] <路径> | 递归删除 |
-put <多个linux 上的文件> <hdfs 路径> | 上传文件 |
-copyFromLocal <多个linux 上的文件> <hdfs 路径> | 从本地复制到hdfs |
-moveFromLocal <多个linux 上的文件> <hdfs 路径> | 从本地移动到hdfs |
-getmerge <源路径> <linux 路径> | 合并到本地 |
-cat <hdfs 路径> | 查看文件内容 |
-text <hdfs 路径> | 查看文件内容 |
-copyToLocal [-ignoreCrc] [-crc] [hdfs 源路径] [linux 目的路径] | 从hdfs复制到本地 |
-moveToLocal [-crc] <hdfs 源路径> <linux目的路径> | 从hdfs移动到本地 |
-mkdir <hdfs 路径> | 创建空白文件夹 |
-setrep [-R] [-w] <副本数> <路径> | 修改副本数量 |
-touchz <文件路径> | 创建空白文件 |
-stat [format] <路径> | 显示文件统计信息 |
-tail [-f] <文件> | 查看文件尾部信息 |
-chmod [-R] <权限模式> [路径] | 修改权限 |
-chown [-R] [属主][:[属组]] 路径 | 修改属主 |
-chgrp [-R] 属组名称 路径 | 修改属组 |
-help [命令选项] | 帮助 |
本文出自 “学海无涯” 博客,转载请与作者联系!
hadoop2.2完全分布式集群NameNode 的HA高可用性设置,布布扣,bubuko.com
hadoop2.2完全分布式集群NameNode 的HA高可用性设置
原文:http://51longge.blog.51cto.com/4685254/1369821