我已经在 3 台具有完全分布式模式的机器上配置了 hadoop1.0.3。在下面的第一台机器上,作业正在运行:
1)
4316 SecondaryNameNode
4006 NameNode
4159 DataNode
4619 TaskTracker
4425 JobTracker
2)
2794 TaskTracker
2672 DataNode
3)
3338 DataNode
3447 TaskTracker
现在,当我在其上运行简单的 map reduce 作业时,执行 map reducejob 需要更长的时间。所以我在 Hadoop 上安装了 HBASE 层。现在我在 3 个集群上具有以下 HBASE 进程。
1) 5115 HQuorumPeer 5198 HMaster 5408 HRegionServer
2) 3719 HRegionServer 3617 HQuorumPeer
3) 2937 HQuorumPeer 2719 HRegionServer
当我在 HBASE 上为 1,00,000 个数据运行 map-reduce 作业时,它需要 1 分钟,而对于 1,00,00,000 个数据也是如此。现在我希望在几毫秒内得到结果。我应该采取哪些措施来改进?
我是新手,所以请帮助我或建议在 HBASE 或 hadoop 上进行一些分层,以便我可以在几毫秒内得到结果。
我总结以下记录:
hbase(main):007:0> describe 'weblog'
DESCRIPTION ENABLED
'weblog', {NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => true
'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE'
, MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS =>
'false', BLOCKSIZE => '65536', IN_MEMORY => 'false',
ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}
在 weblog 表中 -> info:category,info:hits 是列。
info:category info:hits
web 2
mail 10
ftp 1
web 3
mail 11
ftp 2
数据将在 map reduce 中汇总并存储在另一个表中。
hbase(main):004:0> put 'weblog', 'row1', 'info:category', 'web'
0 row(s) in 0.0560
hbase(main):004:0> put 'weblog', 'row1', 'info:hits', '2'
0 row(s) in 0.0560
请对此提供帮助。因为我用谷歌搜索了很多,但找不到任何对我有帮助的东西。