大数据Hadoop集群之超级详细的HBase搭建

这篇具有很好参考价值的文章主要介绍了大数据Hadoop集群之超级详细的HBase搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HBase

1、Hadoop和HBase

  • Hbase是基于Hadoop集群之上来搭建的
  • Hadoop有一些局限性:
    • 做一些批量的数据处理,吞吐量比较高,但是它对随机查询、实时操作性能是不行的
  • HBase是NoSQL数据库的一种,它跟传统的RDBMS有很大的差别
  • 不支持JOIN的,摒弃了关系型模型,而且在HBase中只有一种数据类型:byte[]
  • HBase可以用来存储非常大的表,上亿行的数据,有超过百万列,而且它常用在实时数据处理中。因为它的读写是很快的。

2、Hbase的应用场景

  • HBase只要有海量的数据存储,而且需要快速的写入以及快速的读取场景,就很适合HBase
  • 但NoSQL的特点:对事务的支持性较弱
  • 可以用来存储爬虫的数据,点赞/转发、银行的转账订单…

3、Hbase对于RDBMS对比Hive

Hive
  • 数据仓库工具

Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询

  • 用于数据分析、清洗

Hive适用于离线的数据分析和清洗,延迟较高

  • 基于HDFS、MapReduce

Hive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码执行

HBase
  • lNoSQL数据库

是一种面向列存储的非关系型数据库。

  • 用于存储结构化和非结构化的数据

适用于单表非关系型数据的存储,不适合做关联查询,类似JOIN等操作。

  • 基于HDFS

数据持久化存储的体现形式是Hfile,存放于DataNode中,被ResionServer以region的形式进行管理

  • 延迟较低,接入在线业务使用

面对大量的企业数据,HBase可以直线单表大量数据的存储,同时提供了高效的数据访问速度

总结Hive与HBase
  • Hive和Hbase是两种基于Hadoop的不同技术

  • Hive是一种类SQL的引擎,并且运行MapReduce任务

  • Hbase是一种在Hadoop之上的NoSQL 的Key/value数据库

  • 这两种工具是可以同时使用的。就像用Google来搜索,用FaceBook进行社交一样,Hive可以用来进行统计查询,HBase可以用来进行实时查询,数据也可以从Hive写到HBase,或者从HBase写回Hive

  • RDBMS是关系型数据库支持join、ACID、有schema(创建表的时候必须要指定有哪些列、列是什么类型)…、支持二级索引
  • HBase不支持join的、也不支持ACID、对事务支持有限,无schema(创建表的时候,无需去指定列、列类型)、原生就支持分布式存储的,所以可以用来存储海量数据,同时也兼顾了快速查询、写入的功能

对比Hive:

  • Hive主要用于OLAP,HBase主要用于OLTP,HBase是可以直接接入到业务系统的

4、HBase的安装

注意:

  • HBase依赖于:ZooKeeper、HDFS,在启动HBase之前必须要启动ZK、HDFS,否则HBase无法启动

上传解压HBase安装包

[root@hadoop102 software]# tar -xvzf hbase-1.3.1-bin.tar.gz  -C /opt/module/

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

配置环境变量

vi /etc/profile
#Hbase
export PATH=$PATH:$HBASE_HOME/bin
export HBASE_HOME=/opt/module/hbase-1.3.1/

大数据Hadoop集群之超级详细的HBase搭建

使环境变量生效,运行 source /etc/profile使/etc/profile文件生效

大数据Hadoop集群之超级详细的HBase搭建

配置HBase

hadoop-env.sh

进入HBase配置文件目录

cd /opt/module/hbase-1.3.1/conf/

编辑 hadoop-env.sh 文件,找到 JAVA_HOME 改为 JDK 的安装目录

vi hbase-env.sh
export HBASE_HOME=/opt/module/hbase-1.3.1
export JAVA_HOME=/opt/module/jdk1.8.0_162
export HADOOP_HOME=/opt/module/hadoop-2.7.1
export HBASE_LOG_DIR=$HBASE_HOME/logs
export HBASE_PID_DIR=$HBASE_HOME/pids
export HBASE_MANAGES_ZK=false
  • export HBASE_PID DIR=/var/hadoop/pids

大数据Hadoop集群之超级详细的HBase搭建

  • export HBASE_MANAGES_ZK=false

    • conf/hbase-env.sh 里面的HBASE MANAGES ZK 来切换,这个值默认是true ,作用是让HBase启动的同时也启动ZooKeeper。在安装的过程中,采用独立运行ZooKeeper 集群的方式,故将其属性值改为false 。
  • <3> export HBASE_CLASSPATH=/…/hadoop

  • HBASE_CLASSPATH 是Hadoop 的配置文件路径

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

hbase-site.xml
vi hbase-site.xml
<configuration>
        <!-- HBase数据在HDFS中的存放的路径 -->
        <!-- 设置HRegionServers共享目录,mycluster是我们在hadoop中设置的名字空间 -->
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://hadoop102/hbase</value>
        </property>!--设置HMaster的rpc端口-->
        <property>
			<name>hbase.master.port</name>       
			<value>16000</value>
		</property>
        <!--设置HMaster的http端口-->
        <property>
	    	<name>hbase.master.info.port</name>
	    	<value>16010</value>
	   	</property>
	   	<!--指定zookeeper集群端口-->
	    <property>
	   	   <name>hbase.zookeeper.property.clientPort</name>     #zookeeper端口号
		   <value>2181</value>
		</property>
		<!一指定zookeeper数据目录,需要与zookeeper集群中的dataDir配置相一致 -->
        <property>
			<name>hbase.zookeeper.property.dataDir</name>
			<value>/opt/module/apache-zookeeper-3.5.9-bin/zkdata</value>
        </property>
		
        <!-- Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面 -->
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        <!-- ZooKeeper的地址 -->
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>hadoop102,hadoop103,hadoop104</value>
        </property>
        <!-- 指定缓存文件存储的路径 -->
        <property>
	        <name>hbase.tmp.dir</name>
	        <value>/opt/module/hbase-1.3.1/tmp</value>
	    </property>
</configuration>
  • hbase.rootdir的配置
  • 8020是hdfs的默认端口,但是我们在配置hadoop集群时可能在core-site.xml中将hdfs的默认端口更改,这里我们原本在hadoop搭建时core-site.xml没有配置端口号,所以这里也没有端口号
  • hbase.zookeeper.property.dataDir
    • /opt/module/apache-zookeeper-3.5.9-bin/zkdata路径是之前zookeeper集群搭建时自己创建的文件夹,此为数据存储路径
  • 记得修改成自己的主机名

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

配置regionservers文件

进入hbase 的conf目录下修改regionservers文件regionservers文件负责配置 HBase集群中哪台节点作 Region Server服务器,其配置内容为:

vi regionservers

hadoop102
hadoop103
hadoop104

大数据Hadoop集群之超级详细的HBase搭建

分发配置

(1)将在hadoop102虚机配置好的hbase分发到hadoop103,hadoop104

scp -r /opt/module/hbase-1.3.1 root@hadoop103:/opt/module
scp -r /opt/module/hbase-1.3.1 root@hadoop104:/opt/module

大数据Hadoop集群之超级详细的HBase搭建

(2)将在hadoop102虚机配置好的配置文件(/etc/profile)分发到hadoop103,hadoop104

scp -r /etc/profile root@hadoop103:/etc/
scp -r /etc/profile root@hadoop104:/etc/

大数据Hadoop集群之超级详细的HBase搭建

(3)在hadoop103和hadoop104加载环境变量

source /etc/profile

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

(4)此时切记,我们在配置文件中有输入:

export HBASE_HOME=/opt/module/hbase-1.3.1
export HBASE_PID_DIR=/opt/module/hbase-1.3.1/pids

export HBASE_PID_DIR=/opt/module/hbase-1.3.1/pids在hadoop103和hadoop104上没有,需要创建,上面步骤有提到在/opt/module/hbase-1.3.1目录下面创建一个文件夹: mkdir -p /opt/module/hbase-1.3.1/pids,记得更改这个文件夹的权限,chown -R root:root /opt/module/hbase-1.3.1,将这个目录及子目录的拥有者改为你的当前用户,我这是root,不然执行start-all.sh的时候当前用户会没有权限创建pid文件

大数据Hadoop集群之超级详细的HBase搭建

5、启动HBase

(1)启动zookeeper(在全部虚拟机上启动)

cd /opt/module/apache-zookeeper-3.5.9-bin/bin
./zkServer.sh  start

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

(2)启动hadoop(在hadoop102上启动)

start-all.sh

大数据Hadoop集群之超级详细的HBase搭建

(3)启动hbase(在hadoop102上启动)

start-hbase.sh

大数据Hadoop集群之超级详细的HBase搭建

大数据Hadoop集群之超级详细的HBase搭建

验证HBase是否配置成功

# 在网页输入
hadoop102:16010

大数据Hadoop集群之超级详细的HBase搭建

发现没有成功,下面解决一下

cd /opt/module/hadoop-2.7.1/etc/hadoop
cat core-site.xml

大数据Hadoop集群之超级详细的HBase搭建

cd /opt/module/hbase-1.3.1/conf
vi hbase-site.xml

大数据Hadoop集群之超级详细的HBase搭建

两个端口号要一致

再次访问网页

成功进入,说明配置成功

大数据Hadoop集群之超级详细的HBase搭建

6、启动hbase shell客户端

HBase的shell其实JRuby的IRB(交互式的Ruby),但在其中添加了一些HBase的命令。

启动HBase shell:

hbase shell
[root@hadoop102 conf]# start-hbase.sh
starting master, logging to /opt/module/hbase-1.3.1/logs/hbase-root-master-hadoop102.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
hadoop103: regionserver running as process 4075. Stop it first.
hadoop104: regionserver running as process 4081. Stop it first.
hadoop102: regionserver running as process 5131. Stop it first.
[root@hadoop102 conf]# cd
[root@hadoop102 ~]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/module/hbase-1.3.1/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/module/hadoop-2.7.1/share/hadoop/common/lib/slf4j-log4j12-1.7.10.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]
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.3.1, r930b9a55528fe45d8edce7af42fef2d35e77677a, Thu Apr  6 19:36:54 PDT 2017

hbase(main):001:0>

输入status

hbase(main):001:0> status

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
	at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2452)
	at org.apache.hadoop.hbase.master.MasterRpcServices.getClusterStatus(MasterRpcServices.java:792)
	at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:58519)
	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2339)
	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:123)
	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:188)
	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:168)

Here is some help for this command:
Show cluster status. Can be 'summary', 'simple', 'detailed', or 'replication'. The
default is 'summary'. Examples:

  hbase> status
  hbase> status 'simple'
  hbase> status 'summary'
  hbase> status 'detailed'
  hbase> status 'replication'
  hbase> status 'replication', 'source'
  hbase> status 'replication', 'sink'


hbase(main):002:0> 

创建表

大数据Hadoop集群之超级详细的HBase搭建

语法:

create ‘表名’,‘列蔟名’…

HBase是没有schema的,就是在创建表的时候不需要指定表中有哪些列,只需要指定有多少个列蔟

create "表名","列蔟1", "列蔟2"

总结

以上就是今天要讲的内容,本文仅仅简单介绍大数据Hadoop集群之HBase搭建步骤,按照以上步骤和老师讲解相结合相信你也可以成功安装。文章来源地址https://www.toymoban.com/news/detail-412626.html

到了这里,关于大数据Hadoop集群之超级详细的HBase搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 大数据集群搭建全部过程(Vmware虚拟机、hadoop、zookeeper、hive、flume、hbase、spark、yarn)

    1.网关配置(参照文档) 注意事项:第一台虚拟机改了,改为centos 101 ,地址为192.168.181.130 网关依然是192.168.181.2,但是一定要注意,它在D盘的文件名称是Hadoop 101,后面重新搭建的会命名文件夹为hadoop 101,hadoop 102和hadoop 103,然后发到一个总的文件夹hadoop_03里面去 VMnet8的IP地址一定

    2024年02月02日
    浏览(85)
  • 实操Hadoop大数据高可用集群搭建(hadoop3.1.3+zookeeper3.5.7+hbase3.1.3+kafka2.12)

    前言 纯实操,无理论,本文是给公司搭建测试环境时记录的,已经按照这一套搭了四五遍大数据集群了,目前使用还未发现问题。 有问题麻烦指出,万分感谢! PS:Centos7.9、Rocky9.1可用 集群配置 ip hostname 系统 CPU 内存 系统盘 数据盘 备注 192.168.22.221 hadoop1 Centos7.9 4 16 250G 19

    2024年02月03日
    浏览(32)
  • hadoop完全分布式集群搭建(超详细)-大数据集群搭建

    本次搭建完全分布式集群用到的环境有: jdk1.8.0 hadoop-2.7.7 本次搭建集群所需环境也给大家准备了,下载链接地址:https://share.weiyun.com/dk7WgaVk 密码:553ubk 本次完全分布式集群搭建需要提前建立好三台虚拟机,我分别把它们的主机名命名为:master,slave1,slave2 一.配置免密登陆 首先

    2024年02月10日
    浏览(38)
  • 大数据技术之HBase(超级详细)

    第1章 HBase简介 1.1 什么是HBase HBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储。 官方网站:http://hbase.apache.org – 2006年Google发表BigTable白皮书 – 2006年开始开发HBase – 2008年北京成功开奥运会,程序员

    2024年01月16日
    浏览(41)
  • 云计算集群搭建记录[Hadoop|Zookeeper|Hbase|Spark | Docker |OpenStack]更新索引 |动态更新

    为了能够更好的查看所更新的文章,讲该博文设为索引 为了解决在编辑文件等操作的过程中的权限问题,博主一律 默认采用 root 账户登录 对于初次安装的用户可以采用如下命令行: 另外推荐一款终端工具:Tabby,既能够连接自己的服务器,也能够连接自己本地的虚拟机,还

    2023年04月13日
    浏览(46)
  • [Hadoop高可用集群]数仓工具之Hive的安装部署(超级详细,适用于初学者)

    📕作者:喜欢水星记 🏆系列:Hadoop高可用集群 🔋收藏:本文记录我搭建过程供大家学习和自己之后复习,如果对您有用,希望能点赞收藏加关注 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转

    2024年02月05日
    浏览(44)
  • 《Hadoop核心技术》Hbase集群部署,创建表,删除表,插入数据,查询数据

    额前言:         我是一名正在学习《Hadoop核心技术》的学生,今天跟大家分享一下在虚拟机上在Hadoop集群中用Hbase进行简单的增删查 可以进行随机访问的存取和检索数据的存储平台         HBase 是一个开源的、分布式的、版本化的 NoSQL 数据库(也即非关系型数据库

    2024年02月03日
    浏览(32)
  • Hadoop集群环境搭建(超详细)

    Oracle Linux 7.4 JDK 1.8 Hadoop 2.7.4 1.实验准备三台机器分别为master,slave1,slave2 2.单击master机器桌面中的konsole图标 1.编辑/etc/hosts文件,出现如下界面 [Command 001]: 2.按i键,如下图 3.第一行前面添加#,如下图 4.按键ESC,按键:wq回车,保存退出。如下图 5.切换到slave1机器,重复1~4步骤 6

    2024年02月07日
    浏览(27)
  • Hadoop简介以及集群搭建详细过程

    hadoop加群包括两个集群:hdfs集群,yarn集群 两个集群逻辑上分离,通常物理上在一起 两个集群都是标准的主从架构集群 逻辑上分离:两个集群相互之间没有依赖,互不影响 物理上在一起:某些角色今晚往往部署在同一台物理服务器上 MapReduce集群呢? MapReduce是计算框架、代

    2024年02月16日
    浏览(28)
  • Hadoop集群搭建安装教程(详细完整)

    大数据 :最早提出“大数据”时代到来的是全球知名咨询公司麦肯锡,大数据是当前很热的一个词。这几年来,云计算、继而大数据,成了整个社会的热点,大数据究竟是什么东西?有哪些相关技术? Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理

    2024年02月08日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包