Hi, I was trying to enable the transaction function of Phoenix on my hbase. but I keep getting the "Unable to discover transaction service" problem. My setting: 1. Single node running on a docker. 2. HBase configured as pseudo distributed mode(Hbase manages zookeeper) 3. HBase version 1.2.6, Phoenix: 4.13.1, sqlline 1.2.0 4. I put below setting to both hbase-site.xml in folder /phoenix/bin/ and /hbase/conf/: <property> <name>phoenix.transactions.enabled</name> <value>true</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>
Steps: 1. setup above two hbase-site.xml. 2. start hbase. 3. start tephra with command: tephra start ---> i also put the phoenix/bin to classpath. 4. tephra running normally and no exception. 5. sqlline.py myServerName:2181 6. after get into sqlline mode, basic command of phoenix no problem, I can also create table without transaction enabled. 7. when I do below transaction enabling command, the issue prompt out CREATE TABLE my_table (k BIGINT PRIMARY KEY, v VARCHAR) TRANSACTIONAL=true; seems the transaction manager cannot be found when I trigger transaction related action. I did some research and found that the transaction manager will register itself to zookeeper and any transactional action will automatically find the manager and get the transaction thing done through it. I am wondering if the hbase managed zookeeper works for phoenix transaction. or what error i did and lead to the problem.