Java 调用 hbase 启动卡死状态
来源:互联网 发布:asp、php全能环境代码 编辑:程序博客网 时间:2024/05/21 16:59
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Client environment:java.io.tmpdir=/tmp
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Client environment:java.compiler=<NA>
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Client environment:os.name=Linux
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Client environment:os.arch=amd64
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Client environment:os.version=2.6.32-431.el6.x86_64
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Client environment:user.name=root
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Client environment:user.home=/root
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Client environment:user.dir=/root/hbase-config
16/05/17 17:41:17 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=10.20.20.198:2181,10.20.20.139:2181,10.20.20.176:2181 sessionTimeout=180000 watcher=hconnection
16/05/17 17:41:17 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is 11283@SZB-L0019010
16/05/17 17:41:17 INFO zookeeper.ClientCnxn: Opening socket connection to server SZB-L0019009/10.20.20.139:2181. Will not attempt to authenticate using SASL (unknown error)
16/05/17 17:41:17 INFO zookeeper.ClientCnxn: Socket connection established to SZB-L0019009/10.20.20.139:2181, initiating session
16/05/17 17:41:17 INFO zookeeper.ClientCnxn: Session establishment complete on server SZB-L0019009/10.20.20.139:2181, sessionid = 0x254bd8dbd360002, negotiated timeout = 80000
附上Java代码
package com.paic.mario.service.impl;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
public class HbaseProbeJava{
// 声明静态配置
private static Configuration conf = null;
static {
conf = HBaseConfiguration.create();
}
@SuppressWarnings("resource")
// one data
public static String getOneRow(String tableName, String row) throws Exception {
String returnStr = "";
HTable table = new HTable(conf, tableName);
Get get = new Get(Bytes.toBytes(row));
Result result = table.get(get);
for (KeyValue rowKV : result.raw()) {
returnStr += "RowName:" + new String(rowKV.getRow()) +" ,";
returnStr += "Timestamp:" + rowKV.getTimestamp() +" ,";
returnStr += "FamilyName:" + new String(rowKV.getFamily()) +" ,";
returnStr += "ColomnName:" + new String(rowKV.getQualifier()) +" ,";
returnStr += "Value:" + new String(rowKV.getValue());
}
return returnStr;
}
//all data
@SuppressWarnings("resource")
public static String getAllRows(String tableName) throws Exception {
String returnStr = "";
HTable table = new HTable(conf, tableName);
Scan scan = new Scan();
ResultScanner results = table.getScanner(scan);
for (Result result : results) {
for (KeyValue rowKV : result.raw()) {
returnStr += "RowName:" + new String(rowKV.getRow()) +" ,";
returnStr += "Timestamp:" + rowKV.getTimestamp() +" ,";
returnStr += "FamilyName:" + new String(rowKV.getFamily()) +" ,";
returnStr += "ColomnName:" + new String(rowKV.getQualifier()) +" ,";
returnStr += "Value:" + new String(rowKV.getValue());
}
}
return returnStr;
}
// main
public static void main(String[] args) {
//String argpar = "10.20.20.176:2181==username==password==scores:ztx:xxxx"
String argpar = args[0];
String[] argarray = argpar.split("==");
String host_port = argarray[0];
String username = argarray[1];
String password = argarray[2];
String sqlstatement = argarray[3];
String[] host_portarray = host_port.split(":");
conf.set("hbase.zookeeper.quorum", host_portarray[0]);
conf.set("hbase.zookeeper.port", host_portarray[1]);
String[] sqlstatementarray = sqlstatement.split(":");
try {
String saveReturnStr = "";
if(sqlstatementarray.length == 1){
saveReturnStr = getAllRows(sqlstatementarray[0]);
}else if(sqlstatementarray.length == 2){
saveReturnStr = getOneRow(sqlstatementarray[0], sqlstatementarray[1]);
}
writeFile(saveReturnStr);
} catch (Exception e) {
writeFile("get data error.pls check java");
e.printStackTrace();
}
}
卡在这里不动的原因是 客户端调用的jar 包与 hbase 的jar 版本 不一致导致的
附上shell脚本如下:
#!/bin/bash
cd /root/hbase-config
Channel=$1
BatchSize=80000
export CLASSPATH=$CLASSPATH:/appcom/hbase
for lib in `ls /appcom/hbase |grep jar`;do
CLASSPATH=$CLASSPATH:/appcom/hbase/$lib
done
for lib in `ls /appcom/hbase/lib |grep jar`;do
CLASSPATH=$CLASSPATH:/appcom/hbase/lib/$lib
done
export JAVA_HOME=/home/jdk1.7.0_79
export JAVA_CMD=$JAVA_HOME/bin/java
export JAVA_COP=$JAVA_HOME/bin/javac
export JAVA_MAIN=HbaseProbeJava
#EXEC_CMD="$JAVA_CMD -Xmx6000m -classpath $CLASSPATH $JAVA_MAIN $Channel"
$JAVA_COP HbaseProbeJava.java
echo $CLASSPATH
export PATH=$PATH.:/home/jdk1.7.0_79/bin
$JAVA_CMD -classpath $CLASSPATH $JAVA_MAIN
echo "11111"
其中 /appcom/hbase 是hbase jar 包目录
- Java 调用 hbase 启动卡死状态
- java调用外部命令卡死问题
- Eclipse 启动卡死
- myeclipse启动卡死
- eclipse 启动卡死
- java 调用 hbase
- Java调用Hbase
- java调用bat,卡死在某一步
- java 调用hbase api创建hbase分区表
- myeclipse 启动卡死情况
- myeclipse启动卡死解决办法
- eclipse启动卡死解决方法
- java 调用hbase 0.90.3
- Hbase java API 调用详解
- java调用hbase接口方法
- Hbase的java客户端调用
- MyEclipse 代码编写,编译卡死,启动卡死解决方案
- android studio 启动卡死,创建项目卡死
- Unable to connect to a repository at URL '': authorization failed: Could not authenticate to server:
- ios 第三方库
- 我的C++学习之路,有经验的朋友多指点指点
- 【CodeForces】67A - Life Without Zeros(水)
- HDU 5687 (字典树)
- Java 调用 hbase 启动卡死状态
- ffmpeg解码流程
- 安卓webview html5 自动播放本地视频,网上视频,可以循环播放
- 制作u盘启动linux系统
- AS 你不得不知的配置跟快捷键
- RDD与DataFrame动态转换(Java)
- Azkaban——安装指南
- python 数组相关知识总结(未完)
- Android中WebView中拦截所有请求并替换URL(支持AJAX的post请求类型)