大数据:HBase安装、配置及使用

这篇具有很好参考价值的文章主要介绍了大数据:HBase安装、配置及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大数据,HBase,python

大数据:HBase安装、配置及使用

一、下载

HBase官网:http://archive.apache.org/dist/hbase/ 下载 hbase-2.2.2-bin.tar.gz。

二、安装和配置

1. 搭建hadoop环境

首先确保安装好了Hadoop3.1.3,因为HBase对Hadoop具有版本依赖性,并且所有操作是在新建的名为hadoop的用户下执行的。可参考我的另一篇博文https://blog.csdn.net/Acegem/article/details/122880274?spm=1001.2014.3001.5502。

2. 安装

然后进行如下操作:

su hadoop # 切换到名为hadoop的用户
sudo tar -xzvf hbase-2.2.2-bin.tar.gz -C /usr/local  # 解压到/usr/local/目录下
cd /usr/local
sudo mv ./hbase-2.2.2 ./hbase  # 重命名,方便使用
sudo chown -R hadoop ./hbase # 把hbase目录权限赋予给hadoop用户

配置环境变量:
打开终端输入sudo vim ~/.bashrc,将/usr/local/hbase/bin添加到环境变量中:
export PATH=$PATH:/usr/local/hbase/bin
可参考我的另一篇Spark的博文https://blog.csdn.net/Acegem/article/details/122878998?spm=1001.2014.3001.5502,这里有所有大数据相关的环境变量配置。
记得输入source ~/.bashrc使环境变量生效!
配置hbase变量
输入

cd /usr/local/hbase
sudo vim /usr/local/hbase/bin/hbase

将/usr/local/hbase/bin/hbase文件的162行处的CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar修改为:
CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:/usr/local/hbase/lib/*
如下图:
大数据:HBase安装、配置及使用
有的时候还需要再输入一下

cd /usr/local/hase
sudo source ./bin/hbase  # 一定要有sudo

使hbase配置生效。

:如果不进行这一步/usr/local/hbase/bin/hbase文件的配置,下面输入./bin/hbase version进行版本验证会报错:
Error: Could not find or load main class org.apache.hadoop.hbase.util.GetJavaProperty。当然hbase shell也启动不了。
大数据:HBase安装、配置及使用

3. 验证

输入

cd /usr/local/hbase
./bin/hbase version

或直接输入/usr/local/hbase/bin/hbase version 进行验证。如果看到输出版本消息则表示安装成功,如下:
大数据:HBase安装、配置及使用
如果这一步出现“无效的变量名”类似的警告信息:

/usr/local/hadoop/libexec/hadoop-functions.sh: 行 2360: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER:无效的变量名
/usr/local/hadoop/libexec/hadoop-functions.sh: 行 2455: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS:无效的变量名

大数据:HBase安装、配置及使用这是因为Hbase找不到Hadoop的Classs,可以参考本文后面章节的

## 四、配置文件的一些其他配置
### (一)配置`/usr/local/hbase/conf/hbase-env.sh` 文件
#### 1. 禁止Hbase查找Hadoop的Classs

内容,将其注释掉。

4. 安装模式配置

HBase的安装运行有三种模式:单机模式、伪分布式模式、分布式模式。
我选择HBase伪分布式模式配置,后面的单机模式配置参考即可。

1) 伪分布式模式配置

伪分布式模式即结合HDFS,将Hbase数据存储到HDFS中,可在下面的第(2)步 hbase-site.xml 配置文件中进行HBase在HDFS中的存储目录设置。我们不妨将存储位置设为:HDFS中的 “/hbase” 目录(其中"/"表示HDFS的根目录),这个目录不需要事先新建好,会在配置完成以后通过启动HBase再关闭HBase就能自动生成这个/bbase目录。下面的三、启动(iv)中会有讲到。

(1)编辑 /usr/local/hbase/conf/hbase-env.sh 文件

修改内容如下:

# 第28行位置
export JAVA_HOME=/usr/local/java/jdk1.8.0_271
# 第31行位置
export HBASE_CLASSPATH=/usr/local/hbase/conf
# 第126行位置
# HBASE_MANAGES_ZK设置为true,表示由hbase自己管理zookeeper,不需要单独的zookeeper。HBASE_MANAGES_ZK == hbase_manages_ZK(ZK==zookeeper)
export HBASE_MANAGES_ZK=true

(这些都是已经存在的注释,将注释去掉再修改下即可,可以在vim模式下输入:+/来检索定位位置,使用n来进行Next翻页。)

(2)编辑 /usr/local/hbase/conf/hbase-site.xml 文件

假设当前Hadoop集群在本机上运行在伪分布式模式下,其NameNode运行在9000端口。
/usr/local/hbase/conf/hbase-site.xml 文件的内容由:

<configuration>
</configuration>

改为:

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
		        <name>hbase.unsafe.stream.capability.enforce</name>
		        <value>false</value>
    	</property>
</configuration>

上面配置解释如下:

<configuration>
        <property>
        		<!--指定HBase数据在HDFS上的存储路径,即HDFS中的 "/hbase" 目录(其中"/"表示HDFS的根目录),这个目录不需要事先新建好,会在配置完成以后通过启动HBase再关闭HBase就能自动生成这个/bbase目录。下面的三、启动(iv)中会有讲到。这个目录是region server的共享目录,用来持久化HBase -->
                <name>hbase.rootdir</name>
                <!--,-->
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
        		<!--true表示设置hbase集群处于分布式模式-->
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
        		<!--hbase.unsafe.stream.capability.enforce这个属性设置成false,是为了避免出现启动错误。-->
		        <name>hbase.unsafe.stream.capability.enforce</name>
		        <value>false</value>
    	</property>
</configuration>

  • hbase.rootdir:HBase数据的存储目录。
    默认HBase数据是存储在本地/tmp中的。如果不改这个配置,数据会在重启的时候丢失。所以这个目录要么设置成HDFS目录,要么在下面单机配置模式下设置成本地目录。
  • hbase.unsafe.stream.capability.enforce:控制HBase是否检查流功能(hflush / hsync)。
    如果您打算在rootdir表示的LocalFileSystem上运行,那就禁用此选项。如果没有设置hbase.unsafe.stream.capability.enforce为false,那么,在启动HBase以后,会出现无法找到HMaster进程的错误,启动后查看系统启动日志(/usr/local/hbase/logs/hbase-hadoop-master-ubuntu.log),会发现如下错误:
2020-01-25 15:04:56,916 ERROR [master/localhost:16000:becomeActiveMaster] master.HMaster: Failed to become active master
java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.
2) 单机模式配置
(1)编辑 /usr/local/hbase/conf/hbase-env.sh 文件

修改内容如下:

# 第28行位置
export JAVA_HOME=/usr/local/java/jdk1.8.0_271
# 第126行位置。
# HBASE_MANAGES_ZK设置为true,表示由hbase自己管理zookeeper,不需要单独的zookeeper。
export HBASE_MANAGES_ZK=true

(这些都是已经存在的注释,将注释去掉再修改下即可,可以在vim模式下输入:+/来检索定位位置,使用n来进行Next翻页。)

(2)编辑 /usr/local/hbase/conf/hbase-site.xml 文件

因为是单机模式配置,要先在本地新建一个目录来保存HBase数据,如在/usr/local/hbase/目录下新建myHBaseData目录,即在/usr/local/hbase/myHBaseData目录下存放HBase数据,并将其属性设置在配置文件中。如下:
/usr/local/hbase/conf/hbase-site.xml 文件的内容由:

<configuration>
</configuration>

改为:

<configuration>
        <property>
        		<!--指定HBase数据在本地上的存储路径,即上面新建的/usr/local/hbase/myHBaseData目录 -->
                <name>hbase.rootdir</name>
                <value>file:///usr/local/hbase/myHBaseData</value>
        </property>
</configuration>

三、启动

(i)先启动hadoop

su hadoop # 切换hadoop用户
sudo service ssh start
ssh localhost
cd /usr/local/hadoop
./sbin/start-dfs.sh

输入jps,可以看到NameNode,DataNodeSecondaryNameNode都已经成功启动,表示hadoop启动成功。

(ii)再启动Hbase

输入

cd /usr/local/hbase
# 启动Hbase
./bin/start-hbase.sh

如下图(伪分布式模式为例):
大数据:HBase安装、配置及使用
输入jps可以看到HMasterHRegionServerHQuorumPeer都已经成功启动,表示Hbase也启动成功。
综合(i)(ii),此时应该出现的进程列表:

Jps

# Hadoop进程
NameNode
DataNode
SecondaryNameNode

# HBase进程
Hmaster
HregionServer
HQuorumPeer

(iii)进入HBase shell界面:

输入

cd /usr/local/hbase
# 启动Hbase shell
./bin/hbase shell

成功进入,如下:
大数据:HBase安装、配置及使用

(iv)停止Hbase运行:

输入

cd /usr/local/hbase
# 停止Hbase运行
./bin/stop-hbase.sh

停止需要耐心等待一会,如下为停止成功:
大数据:HBase安装、配置及使用

附:此时,我们还可以查看上面自定义的HDFS中的/hbase目录,如下:

cd /usr/local/hadoop
# 查看HDFS的根目录“/”
./bin/hdfs dfs -ls /

结果:
大数据:HBase安装、配置及使用
可看到会在HDFS根目录"/"下自动生成了/hbase目录和/tmp目录。
顺便再查看一下里面的内容:
大数据:HBase安装、配置及使用大数据:HBase安装、配置及使用大数据:HBase安装、配置及使用

(v)停止Hadoop运行:---- 一定要先关闭停止Hbase才能关闭Hadoop

cd /usr/local/hadoop
# 停止hadoop运行
./sbin/stop-dfs.sh

大数据:HBase安装、配置及使用

注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hbase)下的logs子目录中的日志文件查看错误原因。

注意:这里启动关闭Hadoop和HBase的顺序一定是:启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop

四、配置文件的一些其他配置

(一)配置/usr/local/hbase/conf/hbase-env.sh 文件

1. 禁止Hbase查找Hadoop的Classs

当在启动hbase时出现警告:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
...

要想让这些警告不显示,可以修改/usr/local/hbase/conf/hbase-env.sh 文件来禁止Hbase查找Hadoop的Classs,修改内容如下:

# 第139行位置
# 禁止Hbase查找Hadoop的Classs
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
2. 关闭启动Hbase shell出现的警告

当启动Hbase Shell时,出现警告:

WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... 
using builtin-java classes where applicable

跳出警告的原因就是Hbase没有识别到native-hadoop librarys这个库。当然这条警告是不影响 Hbase 运行的。如果想去掉这个警告,可以设置让Hbase识别到native-hadoop librarys这个库,而且这个库文件有助于提高 Hbase 的运行速度:
这里参考官方的解决方案:http://hbase.apache.org/book.html#hadoop.native.lib
其操作是在/usr/local/hbase/conf/hbase-env.sh文件中追加如下内容:

export LD_LIBRARY_PATH=/usr/local/hadoop/lib/native:$LD_LIBRARY_PATH


如果你的 Hadoop没法加载本地库,则需要把下面的内容追加到 /usr/local/hadoop/etc/hadoop/hadoop-env.sh 或者 ~/.bashrc 中:

export  HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export  HADOOP_HOME=/usr/local/hadoop
export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

五、使用

打开上面说的Hbase shell,可以进行Hbase数据库操作。

例1.

要创建如下图的表:

id info
name gender age
1 zhangsan F 25
2 lisi M 26

可在HBase Shell中执行如下命令:

1)创建student表:
hbase> create 'student', 'info'
2)插入数据到student表:
// 插入第1个学生的信息。
hbase> put 'student', '1', 'info:name', 'zhangsan'
hbase> put 'student', '1', 'info:gender', 'F'
hbase> put 'student', '1', 'info:age', '25'

// 插入第2个学生的信息。
hbase> put 'student', '2', 'info:name', 'lisi'
hbase> put 'student', '2', 'info:gender', 'M'
hbase> put 'student', '2', 'info:age', '26'
3)查询student表:
# 查询id=2的学生信息。相当于mysql: select * ... where id = 1
hbase> get 'student', '2'
# 查询所有数据(扫描全表)。相当于mysql: select * ...
hbase> scan 'student'

结果如下:
大数据:HBase安装、配置及使用
大数据:HBase安装、配置及使用文章来源地址https://www.toymoban.com/news/detail-470020.html

4)删除student表:
hbase> disable 'student'
hbase> drop 'student'

到了这里,关于大数据:HBase安装、配置及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hadoop安装配置HBase

    1、文件准备 http://archive.apache.org/dist/hbase/1.3.1/下载hbase-1.3.1-bin.tar.gz并上传到虚拟机/root目录下。 2、安装          切换目录 [root@hadoop00 ~]# cd /usr/local 新建文件夹 [root@hadoop00 local]# mkdir hbase 解压文件 [root@hadoop00 local]# tar zxvf /root/hbase-1.3.1-bin.tar.gz -C /usr/local/hbase 3、环境变量

    2024年01月24日
    浏览(50)
  • 安装和配置HBase

    一、下载 阿里云镜像下载比较快。 https://mirrors.aliyun.com/apache/hbase/2.4.12/ 二、安装 1、解压 解压安装包hbase-2.4.12-bin.tar.gz至路径 /usr/local 2、把hbase目录权限赋予给hadoop用户 3、配置环境变量 将hbase下的bin目录添加到path中,这样,启动hbase就无需到/usr/local/hbase目录下,大大的方便

    2024年02月02日
    浏览(31)
  • Hbase的安装配置

    注:本文默认已经完成hadoop的下载以及环境配置 1.上传zookeeper和hbase压缩包到指令路径并且解压 (理论上讲,hbase其实内置了zookeeper,我们也可以不另外下载,另外下载的目的在于减少组件间依赖性)   注:这里的下载、解压地址没有特殊规定。本文下载的地址为/home/hbase目录

    2024年01月16日
    浏览(27)
  • 安装配置HBase

    HBase集群需要整个集群所有节点安装的HBase版本保持一致,并且拥有相同的配置,具体配置步骤如下: 1. 解压缩HBase的压缩包 2. 配置HBase的环境变量 3. 修改HBase的配置文件,HBase的配置文件存放在HBase安装目录下的conf中 4. 首先在一台节点对整个HBase集群进行配置,再将此节点的

    2024年03月16日
    浏览(36)
  • Hbase的安装与配置

    Hbase: 是基本Hadoop 的一个数据库,全名叫Hadoop Database hadoop 的数据库,所以安装hbase之前一定要把,hadoop装好。 1,ssh 免密测试 输入命令: ssh localhost 因为之前安装Hadoop的时候已经把免密做好了,所以现在不用做了 输入命令: cd .ssh 进入ssh目录 输入命令: ssh-keygen -t rsa 之后会生成

    2024年01月21日
    浏览(34)
  • 实验三 HBase1.2.6安装及配置

    实验一 VMware 17 虚拟机下安装Ubuntu16.04 实验二 Hdoop2.7.6+JDK1.8+SSH的安装部署与基本操作 实验三 HBase1.2.6安装及配置 在安装HBase1.2.6之前,需要安装好hadoop2.7.6。 本篇文章参考:HBase2.2.2安装和编程实践指南 Hbase下载两种方式: 其一是去官网下载:http://archive.apache.org/dist/hbase/ 其二

    2024年02月08日
    浏览(36)
  • Ubuntu实现Hive与HBase的安装与配置(单机)

    (一)Hive的安装与配置  Hive下载链接: https://mirrors.bfsu.edu.cn/apache/hive/ (1)将下载好的Hive文件(版本:3.1.2)解压到/usr/local目录下 (2)切换至目录 /usr/local,将文件夹名改为hive,并且修改文件权限给本账户 配置环境变量:为了方便使用,需把hive命令加入到环境变量中去

    2024年04月08日
    浏览(45)
  • Ubuntu系统中分布式安装配置HBase-2.3.7

     HBase是一个基于Hadoop的分布式列式数据库,可以存储海量的结构化和半结构化数据。本文介绍如何在三个Ubuntu系统上搭建一个HBase集群,并进行简单的数据操作。 在三个Ubuntu系统上分布式安装配置HBase-2.3.7,主要步骤包括: 准备工作:下载安装包,设置环境变量,解压安装包

    2024年02月06日
    浏览(40)
  • Hadoop 之 Hbase 配置与使用(四)

    HBase 是一个分布式的、面向列的开源数据库:Hbase API Hbase 下载 跳转到下载链接 1.启动 hadoop 集群 Hadoop 集群搭建参考:Hadoop 搭建 2.启动 zookeeper 集群 ZOOKEEPER 集群搭建说明 3.启动 hbase 集群 查看 UI 监控:http://192.168.1.6:16010/master-status 4.集群启停脚本 测试配置效果 JDK 版本 工程

    2024年02月15日
    浏览(38)
  • Docker 安装HBase 并使用

    ps:安装完成HBase后记得将docker 容器ID与ip配置到hosts文件,并重启网卡网络信息  1.创建docker-compose.yml文件 使用docker-compose命令运行: 2.修改配置文件   (1).修改hbase-site.xml配置文件     hbase.rootdir  修改成  hbase.root.dir   (2).在hbase-env.sh里面添加   (3).重启hbase即可 1.建表 2.插入数

    2024年02月01日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包