源码:

  1. package HbaseOperation;
  2.  
  3. import com.alibaba.fastjson.JSON;
  4. import org.apache.hadoop.conf.Configuration;
  5. import org.apache.hadoop.hbase.*;
  6. import org.apache.hadoop.hbase.client.*;
  7. import org.apache.hadoop.hbase.util.Bytes;
  8. import org.springframework.stereotype.Service;
  9.  
  10. import java.io.IOException;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. import java.util.Map;
  14.  
  15.  
  16. @Service
  17. public class HbaseOperationServiceImpl implements HbaseOperationService {
  18.  
  19. public static final String FAMILY_NAME = "f1";
  20. public static final String FAMILY_NAME_F2 = "f2";
  21.  
  22. public static final byte[] CF = Bytes.toBytes(FAMILY_NAME);
  23.  
  24. private static Connection connection = null;
  25.  
  26. private static volatile HbaseOperationServiceImpl instance;
  27.  
  28. private HbaseOperationServiceImpl() {
  29. String ip = "192.168.184.128";
  30. String port = "2181";
  31. try {
  32. Configuration conf = HBaseConfiguration.create();
  33. conf.set("hbase.zookeeper.quorum", ip);
  34. conf.set("hbase.zookeeper.property.clientPort", port);
  35. connection = ConnectionFactory.createConnection(conf);
  36. System.out.println("创建connection!");
  37. } catch (IOException e) {
  38. e.printStackTrace();
  39. }
  40.  
  41. }
  42.  
  43. public static HbaseOperationServiceImpl getIstance() {
  44. // 定义一个共有的静态方法,返回该类型实例
  45. if (instance == null) {
  46. // 对象实例化时与否判断(不使用同步代码块,instance不等于null时,直接返回对象,提高运行效率)
  47. synchronized (HbaseOperationServiceImpl.class) {
  48. // 同步代码块(对象未初始化时,使用同步代码块,保证多线程访问时对象在第一次创建后,不再重复被创建)
  49. if (instance == null) {
  50. // 未初始化,则初始instance变量
  51. instance = new HbaseOperationServiceImpl();
  52. }
  53. }
  54. }
  55. return instance;
  56. }
    }

  测试代码:

  1. public class test_hbase_oper {
  2. public static void main(String args[]) {
  3. HbaseOperationServiceImpl hbaseOperationObj = HbaseOperationServiceImpl.getIstance();
  4. }

  

版权声明:本文为gongxr原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gongxr/p/7831149.html