尽管 tablet 服务器显示 110K 条目,但执行 scan -t table returns 没有结果

Executing scan -t table returns no result despite tablet server showing 110K entries

我在尝试扫描累积时遇到问题 table。短环境摘要:
所有相关组件的本地主机单集群设置:

OS:

Java:

问题。
首先,我创建了一个用户,然后以该用户为所有者创建了一个 table。我能够使用 Java 客户端将数据插入 table。
后来我想检查我插入的内容,为了简单起见,我选择了累加 shell.
当我 运行 命令 scan -t <table> 时,它立即 returns,没有给我任何结果。现在有趣的是,tablet 状态 window (localhost:9995) 显示问题中的 table 有大约 110K 个条目。

tablet服务器状态截图:

接下来我检查了 hdfs 中 tablets 的大小。大小对我来说意味着有数据:
1062429 2016-12-15 23:19 /accumulo/tables/c/default_tablet/A000001t.rf
我遇到同样问题的另一个 table 有一个更大的 rf 文件(它有更多的条目):
12433646 2016-12-15 22:23 /accumulo/tables/a/default_tablet/A000000i.rf

接下来我在shell中开启调试模式:
debug on
然后我再次运行扫描命令。输出:

scan
2016-12-16 00:01:38,113 [rpc.ThriftUtil] TRACE: Opening normal transport
2016-12-16 00:01:38,114 [impl.ThriftTransportPool] TRACE: Creating new connection to connection to localhost:9997
2016-12-16 00:01:38,131 [impl.ThriftTransportPool] TRACE: Returned connection localhost:9997 (120000) ioCount: 7130
2016-12-16 00:01:38,131 [admin.TableOperations] TRACE: tid=14 Checking if table tweets exists...
2016-12-16 00:01:38,132 [admin.TableOperations] TRACE: tid=14 Checked existance of true in 0.000 secs
2016-12-16 00:01:38,132 [impl.ThriftTransportPool] TRACE: Using existing connection to localhost:9997
2016-12-16 00:01:38,146 [impl.ThriftTransportPool] TRACE: Returned connection localhost:9997 (120000) ioCount: 7130
2016-12-16 00:01:38,147 [impl.ThriftTransportPool] TRACE: Using existing connection to localhost:9997
2016-12-16 00:01:38,158 [impl.ThriftTransportPool] TRACE: Returned connection localhost:9997 (120000) ioCount: 7130
2016-12-16 00:01:38,158 [admin.TableOperations] TRACE: tid=14 Checking if table tweets exists...
2016-12-16 00:01:38,159 [admin.TableOperations] TRACE: tid=14 Checked existance of true in 0.000 secs
2016-12-16 00:01:38,159 [impl.ThriftTransportPool] TRACE: Using existing connection to localhost:9997
2016-12-16 00:01:38,168 [impl.ThriftTransportPool] TRACE: Returned connection localhost:9997 (120000) ioCount: 7130
2016-12-16 00:01:38,168 [impl.ThriftTransportPool] TRACE: Using existing connection to localhost:9997
2016-12-16 00:01:38,170 [impl.ThriftTransportPool] TRACE: Returned connection localhost:9997 (120000) ioCount: 130
2016-12-16 00:01:38,170 [shell.Shell] DEBUG: Found no scan iterators to set
2016-12-16 00:01:38,177 [impl.TabletLocatorImpl] TRACE: tid=14 Locating tablet  table=c row= skipRow=false retry=false
2016-12-16 00:01:38,178 [impl.TabletLocatorImpl] TRACE: tid=14 Located tablet c<< at localhost:9997 in 0.000 secs
2016-12-16 00:01:38,178 [impl.ThriftTransportPool] TRACE: Using existing connection to localhost:9997
2016-12-16 00:01:38,178 [impl.ThriftScanner] TRACE: tid=14 Starting scan tserver=localhost:9997 tablet=c<< range=(-inf,+inf) ssil=[] ssio={}
2016-12-16 00:01:38,374 [impl.ThriftScanner] TRACE: tid=14 Completely finished scan in 0.195 secs #results=0
2016-12-16 00:01:38,374 [impl.ThriftTransportPool] TRACE: Returned connection localhost:9997 (120000) ioCount: 262
2016-12-16 00:01:38,374 [admin.TableOperations] TRACE: tid=14 Fetching list of tables...
2016-12-16 00:01:38,374 [admin.TableOperations] TRACE: tid=14 Fetched 6 table names in 0.000 secs
2016-12-16 00:01:38,374 [impl.ThriftTransportPool] TRACE: Using existing connection to localhost:9997
2016-12-16 00:01:38,375 [impl.ThriftTransportPool] TRACE: Returned connection localhost:9997 (120000) ioCount: 154
2016-12-16 00:01:38,375 [admin.TableOperations] TRACE: tid=14 Fetching list of namespaces...
2016-12-16 00:01:38,375 [admin.TableOperations] TRACE: tid=14 Fetched 2 namespaces in 0.000 secs

`

对我来说,输出看起来不错,好像扫描命令找到了 table 和属于那个 table 的 tablet。但是没有显示结果。

任何关于我做错或遗漏的见解都将不胜感激。

很有可能这些记录对执行扫描的 Accumulo 用户是隐藏的。即使他们是 table 或 Accumulo 根的创建者,Accumulo 用户也必须具有与每个条目关联的适当安全标签,否则他们根本看不到任何内容。

如果您有摄取的内容或用于摄取的代码的记录,请检查是否提供了安全字段。如果是,那么您的用户需要获得适当的授权才能使用 Accumulo shell.

阅读它们

setauths -s your, permissions, here -u targetuser