I want to save my data in Hbase. So i wanted to connect with Nodejs and Hbase. I found a tutorial <http://www.amicksolutions.com/blog/hadoop-using-nodejs-with-hbase> and its working. This is following code of Hbase connection:

```
var thrift = require('thrift'),
  HBase = require('./gen-nodejs/HBase.js'),
  HBaseTypes = require('./gen-nodejs/HBase_types.js'),
  connection = thrift.createConnection('localhost', 9090, {
    transport: thrift.TBufferedTransport,
    protocol: thrift.TBinaryProtocol
  });

connection.on('connect', function() {
  var client = thrift.createClient(HBase,connection);
  client.getTableNames(function(err,data) {
    if (err) {
      console.log('get table names error:', err);
    } else {
      console.log('hbase tables:', data);
    }
    connection.end();
  });
});

connection.on('error', function(err){
  console.log('error:', err);
});

```

This above code is working perfectly, i am able to list all tables but problem is i want to do CURD operations also. I have searched a lot but not found proper documentation on this module, How to do other operations like get, put.

This is another module i found <https://github.com/wdavidw/node-hbase> Having good documentation but i am not able to connect with this following code: 

```
var assert = require('assert');
var hbase = require('hbase');

hbase({ host: '127.0.0.1', port: 9090 })
.table('my_table' )
.create('my_column_family', function(err, success){
  this
  .row('my_row')
  .put('my_column_family:my_column', 'my value', function(err, success){
    this.get('my_column_family', function(err, cells){
      this.exists(function(err, exists){
        assert.ok(exists);
      });
    });
  });
}) 

```

This may be i have to use some protocol here also. I don't know what is catch. I am not able to connect and getting following error:

```
{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }

```

Another confusion is <https://github.com/wdavidw/node-hbase> this module uses thrift API or not? Is there is any other workaround?