hbase 环境搭建:单机版、远程访问

1. 环境

  • mac或者linux 1台; 客户端 电脑(windows、mac、linux) 1台
  • jdk 1.8.x
  • hbase 2.2.2 下载: Apache HBase – Apache HBase Downloads
  • hdaoop 3.2.1 下载: Apache Hadoop
  • hadoop-common-bin 工具 下载(windows):  https://download.csdn.net/download/shuaidan19920412/12080258

2. 安装及测试

  • 将相关文件解压至相关目录,以   /opt/apache/为例
  • 配置 hbase-2.2.2/conf/hbase-env.sh, 
export JAVA_HOME=/usr/java/jdk1.8.0_161  (jdk路径)
  • 配置 /hbase-2.2.2/conf/hbase-site.xml,

	
	  
		hbase.zookeeper.quorum  
        
		ubuntu  
	 
	  
		hbase.rootdir  
        
		file:///data/apache/hbase/root  
	  
	  
		hbase.tmp.dir  
        
		/data/apache/hbase/tmp  
	  
 
	  
		hbase.zookeeper.property.dataDir 
         
		/data/apache/hbase/zoo  
	  
	
		hbase.unsafe.stream.capability.enforce
		false

	

  • 配置 host ,此步骤影响远程访问 。linux (vi /etc/hosts)

             添加当前计算机ip 名字,比如    192.168.3.1   ubuntu

  • 启动及测试

              (1)    命令行运行    hbase-2.2.2/bin/start-hbase.sh

                             如果出现  running master, logging to /opt/apache/hbase-2.2.2/bin/../logs/hbase-devin-master-ubxxxxxxxxxx

              (2)  且使用 jps 命令查看 有  HMaster 进程 ,则表示成功,入下图

             hbase 环境搭建:单机版、远程访问_第1张图片

              (3)  网页  http://192.168.3.31:16010/master-status   (更改为自己ip或者主机地址)

  • 服务器本地 shell 测试

         (1) 打开工具   hbase-2.2.2/bin/hbase  shell ,如下图

              hbase 环境搭建:单机版、远程访问_第2张图片

      (2) 测试是否通 , 输入命令 list  

           hbase 环境搭建:单机版、远程访问_第3张图片

    (3) 也可以测试建表等命令,比如 

           create 'spark_test','name','sex'

3. 远程连接

  • 如果windows , 配置环境遍历 HADOOP_HOME, 指向  之前准备的hadoop_commen 地址
  • 配置本地host ,  同服务器配置,将服务器ip地址配置为相应的名字。比如  

             

  • 关闭防火墙等
  • 测试是否可通: telnet 192.xxx  2181
  • 编码,pom文件如下
  • 
        1.8
        1.8
        UTF-8
        2.11.12
        2.11
        3.2.1
        2.4.3
        2.2.2
      
    
    
          org.apache.hadoop
          hadoop-client
          ${hadoop.version}
          
            
              commons-httpclient
              commons-httpclient
            
            
              httpcore
              org.apache.httpcomponents
            
            
              hadoop-common
              org.apache.hadoop
            
          
        
        
          org.apache.hbase
          hbase-client
          ${hbase.version}
        
        
          org.apache.hbase
          hbase-common
          ${hbase.version}
        
        
          org.apache.hbase
          hbase-server
          ${hbase.version}
        

  • 部分测试代码
   val tableName = "spark_test"
    val columnFamilys = List("a", "b", "c")
    val conf = HBaseConfiguration.create()
    conf.set("hbase.zookeeper.quorum","ubuntu")
    conf.set("hbase.zookeeper.property.clientPort", "2181")
    val hbaseconn = ConnectionFactory.createConnection(conf)
    val admin:Admin = hbaseconn.getAdmin()
    val myTableName :TableName = TableName.valueOf(tableName)

    if (admin.tableExists(myTableName)) {
      println(tableName +" Table exists!")
      //val tableDesc: HTableDescriptor = new HTableDescriptor(TableName.valueOf(tablename))
      //tableDesc.addCoprocessor("org.apache.hadoop.hbase.coprocessor.AggregateImplementation")
    }else {
      // 表描述器构造器
      println(tableName +" Table not exists!")
      val tdb = TableDescriptorBuilder.newBuilder(TableName.valueOf(tableName))
      if(null != columnFamilys)
        for (columnFamily <- columnFamilys) {
          //列族描述起构造器//列族描述起构造器
          val cdb = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(columnFamily))
          //获得列描述起
          val cfd: ColumnFamilyDescriptor = cdb.build
          //添加列族
          tdb.setColumnFamily(cfd)
        }
      // 获得表描述器
      val td = tdb.build
      admin.createTable(td)
      println("create successful!! ")

    }
    admin.close

可能碰到的问题

* 如果读取 maven xml配置异常,可能是因为 setting.xml 中包含了中文(含注释)或者非UTF8编码

* 如果报错   Could not initialize class org.fusesource.jansi.internal.Kernel32;  可能是因为windows下缺jansi-1.4.jar ;解决方案:下载jansi-1.4.jar包放到hbase-2.2.1\lib下,重新启动即可

你可能感兴趣的:(hbase,hbase,远程,hadoop)