Hbase实验报告

1.实验目的

本次是通过安装列族数据库的实例hbase,从而了解和掌握列族数据库的基本知识和使用方法。

2.实验环境

宿主机:Windows 10

虚拟环境:三台 centos 7

Jdk版本:1.8_241

Hbase版本:hadoop-3.1.3+zookeeper-3.4.14+hbase-2.2.4

3.实验步骤

3.1安装步骤

3.1.1 安装hadoop

3.1.1.1修改hosts文件

hbase安装和简单实用

此操作在三台虚拟机上都要执行,因为三台虚拟机的文件相同,可以使用scp进行传送。

3.1.1.2 安装jdk

解压jdk安装包:tar -zxvf jdk-8u241-linux-x64.tar.gz

在环境变量文件中写入jdk的路径,soure使环境变量文件生效。

hbase安装和简单实用

检查jdk环境:

hbase安装和简单实用

Jdk需要在三个节点上进行配置。

3.1.1.3 设置免密登录

1.使用ssh-****** -t rsa创建rsa密码

2. cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

将公钥写入认证文件这一步是将自己的公钥写入认证文件

3. ssh [email protected] cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

  1. 查看配置文件内容

hbase安装和简单实用

**都已经写入认证文件

  1. 查看known_hosts中的主机列表

vi ~/.ssh/known_hosts

hbase安装和简单实用

  1. 将认证文件复制到其他主机

scp ~/.ssh/authorized_keys [email protected]:~/.ssh/authorized_keys

hbase安装和简单实用

将所有的节点都尝试使用ssh登录其他节点,确认ssh免密登录已经成功。

3.1.1.4 关闭防火墙及SELINUX

systemctl stastus fiewalld.service     #查看防火墙状态

systemctl stop fiewalld.service    #临时关闭防火墙

systemctl disable fiewalld.service     #禁止开机自启动

systemctl start fiewalld.service       #打开防火墙

systemctl enable fiewalld.service      #打开开机启动

关闭selinux分为临时关闭和永久关闭,永久关闭需要修改配置文件,在/etc/sysconfig/selinux中:

hbase安装和简单实用

3.1.1.5 解压安装hadoop

解压之后将hadoop的目录写入到环境变量文件。

hbase安装和简单实用

3.1.1.6 修改配置文件

①workers

hbase安装和简单实用

②core-site.xml

hbase安装和简单实用

③hdfs-site.xml

hbase安装和简单实用

④mapred-site.xml

hbase安装和简单实用

⑤yarn-site.xml

hbase安装和简单实用

⑥Hadoop-env.sh

hbase安装和简单实用

这些配置文件要求三个节点是相同的,所以可以采用当前节点执行完之后,将所有的配置文件复制到其他节点上。

3.1.1.7 格式化 namenode

使用命令:hdfs namenode -format

hbase安装和简单实用

3.1.1.8 启动

使用start-dfs.sh和start-yarn.sh进行启动hadoop,因为hadoop3.0以上改版之后,有很多不同,可能需要在文件头部添加如下语句,在start-dfs.sh头部添加如下:

HDFS_DATANODE_USER=root

HADOOP_SECURE_DN_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

在start-yarn.sh中添加如下语句:

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

hbase安装和简单实用

使用jps查看各个节点的进程情况,一切正常。

3.1.2 安装zookeeper

3.1.2.1 解压安装zookeeper

3.1.2.2 修改配置文件

①复制文件模板

cp /usr/zookeeper-3.4.10/conf/zoo-sample.cfg /usr/zookeeper-3.4.10/conf/zoo.cfg

②修改配置文件zoo.cfg,添加如下:

hbase安装和简单实用

③创建myid文件,touch /usr/zookeeper-3.4.10/data/myid

hbase安装和简单实用

3.1.2.3 启动zookeeper

hbase安装和简单实用

3.1.3 安装hbase

3.1.3.1 解压安装

3.1.3.2 修改配置文件

修改$hbase_home/conf/hbase-env.sh

hbase安装和简单实用

修改$hbase_home/conf/regionservers

hbase安装和简单实用

修改$hbase_home /conf/hbase-site.xml

hbase安装和简单实用

将hbase复制到其他两个节点中。

3.1.3.3 启动

使用$hbase_home/bin/start-hbase.sh启动hbase

hbase安装和简单实用

从进程情况表明hbase正常启动,Hmaster进程正在执行。

3.2 简单使用

3.2.1 建立表

hbase安装和简单实用

建立一个person的表,有列族name、age、address列族。

3.2.2 加入数据

hbase安装和简单实用

放入一个数据,其rowkey为wuhao,年龄为20。

3.2.3 查看数据

 

hbase安装和简单实用

hbase安装和简单实用

通过get可以获得特定rowkey的数据,而使用scan可以扫描整个表。

3.2.4 删除表

hbase安装和简单实用

在删除表之前必须先使用命令disable,这样使表停止使用,处于不活跃的状态,然后在使用drop命令删除表。

  1. 问题

在实验中这么几次进行安装的时候,总是会遇到zookeeperu虽然是启动正常,但是查看状态却显示未在运行,经过不断排查发现,zookeeper的myid会经常的产生错误,我本来输入的是1,但是经过不断的尝试启动之后,变成了111111,这样这个节点就没法启动了。经过修改之后,所有的zookeeper均正常启动。但是有时候在使用结束之后,下次再使用的时候也可能发生错误。

  1. 总结

在Hbase里面有以下两个主要的概念,Row key,Column Family,Column family,Column family中文又名“列族”,Column family是在系统启动之前预先定义好的,每一个Column Family都可以根据“限定符”有多个column。

Hbase一个明显的优点是可扩展性非常强, 一个行可以有很多列,可以存储不确定的信息,而且如果是稀疏的话,对于为空(null)的列并不占用内存空间,因此,表可以设计的非常稀疏。数据类型单一:HBase中数据类型都是字符串。无模式:每一行都有一个可以排序的rowKey和任意多的列,列可以根据需要动态增加,同一张表的不同行可以有截然不同的列。

但是hbase 的rowkey也是限制了其不可能有效地支持多条件查询。

相关文章:

  • 2022-12-23
  • 2021-10-11
  • 2022-12-23
  • 2021-10-28
  • 2022-12-23
  • 2021-06-29
  • 2021-09-13
  • 2021-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-27
  • 2022-12-23
  • 2022-12-23
  • 2021-07-20
  • 2021-07-25
  • 2021-09-27
相关资源
相似解决方案