zoukankan      html  css  js  c++  java
  • windows下用Eclipse连接大数据环境得hbase

    1、解压hbase安装包

    2、将大数据环境得hadoop安装包拷贝到windows(这里以d:/hadoop为例)

    3、打开C:WindowsSystem32driversetc目录下的hosts并添加如下代码

    127.0.0.1 localhost
    192.168.48.134 master
    192.168.48.133 slaver

    注:这里你配置了几台服务器就写几台,这里我只配置192.168.48.134 master和192.168.48.133 slaver两台

    4、使用Eclipse创建一个java工程,引进第一步骤中解压Hbase文件夹下的lib里面的全部jar

    5、最好也在src下面创建一个文件夹,并把集群环境中hbase的hbase-site.xml放入文件文件夹中,并添加到class path中(其实新版本的都可省略这步了,因为我的hadoop是2.7.3,hbase用的是1.2.4算是比较高度版本了)

    6、在步骤二的文件夹的bin文件夹下是否有winutils.exe文件,如果没有的话,就下载一个放在该目录

    7、示例代码:

    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.Path;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.HColumnDescriptor;
    import org.apache.hadoop.hbase.HConstants;
    import org.apache.hadoop.hbase.HTableDescriptor;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.Admin;
    import org.apache.hadoop.hbase.client.Connection;
    import org.apache.hadoop.hbase.client.ConnectionFactory;
    import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
    
    public class TestHbase {
    
      private static final String TABLE_NAME = "test";
      private static final String CF_DEFAULT = "info";
    
      public static void createOrOverwrite(Admin admin, HTableDescriptor table) throws IOException {
        if (admin.tableExists(table.getTableName())) {
          admin.disableTable(table.getTableName());
          admin.deleteTable(table.getTableName());
        }
        admin.createTable(table);
      }
    
      public static void createSchemaTables(Configuration config) throws IOException {
        try (Connection connection = ConnectionFactory.createConnection(config);
             Admin admin = connection.getAdmin()) {
    
          HTableDescriptor table = new HTableDescriptor(TableName.valueOf(TABLE_NAME));
          table.addFamily(new HColumnDescriptor(CF_DEFAULT).setCompressionType(Algorithm.NONE));
    
          System.out.print("Creating table. ");
          createOrOverwrite(admin, table);
          System.out.println(" Done.");
        }
      }
    
      public static void main(String[] args) throws IOException {  
            Configuration config = HBaseConfiguration.create();  
      
            /* 
            * 默认会从项目编译后的calss文件的根目录寻找文件,可以不指定 
            * 添加资源文件有以下几种方式: 
            * */  
            /** 
             * config.addResource(input); 
             */  
            //InputStream input = HBaseOper.class.getResourceAsStream("/core-site.xml");  
            //config.addResource(input);  
      
            /** 
             * 官网给出的例子程序使用的是这种方法 
             * config.addResource(Path); 
             * Path可以为绝对路径,例如:D:\Program Files\hbase\conf\hbase-site.xml 
             */  
          //这里就是步骤二从集群环境拷过来的hadoop放在window上的路径,注意都是用的绝对路径 System.setProperty(
    "hadoop.home.dir", "D:\Users\zml\Eclipse\hadoop-2.7.3"); //Add any necessary configuration files (hbase-site.xml, core-site.xml)
        //这些文件都是从集群环境上拷过来的
    config.addResource(new Path("D:\Users\zml\Eclipse\workspace\HbaseDemo\hbase_conf\hbase-site.xml")); config.addResource(new Path("D:\Users\zml\Eclipse\workspace\HbaseDemo\hbase_conf\core-site.xml")); createSchemaTables(config); //modifySchema(config); } }
  • 相关阅读:
    自适应网页设计(Responsive Web Design)(转)
    PAT 1062 最简分数(20)(代码+思路)
    PAT 1059 C语言竞赛(20)(代码+思路)
    PAT 1058 选择题(20)(代码+思路)
    PAT 1057 数零壹 (20)(代码+思路)
    PAT 1054 求平均值 (20)(代码+思路+测试用例)
    PAT 1053 住房空置率 (20)(代码+思路)
    PAT 1052 卖个萌 (20)(代码+思路)
    PAT 1048 数字加密(20)(代码+思路)
    PAT 1047 编程团体赛(代码)
  • 原文地址:https://www.cnblogs.com/zml-java/p/6559929.html
Copyright © 2011-2022 走看看