赞
踩
<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>
3.3.3修改/etc/profile
用以下命令进入/etc/profile文件,编辑hbase的环境变量,然后使用source方法使profile文件生效。
vi /etc/profile
source /etc/profile
使用scp方法,拷贝hbase-1.4.8文件到其他两个集群的/us/local/下。其中,@后面的参数是集群的名称,冒号后面的参数是目标路径。
scp -r hbase-1.4.8 root@slave1:/usr/local
启动habse时,由于hbase依赖于hdfs和zookeeper,所以要先启动hadoop和zookeeper,然后再启动hbase。
先使用以下命令对所有集群启动zookeeper,然后使用catjps查看所有集群的进程。看到QuorumPeerMain进程表示启动成功了。
zkServer.sh start
使用以下两条命令启动hdfs进程和yarn服务。
start-dfs.sh
start-yarn.sh
启动hadoop后,进入web端查看是否启动成功,顺便检查HV有无问题。
以上操作都没问题后,我们就来启动hbase。输入以下命令启动。
然后我们使用catjps查看进程时发现,没有相关的进程在,并没有启动成功,先别急,看下一个章节。(假如是把我的配置文件全部复制去配置,也许到这一步可以启动成功了)
start-hbase.sh
进入hbase配置文件路径,编辑hbase-env.sh配置文件,然后把以下圈起来的两行给注释掉,就不会报错了。
启动成功后,HMater进程却不在,这个进程非常重要,不可以忽视。
需要在配置文件hbase-site.xml中添加以下信息。需要添加的信息在3.3.2步骤中,已经给出了,可直接复制。
好不容易搭好了,启动hbase后,发现进程也都在了。
迫不及待的去web端查看详情,然后发现打不开,被拒绝连接了。
然后又回去查看进程,发现HMaster掉线了
出现这样的问题有很多种情况,这里主要介绍以下三种可能,可查看日志(hbase的日志文件在安装路径的log文件夹下),可根据实际情况逐一排查。
可输入以下命令进行查看防火墙状态,假如未关闭则需要设置成关闭的状态。
systemctl start firewalld#开启
systemctl stop firewalld#关闭
想要方便一点的可以输入一下命令,防止防火墙自开启,这样就不需要每次都查看防火墙的状态了。
systemctl disable firewalld
假如说防火墙是关闭的,但问题暂时没有解决。可根据以下方法继续修改。
1.安装ntpdate工具,网上同步时间
2.设置系统时间与网络时间同步
sudo apt-get install ntpdate
sudo apt-get install ntpdate
如果按照步骤做了以上两个步骤还是没有解决,就继续跟着排查吧。在配置文件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端也能打开看到相关信息了,启动成功。
目的:
(1)理解 HBase 在 Hadoop 体系结构中的角色。
(2)熟练使用 HBase 操作常用的 Shell 命令。
> 目标:
(1)熟悉hbase相关操作,掌握建表、增数据、查表、删除表等操作。
(2)可以自己建一个表,熟悉上述操作,并插入数据,方便理解与掌握。
进行相关操作的步骤:启动zookerper–>启动hadoop–>启动hbase–>打开hbase shell
我用的是以下这种方式建表,需要可直接复制。
create 'StudentAndCourse','student','course1','course2','course3'
插入几条数据测试一下。
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'
scan 'StudentAndCourse'
使用drop删除表people,然后使用list方法查看当前数据库现有表发现people库已被删除。
使用以下命令停止hbase服务。
stop-hbase.sh
在执行stop-hbase.sh之后.用jps查看进程之后还是发现HRegionServer没有关闭。查看日志并没有报错,经查阅资料发现,执行完操作后,hbase的RegionServer在后台做compact等操作呢,当然关不掉。
对此,分享几个可以单独关闭HRegionServer和HMaster进程的方法,也许在后续学习时,需要单独关掉hbase的某个相关进程,还是很实用的,需要的话可以自取
#单独启动一个HMaster进程:
bin/hbase-daemon.sh start master
#单独停止一个HMaster进程:
bin/hbase-daemon.sh stop master
#单独启动一个HRegionServer进程:
bin/hbase-daemon.sh start regionserver
#单独停止一个HRegionServer进程:
bin/hbase-daemon.sh stop regionserver
单独停止HRegionServer进程后,使用catjps查看所有集群的进程,已经成功关掉了。
HBase是一个基于Hadoop的分布式非关系型数据库,其数据模型类似于Google的Bigtable。在HV(Hadoop+Hive)环境中安装和部署HBase需要进行一系列的配置和操作,以确保HBase能够正常工作。以下是我在学习时的收获:
1. 环境确认:在安装和部署HBase之前,需要确认Hadoop和Hive已经正确安装和配置,并且集群中的所有节点都能够相互通信。
2. 下载和解压:从HBase官网下载与hadoop版本对应的HBase,并解压到指定的目录下。
3. 配置文件:修改HBase的配置文件,主要包括hbase-env.sh
、hbase-site.xml
和/etc/profile
等文件。其中,hbase-env.sh
文件中需要设置JDK的路径和;hbase-site.xml
文件中需要设置HBase的一些参数,比如Zookeeper的地址和端口、HDFS的地址和端口等。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
se-site.xml`文件中需要设置HBase的一些参数,比如Zookeeper的地址和端口、HDFS的地址和端口等。
[外链图片转存中…(img-WXjNPohD-1714785449678)]
[外链图片转存中…(img-USapuOv0-1714785449679)]
[外链图片转存中…(img-t6B3S2tq-1714785449679)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。