Hbase REST不会重新调整MapR DB的输出

时间:2015-07-16 07:55:00

标签: rest curl hbase mapr

我正在尝试使用Hbase rest API查询Mapr表。我使用./hbase-daemon.sh启动了hbase rest服务并编写了一个小程序来查询我的表,但它似乎没有工作。但是当我使用curl工具从MapR表中获取数据时,它会给我正确的输出。

这是我正在使用的java代码:

 import java.io.IOException;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.client.Get;
 import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.rest.client.Client;
 import org.apache.hadoop.hbase.rest.client.Cluster;
 import org.apache.hadoop.hbase.rest.client.RemoteHTable;

 public class GetRequest
 {
 public static void main(String[] args) throws IOException
 {


         Cluster cluster = new Cluster();
         cluster.add(hostname, 8081);
         Client client = new Client(cluster);
         RemoteHTable table = new RemoteHTable(client, "/mytesttable");   //Remove forward slash to query in hbase table

         Get request = new Get(Bytes.toBytes("metric"));
         request.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("c"));
         Result result = table.get(request);
         System.out.println("Output Returned from Table--->  "+ Bytes.toString( result.getValue(Bytes.toBytes("cf"), Bytes.toBytes("c"))));
     }
 }

这是curl命令,它返回一个正确的输出..

curl -H "Accept: text/xml" http://hostname:8081/%2Fmytesttable/metric/cf:c

不确定这里有什么问题?任何猜测,任何人?

提前致谢。

2 个答案:

答案 0 :(得分:1)

MapR将使用warden启动自己的hbase rest服务器,您不需要手动启动它。它将在8080端口(默认端口)运行。确保您的hbase休息服务;您可以检查映射器集群管理UI。

答案 1 :(得分:0)

我使用的命令是,

为userDetails =用户名+":&#34 +密码

" curl -k -u" + userDetails +" HTTPS://" + ip +":" + port +" / rest / table / create?path =" + path + tableName