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

systemctl restart network


![在这里插入图片描述](https://img-blog.csdnimg.cn/071753001b134aebaa42fb7348317794.png#pic_center)


### 2.2修改ip映射


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



vi /etc/hosts


![在这里插入图片描述](https://img-blog.csdnimg.cn/2ec77977d2ee44cc99ced8d74b087d48.png#pic_center)


## 3、安装与部署


### 3.1.上传安装包


将hbase-1.4.8.tar.gz上传到虚拟机的/usr/local路径。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1e8bb93c26ab40f0b2ada5da2bd49b8a.png#pic_center)


### 3.2.解压安装包


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



tar -xzvf hbase-1.4.8.tar.gz


![在这里插入图片描述](https://img-blog.csdnimg.cn/4dc621715c7c488488885dbc35a046b3.png#pic_center)


### 3.3.配置HBASE\_HOME


#### 3.3.1修改hbase-env.sh


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



vi hbase-env.sh


![在这里插入图片描述](https://img-blog.csdnimg.cn/932e8571ba6b43cf8bf87b75396456a2.png#pic_center)


#### 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一起启动。
> 
> 
> 



hbase.cluster.distributed true hbase:zookeeper.property.dataDir hbase.zookeeper.quorum master,slave1,slave2 hbase.master.maxclockskew 180000 dfs.replication 2 hbase.rootdir hdfs://master:8020/hbase hbase.unsafe.stream.capability.enforce flase hbase.master.info.port 16010 hbase.unsafe.stream.capability.enforce false

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



vi /etc/profile



source /etc/profile


![在这里插入图片描述](https://img-blog.csdnimg.cn/5454d03256c34c74b1646eeaa0c2b204.png#pic_center)


#### 3.3.4拷贝文件


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



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


![在这里插入图片描述](https://img-blog.csdnimg.cn/4a545ab99007424d9ef76f0b8cb3e17e.png#pic_center)


## 4、启动


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


### 4.1启动zookeeper


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



zkServer.sh start


![在这里插入图片描述](https://img-blog.csdnimg.cn/cc41d21bec71407c8bbf1f2a2a5fefbe.png#pic_center)


### 4.2启动hdfs


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



start-dfs.sh



start-yarn.sh


启动hadoop后,进入web端查看是否启动成功,顺便检查HV有无问题。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/38a9ac3e125a4840bb557e78f691b356.png#pic_center)


### 4.3启动hbase


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



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



start-hbase.sh


![在这里插入图片描述](https://img-blog.csdnimg.cn/3a1c24890a4d4824ba714e2511e0667c.png#pic_center)


## 5、问题详情及解决方式


### 5.1.启动报错


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


![在这里插入图片描述](https://img-blog.csdnimg.cn/06c5014c7f9848949e7318adfaaf87b1.png#pic_center)


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


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


需要在配置文件**hbase-site.xml中添加以下信息**。需要添加的信息在3.3.2步骤中,已经给出了,可直接复制。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/bfae3131f57d486f9a862666aa62ed37.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/f276c38c2858407e84ac0792e198e0c6.png#pic_center)


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


好不容易搭好了,启动hbase后,发现进程也都在了。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/efba3e2f2ab54ff9a3bbd9ca75e6d1ab.png#pic_center)  
 迫不及待的去web端查看详情,然后发现打不开,被拒绝连接了。


![在这里插入图片描述](https://img-blog.csdnimg.cn/7d89c28c29b248619cf6d94c45e70607.png#pic_center)  
 然后又回去查看进程,发现HMaster掉线了


![在这里插入图片描述](https://img-blog.csdnimg.cn/24ca6ce988ef4c319c8b8c5d47939f6a.png#pic_center)


出现这样的问题有很多种情况,这里主要介绍以下三种可能,可查看日志(hbase的日志文件在安装路径的log文件夹下),可根据实际情况逐一排查。


#### 5.3.1.防火墙设置


可输入以下命令进行查看防火墙状态,假如未关闭则需要设置成关闭的状态。



systemctl start firewalld#开启



systemctl stop firewalld#关闭


​  
 想要方便一点的可以输入一下命令,防止防火墙自开启,这样就不需要每次都查看防火墙的状态了。



systemctl disable firewalld


#### 5.3.2.时间同步


假如说防火墙是关闭的,但问题暂时没有解决。可根据以下方法继续修改。



> 
> 1.安装ntpdate工具,网上同步时间  
>  2.设置系统时间与网络时间同步
> 
> 
> 



sudo apt-get install ntpdate



sudo apt-get install ntpdate


#### 5.3.3.hdfs与hbase端口号一致


如果按照步骤做了以上两个步骤还是没有解决,就继续跟着排查吧。在配置文件hbase-site.xml中hbase.rootdir这一项需要和core-site.xml中的fs.defaultFS的地址保持一致,因为这一步是去hdfs上创建hbase的指定文件夹,8020是namenode节点active状态下的端口号,9000端口是fileSystem默认的端口号。由于hdfs的队友搭建的,我们之间缺乏沟通,我的core-site.xml里写的9000,hdfs的端口号是8202,所以启动成功后又挂掉了,导致web端打不开。经过沟通处理后,终于成功了,这就是分组的意义吧,合作沟通。


如以下两张图所示,我们启动后进程都在,也不会自己挂掉了,web端也能打开看到相关信息了,启动成功。


![在这里插入图片描述](https://img-blog.csdnimg.cn/bf734b9bf510412f925670bba211deac.png#pic_center)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/83dc43c84eac447cbe261999ebc7c9ee.png#pic_center)


## 6、hbase操作



> 
> ***目的:***  
>  (1)理解 HBase 在 Hadoop 体系结构中的角色。  
>  (2)熟练使用 HBase 操作常用的 Shell 命令。  
>  ***> 目标:***  
>  (1)熟悉hbase相关操作,掌握建表、增数据、查表、删除表等操作。  
>  (2)可以自己建一个表,熟悉上述操作,并插入数据,方便理解与掌握。
> 
> 
> 


### 6.1.建表


进行相关操作的步骤:启动zookerper–>启动hadoop–>启动hbase–>打开hbase shell  
 我用的是以下这种方式建表,需要可直接复制。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/295c7b49869c4860b9fd7ed1c2d1b1ce.png#pic_center)



create ‘StudentAndCourse’,‘student’,‘course1’,‘course2’,‘course3’


### 6.2.插入数据


插入几条数据测试一下。



put ‘StudentAndCourse’,‘2015001’,‘student:S_Name’,‘Zhangsan’
put ‘StudentAndCourse’,‘2015001’,‘student:S_Sex’,‘male’
put ‘StudentAndCourse’,‘2015001’,‘student:S_Age’,‘23’
put ‘StudentAndCourse’,‘2015001’,‘course1:C_No’,‘123001’
put ‘StudentAndCourse’,‘2015001’,‘course1:C_Name’,‘Math’
put ‘StudentAndCourse’,‘2015001’,‘course1:C_Credit’,‘2.0’
put ‘StudentAndCourse’,‘2015001’,‘course1:Score’,‘86’
put ‘StudentAndCourse’ ,‘2015001’,‘course3:C_No’,‘123003’
put ‘StudentAndCourse’ ,‘2015001’,‘course3:C_Name’,‘English’
put ‘StudentAndCourse’ ,‘2015001’,‘course3:C_Credit’,‘3.0’
put ‘StudentAndCourse’ ,‘2015001’,‘course3:Score’,‘69’


### 6.3.查看数据



scan ‘StudentAndCourse’


![在这里插入图片描述](https://img-blog.csdnimg.cn/3aa0da9f77834f6f91bc7cfb53d47d89.png#pic_center)


### 6.4.删除表


使用drop删除表people,然后使用list方法查看当前数据库现有表发现people库已被删除。


![在这里插入图片描述](https://img-blog.csdnimg.cn/52865b8230da4840a45a0db6d46dd070.png#pic_center)


## 7.停止hbase


使用以下命令停止hbase服务。



stop-hbase.sh


在执行stop-hbase.sh之后.用jps查看进程之后还是发现HRegionServer没有关闭。查看日志并没有报错,经查阅资料发现,执行完操作后,hbase的RegionServer在后台做compact等操作呢,当然关不掉。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/15c54e441daa45de8462c5cc2780eded.png#pic_center)  
 对此,分享几个可以单独关闭HRegionServer和HMaster进程的方法,也许在后续学习时,需要单独关掉hbase的某个相关进程,还是很实用的,需要的话可以自取



> 
> ***#单独启动一个HMaster进程:***  
>  bin/hbase-daemon.sh start master  


**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/75844a6ec166d4a0d3969a76601d0081.png)
![img](https://img-blog.csdnimg.cn/img_convert/da3a6281cdfc2a0bcd986b0b39abe777.png)
![img](https://img-blog.csdnimg.cn/img_convert/af826cddc71ac98f97adf767e0f4ed43.png)
![img](https://img-blog.csdnimg.cn/img_convert/110abff678acb7f620eaacf93147b945.png)
![img](https://img-blog.csdnimg.cn/img_convert/54d4a8716a73cb66fcd9e430ca027e73.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
![img](https://img-blog.csdnimg.cn/img_convert/0a0df402051d2c4da50375606bb7c8b0.png)

能够帮助到想自学提升又不知道该从何学起的朋友。**
[外链图片转存中...(img-DjiwQUlG-1712868409106)]
[外链图片转存中...(img-NBrWhJNb-1712868409107)]
[外链图片转存中...(img-VZrVp9NY-1712868409108)]
[外链图片转存中...(img-QxMkkT0o-1712868409108)]
[外链图片转存中...(img-1SwqqlDO-1712868409108)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)**
[外链图片转存中...(img-BjfLlBGc-1712868409109)]

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值