This only seems to be a problem when I have HBase running in fully
distributed mode (1 master, 1 regionserver and 1 zookeeper node in
different docker images).
If I have HBase running in standalone mode with HBase and Phoenix and
the Query server in 1 docker image, it works correctly.
On 31/08/2016 11:21 AM, F21 wrote:
I have HBase 1.2.2 and Phoenix 4.8.0 running on my HBase master
running on alpine linux with OpenJDK JRE 8.
This is my hbase-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
<property>
<name>zookeeper.znode.parent</name>
<value>/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>m9edd51-zookeeper.m9edd51</value>
</property>
<property>
<name>data.tx.snapshot.dir</name>
<value>/tmp/tephra/snapshots</value>
</property>
<property>
<name>data.tx.timeout</name>
<value>60</value>
</property>
<property>
<name>phoenix.transactions.enabled</name>
<value>true</value>
</property>
</configuration>
I am able to start the master correctly. I am also able to create
non-transactional table.
However, if I create a transactional table, I get this error: ERROR
[TTransactionServer-rpc-0] thrift.ProcessFunction: Internal error
processing startShort
This is what I see in the logs:
2016-08-31 01:08:33,560 WARN
[main-SendThread(m9edd51-zookeeper.m9edd51:2181)]
zookeeper.ClientCnxn: Session 0x156de22abec0004 for server null,
unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at
sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at
org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at
org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
2016-08-31 01:08:33,616 INFO [DefaultMetricsCollector STOPPING]
metrics.DefaultMetricsCollector: Stopped metrics reporter
2016-08-31 01:08:33,623 INFO [ThriftRPCServer]
tephra.TransactionManager: Took 170.7 ms to stop
2016-08-31 01:08:33,623 INFO [ThriftRPCServer] rpc.ThriftRPCServer:
RPC server for TTransactionServer stopped.
2016-08-31 01:08:34,776 INFO
[main-SendThread(m9edd51-zookeeper.m9edd51:2181)]
zookeeper.ClientCnxn: Opening socket connection to server
m9edd51-zookeeper.m9edd51/172.18.0.2:2181. Will not attempt to
authenticate using SASL (unknown error)
2016-08-31 01:08:34,777 INFO
[main-SendThread(m9edd51-zookeeper.m9edd51:2181)]
zookeeper.ClientCnxn: Socket connection established to
m9edd51-zookeeper.m9edd51/172.18.0.2:2181, initiating session
2016-08-31 01:08:34,778 INFO
[main-SendThread(m9edd51-zookeeper.m9edd51:2181)]
zookeeper.ClientCnxn: Session establishment complete on server
m9edd51-zookeeper.m9edd51/172.18.0.2:2181, sessionid =
0x156de22abec0004, negotiated timeout = 40000
2016-08-31 01:08:34,783 INFO [leader-election-tx.service-leader]
zookeeper.LeaderElection: Connected to ZK, running election:
m9edd51-zookeeper.m9edd51 for /tx.service/leader
2016-08-31 01:08:34,815 INFO [ThriftRPCServer] rpc.ThriftRPCServer:
Starting RPC server for TTransactionServer
2016-08-31 01:08:34,815 INFO [ThriftRPCServer] rpc.ThriftRPCServer:
Running RPC server for TTransactionServer
2016-08-31 01:08:34,816 INFO [ThriftRPCServer]
server.TThreadedSelectorServerWithFix: Starting
TThreadedSelectorServerWithFix
2016-08-31 01:08:34,822 INFO [leader-election-tx.service-leader]
distributed.TransactionService: Transaction Thrift Service started
successfully on m9edd51-hmaster1.m9edd51/172.18.0.12:15165
2016-08-31 01:10:42,830 ERROR [TTransactionServer-rpc-0]
thrift.ProcessFunction: Internal error processing startShort
java.lang.IllegalStateException: Transaction Manager is not running.
at
com.google.common.base.Preconditions.checkState(Preconditions.java:149)
at
org.apache.tephra.TransactionManager.ensureAvailable(TransactionManager.java:709)
at
org.apache.tephra.TransactionManager.startTx(TransactionManager.java:768)
at
org.apache.tephra.TransactionManager.startShort(TransactionManager.java:728)
at
org.apache.tephra.TransactionManager.startShort(TransactionManager.java:716)
at
org.apache.tephra.distributed.TransactionServiceThriftHandler.startShort(TransactionServiceThriftHandler.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.tephra.rpc.ThriftRPCServer$1.invoke(ThriftRPCServer.java:261)
at com.sun.proxy.$Proxy17.startShort(Unknown Source)
at
org.apache.tephra.distributed.thrift.TTransactionServer$Processor$startShort.getResult(TTransactionServer.java:974)
at
org.apache.tephra.distributed.thrift.TTransactionServer$Processor$startShort.getResult(TTransactionServer.java:959)
at
org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at
org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at
org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:478)
at org.apache.thrift.server.Invocation.run(Invocation.java:18)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2016-08-31 01:10:42,936 ERROR [TTransactionServer-rpc-0]
thrift.ProcessFunction: Internal error processing startShort
java.lang.IllegalStateException: Transaction Manager is not running.
at
com.google.common.base.Preconditions.checkState(Preconditions.java:149)
at
org.apache.tephra.TransactionManager.ensureAvailable(TransactionManager.java:709)
at
org.apache.tephra.TransactionManager.startTx(TransactionManager.java:768)
at
org.apache.tephra.TransactionManager.startShort(TransactionManager.java:728)
at
org.apache.tephra.TransactionManager.startShort(TransactionManager.java:716)
at
org.apache.tephra.distributed.TransactionServiceThriftHandler.startShort(TransactionServiceThriftHandler.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.tephra.rpc.ThriftRPCServer$1.invoke(ThriftRPCServer.java:261)
at com.sun.proxy.$Proxy17.startShort(Unknown Source)
at
org.apache.tephra.distributed.thrift.TTransactionServer$Processor$startShort.getResult(TTransactionServer.java:974)
at
org.apache.tephra.distributed.thrift.TTransactionServer$Processor$startShort.getResult(TTransactionServer.java:959)
at
org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at
org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at
org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:478)
at org.apache.thrift.server.Invocation.run(Invocation.java:18)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
This seems very similar to PHOENIX-2504
(https://issues.apache.org/jira/browse/PHOENIX-2504), but that appears
to be fixed in 4.8.0?
Any ideas why this might be happening?
Cheers,
Francis