Support Questions

Find answers, ask questions, and share your expertise

exception with hbase when reads data from hdfs

avatar
Contributor

Hello, when hbase reads data from hdfs, there is an exception in region, it is

2018-12-10 00:13:56,596 INFO [RpcServer.FifoWFPBQ.default.handler=3,queue=3,port=16020] shortcircuit.ShortCircuitCache: ShortCircuitCache(0xc75b9da): could not load 1074372655_BP-739229554-10.101.203.32-1526543732919 due to InvalidToken exception. org.apache.hadoop.security.token.SecretManager$InvalidToken: access control error while attempting to set up short-circuit access to /apps/hbase/data/data/default/tsdb/17caedda58b3035c481a972a1d498e2d/t/a097b33304184834b4c3019bcfcf3fcb.

Ans also there is an expired exception in datanode, it is

2018-12-10 01:09:04,404 ERROR datanode.DataNode (DataXceiver.java:run(278)) - cbdc-node-3.crservice.cn:50010:DataXceiver error processing REQUEST_SHORT_CIRCUIT_FDS operation src: unix:/var/lib/hadoop-hdfs/dn_socket dst: <local> org.apache.hadoop.security.token.SecretManager$InvalidToken: Block token with block_token_identifier (expiryDate=1544402454744, keyId=742060374, userId=hbase, blockPoolId=BP-739229554-10.101.203.32-1526543732919, blockId=1074375591, access modes=[READ]) is expired. at org.apache.hadoop.hdfs.security.token.block.BlockTokenSecretManager.checkAccess(BlockTokenSecretManager.java:280) at org.apache.hadoop.hdfs.security.token.block.BlockTokenSecretManager.checkAccess(BlockTokenSecretManager.java:301) at org.apache.hadoop.hdfs.security.token.block.BlockPoolTokenSecretManager.checkAccess(BlockPoolTokenSecretManager.java:98) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.checkAccess(DataXceiver.java:1309) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.requestShortCircuitFds(DataXceiver.java:311) at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.opRequestShortCircuitFds(Receiver.java:187) at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.processOp(Receiver.java:89) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:251) at java.lang.Thread.run(Thread.java:748).

The Exception causes exception when my applicaiton runs. How can I do with it?

1 REPLY 1

avatar
Rising Star

@Zhao Chaofeng Looks like you are missing appropriate permissions for hbase to access the hdfs directory.