以下是我的集群环境结够:
服务器 |
主机名 |
角色 |
外网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'
手动初始化NameNode的HA元数据。
上图中的第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
命令格式:hadoop dfsadmin -report
例如:
[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 �Chelp 可以查看所有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 [命令选项] |
帮助 |
本文出自 “学海无涯” 博客,转载请与作者联系!