当前位置:   article > 正文

【hadoop】hbase的安装部署以及相关操作(图文详解)_hbase安装(1)

【hadoop】hbase的安装部署以及相关操作(图文详解)_hbase安装(1)
+ [6.3.查看数据](#63_302)
+ [6.4.删除表](#64_308)
  • 1
  • 2

引言

HBase是一种基于列存储的分布式数据库系统,它能够快速地存储和处理大规模数据。与传统的关系型数据库不同,HBase采用了分布式的架构,能够实现数据的高可靠性、高可扩展性和高性能。在实际应用中,正确地安装和部署HBase集群是非常重要的。

1、准备环节

1.1设备基本要求

在安装hbase之前,需要虚拟机满足以下几个条件:

1.HBase集群需要依赖Hadoop和Zookeeper,所以 必须保证自己的集群装好了hadoop和zookeeper。在Hadoop中,需要配置HDFS和YARN,以支持HBase的分布式部署和资源管理。在Zookeeper中,需要配置Zookeeper集群,以支持HBase的分布式环境下的协调和管理。
2.存储:HBase需要大量的内存来存储数据,建议虚拟机的磁盘空间不少于100GB。如果虚拟机的存储空间不足,可能会导致HBase无法存储数据或者出现存储空间不足的错误。

3.虚拟化技术:HBase可以在虚拟机中运行,需要选择支持硬件虚拟化的虚拟化技术,例如Hyper-V、VMware等,如图1所示。

在这里插入图片描述

  • 图1·更新后的VMware

1.2安装包

在安装和部署HBase时,需要注意Hadoop与HBase的版本兼容性问题。因为HBase依赖于Hadoop的分布式文件系统HDFS和资源管理框架YARN,而且HBase的各个版本都会对Hadoop的版本有一定的要求。如果选用了不兼容的版本,可能会导致HBase无法正常工作或者出现各种错误。

想要快速了解自己使用的hadoop版本与hbase版本是否兼容,可参考下图。
下图没有的,可以打开该网址进行查看:hadoop与hbase版本兼容性查看

本文使用的hadoop版本与hbase版本分别是hadoop-2.7.1,hbase-1.4.8。
需要下载hbase安装包的可以去以下网址:hbase安装包下载

在这里插入图片描述

2、修改相关信息

本文所使用的虚拟机来自于队友,与队友使用的机器不是同一台,所以需要修改IP和IP映射。假如你也是从其他渠道取到别人配置好的hadoop与zookeeper环境的虚拟机,记得修改哦,否则导致无法连接网络等一系列问题。

2.1修改ip

输入一下命令,进入ifcfg-ens33这个文件修改ip,所有集群都要改。

进入后按以下说明修改:

1.设置IP,要和你电脑的VMnet8的IP在同一个网段。假设VMnet8的IP是192.168.233.1,子网掩码是255.255.255.0,那么你的IP就可以设置192.168.233.3 ~ 192.168.233.254中的任意一个IP。
2.设置子网掩码,和你电脑VMnet8的子网掩码一致
3.设置网关,默认xxx.XXX.XXx.2,网段和VMnet8一致

vi /etc/sysconfig/network-scripts/ifcfg-ens33

  • 1
  • 2

在这里插入图片描述
修改完后输入以下命令重启网卡,重启后ping一下外网,能ping通的话就说明成功了。

systemctl restart network

  • 1
  • 2

在这里插入图片描述

2.2修改ip映射

输入以下命令,编辑/etc/hosts文件,修改ip映射,所有集群都要改,与前面修改好的ip一致。

vi /etc/hosts

  • 1
  • 2

在这里插入图片描述

3、安装与部署

3.1.上传安装包

将hbase-1.4.8.tar.gz上传到虚拟机的/usr/local路径。
在这里插入图片描述

3.2.解压安装包

解压hhbase-1.4.8.tar.gz到当前路径。

tar -xzvf hbase-1.4.8.tar.gz

  • 1
  • 2

在这里插入图片描述

3.3.配置HBASE_HOME

3.3.1修改hbase-env.sh

进入hbase-1.4.8/conf/路径下,输入以下命令编辑hbase-env.sh文件,配置JAVA环境变量。

vi hbase-env.sh

  • 1
  • 2

在这里插入图片描述

3.3.2修改core-site.xml

输入以下命令编辑hbase-site.xml文件, 配置文件如下,可直接复制。然后根据实际情况进行修改。

以下是几个比较重要的配置信息说明:

hbase.rootdir
这个目录是region server的共享目录,用来持久化HBase。URL需要是’完全正确’的。例如,要表示hdfs中的’/hbase’目录,namenode 运行在namenode.example.org的9090端口。则需要设置为hdfs://namenode.example.org:9000/hbase。默认情况下HBase是写到/tmp的。不改这个配置,数据会在重启的时候丢失。
默认: file:///tmp/hbase-${user.name}/hbase
hbase.master.port
HBase的Master的端口.
默认: 60000

hbase.master.info.port
HBase Master web 界面端口. 设置为-1 意味着你不想让他运行。
0.98 版本以后默认: 16010 以前是 60010

hbase.cluster.distributed
HBase的运行模式。false是单机模式,true是分布式模式。若为false,HBase和Zookeeper会运行在同一个JVM里面。

hbase.zookeeper.quorum
Zookeeper集群的地址列表,用逗号分割。例如:“host1.mydomain.com,host2.mydomain.com,host3.mydomain.com”.默认是localhost,是给伪分布式用的。要修改才能在完全分布式的情况下使用。如果在hbase-env.sh设置了HBASE_MANAGES_ZK,这些ZooKeeper节点就会和HBase一起启动。

<configuration>
 <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>

  <property>
    <name>hbase:zookeeper.property.dataDir</name>
    <value></value>
  </property>

<property>
        <name>hbase.zookeeper.quorum</name>
         <value>master,slave1,slave2</value>
 </property>


  <property>
    <name>hbase.master.maxclockskew</name>
    <value>180000</value>
  </property>


<property>
     <name>dfs.replication</name>
       <value>2</value>
 </property>


<property>
        <name>hbase.rootdir</name>
         <value>hdfs://master:8020/hbase</value>
 </property>

<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>flase</value>
</property>

<property>
                <name>hbase.master.info.port</name>
                <value>16010</value>
</property>
<property>
  <name>hbase.unsafe.stream.capability.enforce</name>
  <value>false</value>
</property>

</configuration>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

3.3.3修改/etc/profile
用以下命令进入/etc/profile文件,编辑hbase的环境变量,然后使用source方法使profile文件生效。

vi /etc/profile

  • 1
  • 2
source /etc/profile

  • 1
  • 2

在这里插入图片描述

3.3.4拷贝文件

使用scp方法,拷贝hbase-1.4.8文件到其他两个集群的/us/local/下。其中,@后面的参数是集群的名称,冒号后面的参数是目标路径。

scp -r hbase-1.4.8 root@slave1:/usr/local

  • 1
  • 2

在这里插入图片描述

4、启动

启动habse时,由于hbase依赖于hdfs和zookeeper,所以要先启动hadoop和zookeeper,然后再启动hbase。

4.1启动zookeeper

先使用以下命令对所有集群启动zookeeper,然后使用catjps查看所有集群的进程。看到QuorumPeerMain进程表示启动成功了。

zkServer.sh start

  • 1
  • 2

在这里插入图片描述

4.2启动hdfs

使用以下两条命令启动hdfs进程和yarn服务。

start-dfs.sh 

  • 1
  • 2
start-yarn.sh

  • 1
  • 2

启动hadoop后,进入web端查看是否启动成功,顺便检查HV有无问题。
在这里插入图片描述

4.3启动hbase

以上操作都没问题后,我们就来启动hbase。输入以下命令启动。

然后我们使用catjps查看进程时发现,没有相关的进程在,并没有启动成功,先别急,看下一个章节。(假如是把我的配置文件全部复制去配置,也许到这一步可以启动成功了)

start-hbase.sh

  • 1
  • 2

在这里插入图片描述

5、问题详情及解决方式

5.1.启动报错

进入hbase配置文件路径,编辑hbase-env.sh配置文件,然后把以下圈起来的两行给注释掉,就不会报错了。

在这里插入图片描述

5.2.启动后只有一个相关进程

启动成功后,HMater进程却不在,这个进程非常重要,不可以忽视

需要在配置文件hbase-site.xml中添加以下信息。需要添加的信息在3.3.2步骤中,已经给出了,可直接复制。
在这里插入图片描述
在这里插入图片描述

5.3.启动成功了,但是HMster掉线了

好不容易搭好了,启动hbase后,发现进程也都在了。
在这里插入图片描述
迫不及待的去web端查看详情,然后发现打不开,被拒绝连接了。

在这里插入图片描述
然后又回去查看进程,发现HMaster掉线了

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

9c28c29b248619cf6d94c45e70607.png#pic_center)
然后又回去查看进程,发现HMaster掉线了

[外链图片转存中…(img-pJoZ10U8-1714721254434)]
[外链图片转存中…(img-e5cpjUEc-1714721254434)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/670803
推荐阅读
相关标签
  

闽ICP备14008679号