Hadoop 如何延长hbase命令行超时时间

Hadoop 如何延长hbase命令行超时时间,hadoop,hbase,Hadoop,Hbase,我试图调试一个问题,我试图运行手动扫描来找出发生了什么 然而,看起来有些扫描是有效的,但大多数扫描由于任何原因都失败了 我们的hbase表中的键设置为hash_servername_timestamp,例如 123_servername.domain.com_1234567890. The hash can run from 0 to 199. 当我跑步时: 扫描“基于服务器的数据”{FILTER=>“KeyOnlyFilter()和 (PrefixFilter('0'))”,列=>'raw

我试图调试一个问题,我试图运行手动扫描来找出发生了什么

然而,看起来有些扫描是有效的,但大多数扫描由于任何原因都失败了

我们的hbase表中的键设置为hash_servername_timestamp,例如

123_servername.domain.com_1234567890.  The hash can run from 0 to 199.
当我跑步时:

扫描“基于服务器的数据”{FILTER=>“KeyOnlyFilter()和 (PrefixFilter('0'))”,列=>'raw\u data:top',时间范围=> [149851440000,149851000000]}

我返回了一些行:

ROW                                            COLUMN+CELL
 0_app128021.sjc6.mydomain.com_1498514460   column=raw_data:top, timestamp=1498514502321, value=
 0_app128021.sjc6.mydomain.com_1498514580   column=raw_data:top, timestamp=1498514622400, value=
<snip snip>
<snip snip>
 0_app128021.sjc6.mydomain.com_1498514700   column=raw_data:top, timestamp=1498514742839, value=
179 row(s) in 177.4260 seconds
行-列+单元格
0_app128021.sjc6.mydomain.com_1498514460列=原始数据:顶部,时间戳=149851450221,值=
0_app128021.sjc6.mydomain.com_1498514580 column=raw_data:top,timestamp=1498514622400,value=
0_app128021.sjc6.mydomain.com_149851470 column=raw_data:top,timestamp=1498514742839,value=
177.4260秒内179行
但是,如果我运行:

扫描“基于服务器的数据”{FILTER=>“KeyOnlyFilter()和 (PrefixFilter('1'))”,列=>'raw\u data:top',时间范围=> [149851440000,149851000000]}

我犯了一个错误

ROW                                            COLUMN+CELL                                                                                                                          

ERROR: Call id=86, waitTime=60002, operationTimeout=60000 expired.
Here is some help for this command:
Scan a table; pass table name and optionally a dictionary of scanner
specifications.  Scanner specifications may include one or more of:
<snip snip>
<snip snip>
行-列+单元格
错误:呼叫id=86,等待时间=60002,操作超时=60000过期。
以下是此命令的一些帮助:
扫描表格;传递表名和扫描器字典(可选)
规格。扫描仪规格可能包括以下一项或多项:
我假设“0”是有效的,因为从词汇学上讲,它是第一个,与“1”或“199”相比,但我不明白为什么“1”不起作用。有人能给我解释一下为什么这样不行吗


我还假设,如果我增加超时时间,它可能有助于使其工作。有人能告诉我如何增加hbase外壳扫描的超时时间吗?

要更改hbase外壳扫描的超时时间,您可以使用以下命令
hbase.client.operation.timeout
hbase.client.scanner.timeout.period

001:0> @shell.hbase.configuration.get("hbase.client.scanner.timeout.period")
=> "60000"
002:0> @shell.hbase.configuration.setInt("hbase.client.scanner.timeout.period", 120000)
003:0> @shell.hbase.configuration.get("hbase.client.scanner.timeout.period")
=> "120000"
或者(不是从shell),您可以在
hbase site.xml
中编辑该值,但是需要重新启动群集才能让hbase注意到更改。例如:

<property>
 <name>hbase.client.scanner.timeout.period</name>
 <value>120000</value>
</property>

hbase.client.scanner.timeout.period
120000