在与HadoopHDFS一起配置HBase集群时,为每个HDFS数据节点部署一个区域服务器是一个不错的选择,还是区域服务器和数据节点之间的比例不应为1:1? 最佳答案 您可以使用任何您想要的比例,但经验法则是1:1。RS拥有的区域越少越好,RS越多意味着每个服务器的区域越少,如果节点发生故障则重新分配的区域越少,这将缩短恢复时间(虽然自0.95以来取得了很大进展:http://hortonworks.com/blog/introduction-to-hbase-mean-time-to-recover-mttr/)
是否可以在我们的程序中通过Java代码在Storm向HBase写入一些数据的同时检查HBaseregionserver是up还是down.... 最佳答案 您可以在Java代码中使用ping:)更多信息请访问HowtopingviaJAVA 关于hadoop-如何检查Hbase区域服务器是否已启动或已关闭,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/30160879/
一个区域服务器可以服务多少个区域?基本上我得到了一个hadoop工作,它在hbase中进行批量加载,但查看hbasemasterUI,我可以看到整个数据流量正在转移到单个区域服务器。因为单个区域服务器正在重载,而其他服务器是理想的。我想跨区域服务器分布这些区域以保持集群平衡。我不太确定,但我假设应该有一些配置来定义每个区域服务器的区域数量。如果我在这里错了,请纠正我。目前我正在为我的hbase表使用默认的自动拆分策略。请告诉我如何确定这个或任何其他处理区域分布的方法?谢谢 最佳答案 我假设您创建了一个拆分表,然后它会根据您的数据大小
我的Hbase区域服务器正在监听127.0.0.1。如何让它在0.0.0.0上列出?我尝试更改hbase.regionserver.info.bindAddress的值,但这似乎不起作用。 最佳答案 为了在(伪)分布式模式下的外部接口(interface)上公开端口60020,HBase希望您的/etc/hosts以某种方式显示。如果您运行Ubuntu,您可能会在/etc/hosts中找到类似这样的内容:(我假设您的主机名是regionserver)127.0.0.1localhost127.0.1.1regionserver选择具
我们有这个HBase集群:30多个节点、48个表、40TB以上的HDFS级别、复制因子2。由于两个节点上的磁盘故障,我们在HDFS上有一个损坏的文件。当前HDFS状态hdfsfsck/输出的摘录,显示损坏的HBase区域文件:/user/hbase/table_foo_bar/295cff9c67379c1204a6ddd15808af0b/n/ae0fdf7d0fa24ad1914ca934d3493e56:CORRUPTblockpoolBP-323062689-192.168.12.45-1357244568924blockblk_9209554458788732793/user
我有2个Hbase表,我想将它们中的每一个强制到不同的区域服务器。有没有办法告诉HBase这样做? 最佳答案 您可以使用hbaseshell移动命令将区域移动到另一个区域服务器:hbase>move‘ENCODED_REGIONNAME’,‘SERVER_NAME’Movearegion.Optionallyspecifytargetregionserverelsewechooseoneatrandom.NOTE:Youpasstheencodedregionname,nottheregionnamesothiscommandisa
我在HBase中创建了一个表,其中预拆分了8个区域,使用HexStringSplit作为拆分算法。现在我想增加区域的数量,而不破坏现有表和其中的数据。我创建预拆分的命令是创建't1','f1',{NUMREGIONS=>15,SPLITALGO=>'HexStringSplit'}事实上,我无法再次执行此命令以增加区域数量。是否存在更新现有表中区域数量的命令? 最佳答案 请注意,您提供的命令创建了15个区域,而不是8个:create't1','f1',{NUMREGIONS=>15,SPLITALGO=>'HexStringSpli
请告诉我HBase如何跨区域服务器分区表。例如,假设我的行键是0到10M之间的整数,并且我有10个区域服务器。这是否意味着第一个区域服务器将存储键值为0-10M、第二个1M-2M、第三个2M-3M、...第十个9M-10M的所有行?我希望我的行键是时间戳,但我认为大多数查询将适用于最新日期,所有查询将仅由一个区域服务器处理,是这样吗?或者这些数据可能会以不同的方式传播?或者也许我可以以某种方式创建比我拥有的区域服务器更多的区域,所以(根据给定的示例)服务器1将具有key0-0,5M和3M-3,5M,这样我的数据会更平均地分布,是吗可能的?更新我刚刚发现有选项hbase.hregion.
在HBase中,put/get操作如何知道应该将行写入哪个区域服务器?如果要读取多行,如何联系多个区域服务器并检索结果? 最佳答案 我假设您的问题只是出于好奇,因为这种行为是从用户那里抽象出来的,您不应该关心。InHBase,howtheput/getoperationsknowwhichregionservertherowshouldbewrittento?来自hbasedocumentationbook:TheHBaseclientHTableisresponsibleforfindingRegionServersthatare
我是一家正在构建新网站应用程序的企业的所有者。我的合作伙伴是负责开发的程序员,我们都没有任何真正深入的GoogleMapAPI或其折线/多边形区域功能的经验。我们需要一种简单的方法来捕获我们的用户管理区域内的输入,我们的位置可以在其中输入他们的服务覆盖区域信息,即琼斯大道以北的第一街,或距位置地址5英里半径等,并让GoogleMapAPI绘制折线边界。然后,我们网站的访问者在查看我们其中一个地点的谷歌地图时需要能够看到此信息,并且还可以查看他们的服务地址是否在该服务区域内。然后,我们需要以某种方式设置一个标志,以触发向访问者发出通知,告知他们的地址不符合服务或交付条件。如果有人可以帮助