我正在云基础架构上设置 Hbase 集群。
HBase 版本:0.94.11
Hadoop 版本:1.0.4
目前我的集群中有 4 个节点(1 个主节点,3 个区域服务器),我正在使用 YCSB(雅虎基准测试)创建一个表(500.000 行)并发送 READ 请求(异步 READ 请求)。此设置一切正常(因为我正在使用 ganglia 监视孔过程,并且我得到了 lamda、吞吐量、延迟与 YCSB 的输出相结合),但是当我动态添加一个新的区域服务器时会出现问题它没有收到任何请求。
“on-the-fly”是什么意思:
当 YCSB 向集群发送请求时,我正在使用 python 脚本添加新的区域服务器。
添加过程(当集群服务请求时):
- 我正在创建一个新的虚拟机,它将充当新的区域服务器并配置每个需要的方面(hbase、hadoop、/etc/host、连接到专用网络等)
- 停止 **hbase** 平衡器
- 使用新节点的信息配置集群中的每个节点
- 将主机名添加到区域服务器文件
- 将主机名添加到 hadoop 的从文件
- 将主机名和 IP 添加到每个节点的 /etc/host 文件
- ETC
- 在主节点上执行:
- `hadoop/bin/start-dfs.sh`
- `hadoop/bin/start-mapred.sh`
- `hbase/bin/start-hbase.sh`
(我也尝试在新添加的节点上运行`hbase start regionserver`,并且与最后一个命令完全相同 - 启动 regionserver) - 一旦新添加的节点启动并运行,我将执行 **hadoop** 负载均衡器
- 当 hadoop 负载均衡器停止时,我将再次启动 **hbase** 负载均衡器
我通过 ssh 连接到主节点并检查负载均衡器(hbase/hadoop)是否完成了它们的工作,因为块和区域都均匀分布在所有区域服务器/从属服务器上,包括新的。
但是当我在 hbase shell 中运行 status 'simple' 时,我看到新的 regionservers 没有收到任何请求。(以下是添加 2 个新的 regionserver “okeanos-nodes-4/5”后的命令输出)
hbase(main):008:0> status 'simple'
5 live servers
okeanos-nodes-1:60020 1380865800330
requestsPerSecond=5379, numberOfOnlineRegions=4, usedHeapMB=175, maxHeapMB=3067
okeanos-nodes-2:60020 1380865800738
requestsPerSecond=5674, numberOfOnlineRegions=4, usedHeapMB=161, maxHeapMB=3067
okeanos-nodes-5:60020 1380867725605
requestsPerSecond=0, numberOfOnlineRegions=3, usedHeapMB=27, maxHeapMB=3067
okeanos-nodes-3:60020 1380865800162
requestsPerSecond=3871, numberOfOnlineRegions=5, usedHeapMB=162, maxHeapMB=3067
okeanos-nodes-4:60020 1380866702216
requestsPerSecond=0, numberOfOnlineRegions=3, usedHeapMB=29, maxHeapMB=3067
0 dead servers
Aggregate load: 14924, regions: 19
CPU 使用率也证明了它们不服务任何请求的事实,在服务区域服务器中约为 70%,而在这 2 个区域服务器中约为 2%。
下面是 的输出hadoop dfsadmin -report
,您可以看到块是均匀分布的(根据hadoop balancer -threshold 2
)。
root@okeanos-nodes-master:~# /opt/hadoop-1.0.4/bin/hadoop dfsadmin -report
Configured Capacity: 105701683200 (98.44 GB)
Present Capacity: 86440648704 (80.5 GB)
DFS Remaining: 84188446720 (78.41 GB)
DFS Used: 2252201984 (2.1 GB)
DFS Used%: 2.61%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
-------------------------------------------------
Datanodes available: 5 (5 total, 0 dead)
Name: 10.0.0.11:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 309166080 (294.84 MB)
Non DFS Used: 3851579392 (3.59 GB)
DFS Remaining: 16979591168(15.81 GB)
DFS Used%: 1.46%
DFS Remaining%: 80.32%
Last contact: Fri Oct 04 11:30:31 EEST 2013
Name: 10.0.0.3:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 531652608 (507.02 MB)
Non DFS Used: 3852300288 (3.59 GB)
DFS Remaining: 16756383744(15.61 GB)
DFS Used%: 2.51%
DFS Remaining%: 79.26%
Last contact: Fri Oct 04 11:30:32 EEST 2013
Name: 10.0.0.5:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 502910976 (479.61 MB)
Non DFS Used: 3853029376 (3.59 GB)
DFS Remaining: 16784396288(15.63 GB)
DFS Used%: 2.38%
DFS Remaining%: 79.4%
Last contact: Fri Oct 04 11:30:32 EEST 2013
Name: 10.0.0.4:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 421974016 (402.43 MB)
Non DFS Used: 3852365824 (3.59 GB)
DFS Remaining: 16865996800(15.71 GB)
DFS Used%: 2%
DFS Remaining%: 79.78%
Last contact: Fri Oct 04 11:30:29 EEST 2013
Name: 10.0.0.10:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 486498304 (463.96 MB)
Non DFS Used: 3851759616 (3.59 GB)
DFS Remaining: 16802078720(15.65 GB)
DFS Used%: 2.3%
DFS Remaining%: 79.48%
Last contact: Fri Oct 04 11:30:29 EEST 2013
我试过停止 YCSB,重新启动 hbase master 并重新启动 YCSB,但不乏......这两个节点不服务任何请求!
由于有许多日志和 conf 文件,我创建了一个 zip 文件,其中包含 master 的日志和 conf(hbase 和 hadoop)、一个健康的 regionserver 服务请求和一个 regionserver 不服务请求。 https://dl.dropboxusercontent.com/u/13480502/hbase_hadoop_logs__conf.zip
先感谢您!!