Hi Yang, Transaction manager announces it hostname and port in Zookeeer, and transaction client discovers the transaction manager through Zookeeper.
data.tx.bind.address can be used to control which address the transaction manager bind to. The default value of data.tx.bind.address is 0.0.0.0. When you removed the discovery modules, the client uses data.tx.bind.address to connect to transaction manager. Looks like there is some issue in transaction manager announcing itself, can you attach the transaction manager logs? Thanks, Poorna. On Mon, Nov 14, 2016 at 9:54 PM, Yang Zhang <[email protected]> wrote: > Hi > > I am trying to trying to use tephra. And I follow the getting start guide, > The demo below start guide page is useful,but i need more, such as how can > I get a TransactionServiceClient? > > According to the BalancebooksTest, > > Injector injector = Guice.createInjector( > new ConfigModule(), > new ZKModule(), > new DiscoveryModules().getDistributedModules(), > new TransactionModules().getDistributedModules(), > new TransactionClientModule() > ); > > I guess I need only to change new ConfigModule() to new > ConfigModule(myHadoopConfig), > but the logs said tephra can't find tx service, I have already installed it > on my HBaseMaster,and configed as > the start guide said. > By the way, How can my tephra client know which host is the tephra server > installed? Is the data.tx.bind.address config in the hbase-site.xml used > for clients to get tephra server address OR for tephra server to bind > their listining address? > What's the relation ship between the five Modules above?when i tried to > createInjector only with ConfigurationModule and TransactionModules, I got > connection to 0.0.0.0:15165 refused. Why tephra try to connect to 0.0.0.0? > > Thanks for your help >
