1.window环境准备:eclipse中建项目,导入hbase安装环境下的lib中的jar包,或者用maven工具加载jar
2.linux环境准备:前提安装Hadoop,hbase,zookeeper并能正常运行。若想在Hadoop上运行hbase相关文件,得把hbase环境下的lib里的依赖jar导入到hadoop环境下,下面给一个简单方法:进入到 Hadoop的hadoop-env.sh 文件中,添加下面这段shell脚本,脚本意思是把hbase下lib里的jar加入到hadoop的classpath下:
for f in $HBASE_HOME/lib/*.jar; do
if [ "$HADOOP_CLASSPATH" ]; then
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f
else
export HADOOP_CLASSPATH=$f
fi
done
3.重新启动Hadoop,启动zookeeper,hbase。
4.编写java代码:
package HbaseTest1;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;
import org.apache.hadoop.hbase.mapreduce.TableMapper;
import org.apache.hadoop.hbase.mapreduce.TableReducer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
public class HbaseMr {
//基本配置
static Configuration conf=null;
static{
conf=HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "slave1,slave2,slave3");
conf.set("hbase.zookeeper.property.clientPort", "2181");
}
//表信息
public static final String tableName1="t1";//表1