Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation needs to include HBase configuration #139

Open
inmyth opened this issue Apr 18, 2017 · 6 comments
Open

Documentation needs to include HBase configuration #139

inmyth opened this issue Apr 18, 2017 · 6 comments

Comments

@inmyth
Copy link

inmyth commented Apr 18, 2017

As Data API v2 works with HBase I think the installation documentation really needs to include HBase configuration. I was struggling to get Data API to work with it and I found some issues during my installation (on Ubuntu 16.04 LTS) which held me back for days. Hopefully a clearer instruction can be added to the documentation.

  1. Data API requires Thrift interface. The default port is 9090 and it is already set as such in both config files (api and import). Luckily Thrift already comes with HBase installation package so it can be run with something like
    .../hbase/bin/hbase-daemon.sh start thrift -p 9090 --infoport 9095
    where infoport is an option to display Thrift's status UI. You can also check Thrift status from terminal with jps.
  2. Data API runs only in TFramedTransport mode. I believe the default mode on HBase is TBufferedTransport. To activate framed transport on HBase, add these lines between configuration tags in hbase-site.xml
     <property>
          <name>hbase.regionserver.thrift.framed</name>
          <value>true</value>
     </property>
  1. All tables required for Data API have to be created manually and all those tables must have column family names "d" and "f". These tables can be created by shell-ing into HBase and run the command
    create '<table_name>', {NAME=>'d'}, {NAME=>'f'}
    Below are the table names. Note that test_ prefix can be set in Data API config files. Also as I got the tables by observing table not found errors on the console, some tables might still be missing.
   test_account_exchanges
   test_account_offers
   test_account_payments
   test_balance_changes
   test_exchanges
   test_ledgers
   test_lu_account_memos
   test_lu_account_offers_by_sequence
   test_lu_account_transactions
   test_lu_affected_account_transactions
   test_lu_ledgers_by_index
   test_lu_ledgers_by_time
   test_lu_transactions_by_time
   test_memos
   test_payments
   test_transactions
   test_top_markets
@greed0803
Copy link

importer throws exception from time to time. Is there any other configuration needed to avoid this.
2660114 [Thread-60] INFO backtype.storm.task.ShellBolt - ShellLog pid:5485, name:transactions unable to save parsedData: 54336|0 2660115 [Thread-60] INFO backtype.storm.task.ShellBolt - ShellLog pid:5485, name:transactions unable to save transaction: 54336|0 2A1FB9AB61B60C0F7DC596CD1DFF2F6F20BCBDC25AB8DDF63965E3CD11BAB53C 2660115 [Thread-60] INFO backtype.storm.task.ShellBolt - ShellLog pid:5485, name:transactions unable to save parsedData: 54336|0 2660115 [Thread-60] INFO backtype.storm.task.ShellBolt - ShellLog pid:5485, name:transactions unable to save transaction: 54336|0 2A1FB9AB61B60C0F7DC596CD1DFF2F6F20BCBDC25AB8DDF63965E3CD11BAB53C

@inmyth
Copy link
Author

inmyth commented Aug 14, 2017

I don't get this error. However the latest version is buggy. I'm using 2.1.0.

@greed0803
Copy link

greed0803 commented Aug 14, 2017

Are you using node or storm as importer ? because with node i think there's no problem .

@inmyth
Copy link
Author

inmyth commented Aug 15, 2017

I'm using node.

@greed0803
Copy link

Node only import transactions but does not aggregate it.

@yangyang9966
Copy link

I have a question ,what it is the version? ex: node.js , hbase ,thrift server ? i hope get the answer,thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants