HBase 安装与配置

前言

作为谷歌三剑客中BigTable的开源实现, HBase也是大数据领域必不可少的一环. 本章主要讲解如何安装HBase.


前置条件

  • JDK
  • Hadoop
  • ZooKeepr(可以选择HBase自带)

安装流程

Mac上可以选择使用homebrew进行安装, 也可以选择手动安装. 为了了解其中的配置流程, 我选择手动安装. 当然, 如果你觉得手动安装过于繁琐, 你可以参考Mac安装HBase这篇文章, 进行安装.

手动安装

手动安装HBase主要有如下几个流程:

  • 下载安装文件, 并解压, 创建软连接.
  • 配置环境变量(为了使用更加方便).
  • 配置相关配置文件.

OK. 下面我们详细讲述下面的几个流程:

  • 下载安装文件.

    • 0.x版本的下载地址为http://archive.apache.org/dist/hadoop/hbase/
    • 2.x版本的下载地址为http://mirrors.tuna.tsinghua.edu.cn/apache/hbase/hbase-1.2.11/hbase-1.2.11-bin.tar.gz
      在这里插入图片描述
      就笔者下载时, HBase已经发展到2.x版本, 但是开源的初期版本不是特别稳定. 所以使用1.2.11作为本章的安装对象.
  • 解压, 配置环境变量.

# 解压 配置软连接
tar -zxvf hbase-1.2.11-bin.tar.gz
ln -s /Users/Sean/Software/HBase/ hbase-1.2.11-bin current
#/etc/profile 文件
export HBASE_HOME=/Users/Sean/Software/HBase/current
export PATH=$PATH:$HBASE_HOME/bin

# 配置完成后, wq! 强制写入
# 配置完成后 source /etc/profile 文件立即生效

# 验证配置完成 输入hbase命令即可
localhost:HBase Sean$ hbase
Usage: hbase [<options>] <command> [<args>]
Options:
  --config DIR    Configuration direction to use. Default: ./conf
  --hosts HOSTS   Override the list in 'regionservers' file
  --auth-as-server Authenticate to ZooKeeper using servers configuration

Commands:
Some commands take arguments. Pass no args or -h for usage.
  shell           Run the HBase shell
  hbck            Run the hbase 'fsck' tool
  snapshot        Create a new snapshot of a table
  snapshotinfo    Tool for dumping snapshot information
  wal             Write-ahead-log analyzer
  hfile           Store file analyzer
  zkcli           Run the ZooKeeper shell
  upgrade         Upgrade hbase
  master          Run an HBase HMaster node
  regionserver    Run an HBase HRegionServer node
  zookeeper       Run a Zookeeper server
  rest            Run an HBase REST server
  thrift          Run the HBase Thrift server
  thrift2         Run the HBase Thrift2 server
  clean           Run the HBase clean up script
  classpath       Dump hbase CLASSPATH
  mapredcp        Dump CLASSPATH entries required by mapreduce
  pe              Run PerformanceEvaluation
  ltt             Run LoadTestTool
  version         Print the version
  CLASSNAME       Run the class named CLASSNAME
  • 配置文件
    • 配置文件 regionservers 配置的为所有结点主机名
    • 配置文件 hbase-env.sh 配置的是Hadoop的classpath, 以及ZooKeeper的相关内容.
    • 配置文件hbase-site.xml 配置的是HBase自身的相关配置.
      其配置文件内容如下:
# regionservers 
# 单机就配置为localhost
localhost
# hbase-env.sh
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home
export HBASE_CLASSPATH=/Users/Sean/Software/hadoop/hadoop-2.7.5/conf
# 老版本说需要配置JAVA_CLASSPATH 我没遇到
#export JAVA_CLASSPATH=.:$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar
# JVM参数
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
# 使用自身的ZooKeeper设置为 false, 使用自带ZooKeeper使用为true
export HBASE_MANAGES_ZK=false
# habse-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<!--hbase 在hadoop内的使用地址-->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>

  <!--hbase 使用模式-->
  <!--分布式会启动HMaster和RegionServer-->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>

  <!--ZK Client out-->
  <!--外部ZK地址, 使用HBase自带的不用配置-->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost:2181,localhost:2182,localhost:2183</value>
  </property

</configuration>
  • 保存, 使用bin/start-hbase.sh启动HBase.
./bin/start-hbase.sh

完成后的ZKHadoop上会创建相应的结点:
在这里插入图片描述
在这里插入图片描述
HBase 1.x 端口改成了 16010. 访问 http://localhost:16010 . 0.x版本是60010.

HBase无法访问60010端口???
在这里插入图片描述
访问ReginonServer . 这个地址我是通过jps -lm命令查询出来的. http://localhost:16301/rs-status
在这里插入图片描述


Q&A

Hbase 所有相关日志都在 logs/目录下, 可以看下问题.

  • ZooKeeper链接不上.
2019-04-09 21:07:40,357 INFO  [main-SendThread(localhost:2183)] zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2183. Will not attempt to authenticate using SASL (unknown error)
2019-04-10 03:55:41,140 INFO  [main-SendThread(localhost:2181)] zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2019-04-10 03:55:50,642 INFO  [regionserver/localhost/127.0.0.1:16201-SendThread(localhost:2182)] zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2182. Will not attempt to authenticate using SASL (unknown error)
2019-04-10 13:27:55,285 INFO  [regionserver/localhost/127.0.0.1:16201-SendThread(localhost:2183)] zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2183. Will not attempt to authenticate using SASL (unknown error)

解决措施: 貌似, 自带的ZK没有链接上. 查看端口是否占用, 或者更换本地的ZooKeeper即可.
zookeeper 入坑二: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to aut
zookeeper的Will not attempt to authenticate using SASL (无法定位登录配置)


Reference

[1]. 毕业生浅谈Google架构
[2]. (这篇挺好)HBase介绍、搭建、环境、安装部署
[3]. HBase参数配置及说明
[4]. HBase环境搭建60010端口无法访问问题解决方案
[5]. HBase 超详细介绍
[6]. HBase集成Zookeeper集群部署
[7]. HBase介绍及简易安装
[8]. HBase-单机模式安装
[9]. HBase核心知识点总结

发布了311 篇原创文章 · 获赞 327 · 访问量 80万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览