HBase安装配置和管理
发布时间:2023-06-28 19:51:59 来源:哔哩哔哩

一、HBase配置和启动

1、安装zookeeper和hbase


(资料图片)

下载文件:///dist/zookeeper//下载的文件需上传至Linux本地的/home目录下,然后执行解压的操作

默认解压到/home/

下载文件:///dist/hbase//下载的文件同样需上传至Linux本地的/home目录下,然后执行解压的操作

默认解压到/home/

2、将hbase添加到环境变量中

3、修改

4、修改conf/的配置注意把第三行"主节点IP地址“和第七行指定位置替换为hadoop集群中主节点的IP地址

5、修改域服务器地址

可以使用主机名或IP地址,最好使用主机名,比如:

6、将zookeeper和hbase复制至slave(需要修改为自己实际的节点IP地址或主机名)

7、启动hbased首先启动hadoop

启动hbase

查看守护进程,jps,除了hadoop的守护进程外还需要包括hbase的守护进程:Master:HMaster (由Zookpeer选举产生,一般在主节点中)域服务器:HRegionServer (regionservers中指定的节点有此进程)Zookeeper节点:HQuorumPeer (在多个节点上运行,中配置的节点)

查看web页面宿主机浏览器中:主节点地址:60010

二、解决HMaster消失问题1、在第一步最后,执行jps之后,过一段时间再执行jps,可能发现HMaster守护进程消失HMaster消失,一般是zookeeper崩溃导致,进入HBase的logs目录,查看zookeeper的日志可看到类似错误:: Cannot open channel to 1 at election address node2/: Connection refused(Connection refused)

也有可能zookeeper未崩溃,但是无法选举新的hmaster,执行建表命令时会报错:ERROR: KeeperErrorCode = NoNode for /hbase/master

2、解决方案:1.确定DataNode正常运行,最好是三个节点都配上DataNode在hadoop的workers文件中将三个节点都配上

2.(1)进入hbase安装目录(2)进入配置文件目录conf(3)打开配置文件(4)修改配置项的值,将所有节点配入(最好是奇数个),以自己实际的主机名或IP地址为主主节点IP地址:2181,从节点1IP地址:2181,从节点2IP地址:2181(5)用scp命令将复制到其他节点

3.(1)进入zookeeper安装目录

分别查看三个节点的myid文件

(2)进入配置文件目录conf(3)用拷贝命令从示例文件中创建配置文件

(4)修改,在尾部添加注意:server.后的数字为前文查看三个节点中myid对应的数字

(5)用scp命令将复制到其他节点

4.(1)添加zookeeper数据目录(三个节点均操作)

(2)在三个节点中的/tmp/zookeeper中分别创建文本文件myid,内容具体为中server后的数字,如:节点Hadoop01中的myid文件内容为0节点Hadoop02中的myid文件内容为1节点Hadoop03中的myid文件内容为2三、HBase命令行测试(确保hadoop已启动,且HMaster不再消失)启动hbase,进入hbase命令行

1.创建一个Student表,包含Base和Score两个列族;Base列族包含Number、Name、Sex、Prof列;Score列族包含English、Math、Market、Java、Python、BigData列

2.往表中新增数据,每行rowkey设置为学生学号

3.获取列键001的数学成绩;

4.删除一行数据

5.获取学号范围从001~003的学生的基本信息(列族为Base)

6.搜索所有bigdata专业的学生

7.使用scan命令的filter搜索所有不及格的成绩记录

四、HBase Java API 操作1、在IDEA中新建Marven项目,修改,在文件中的根节点中,添加一个子节点,如下图:

2、查询maven组件配置/!!注意在查询组件时选择的组件要和实际安装的hadoop版本一致,下面的以版本为例需要查询的组件:hadoop-client

hadoop-hdfs

hadoop-common

hbase-client

将所有查询到的组件的XML插入到节点中去,如下图:

修改完毕后,点击右下角的"Import Changes"即可将MAVEN库中的JAR包下载到项目中,默认情况下,会从MAVEN官网下载,速度比较慢;可事先配置MAVEN淘宝镜像库,基本方法就是在IntelliJ IDEA的安装目录下,找到MAVEN插件的安装目录,修改其配置文件,将镜像设置添加到配置文件中即可

3、如果已经创建过Student表,需要首先删除

4、要求:使用HBase Shell往Student表新增一行rowkey为index的数据,列族/列为Base:Indexes,值为:001,002,004编写代码获取值:Student,rowkey,Base:Indexes将获取到的值按 , 切分为数组,遍历数组,以数组中的值为rowkey获取其对应的姓名、学号、英语和Java成绩,并print出来,print格式为:Tim(001): 80 85Lucy(002): 78 88Golden(004): 80注意:对一个表创建一次连接后,所有的get操作执行完后,再close连接注意:以下代码中 节点名:2181需要替换为自己实际的节点主机名并修改C:\Windows\System32\drivers\etc\hosts文件,添加对应的映射即可,如:主节点IP地址 主节点主机名从节点1IP地址 从节点1主机名从节点2IP地址 从节点2主机名*若无权限修改,可将其拷贝到其他地方,修改了后再拷贝回来覆盖

运行代码:成功创建表并插入数据

在hbase上通过命令查看Student表的信息:

五、启动hbase的常见异常(1)错误1:ERROR [main] : Failed construction RegionServer : org/apache/htrace/SamplerBuilder

把/lib/client-facing-thirdparty目录下的 复制到/lib即可。

(2)错误2:: Failed to become active master

conf/添加

(3)警告: session 0X0 for server null attempting reconnectzookeeper无法通信的警告,连续操过一定次数会造成zookeeper节点退出的错误,最终导致HRegionServer失效1、检查节点防火墙有无关闭2、conf/添加 //Zookeeper的运行节点节点ip或主机名:2181(多个节点用逗号隔开)为Zookeeper多添加几个节点

标签: