读写HBase数据
① 在hbase-shell中使用命令创建HBase数据库;
② 使用Spark读写HBase数据库中的数据。
实验原理
-> HBase
HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。HBase的目标是处理非常庞大的表,可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和数百万列元素组成的数据表。
-> hbase-shell
hbase-shell是一种HBase交互式操作环境,可以在其中输入命令,完成数据库创建和表的增、删、查、改等操作。
1. HBase的安装
∥ 下载文件
HBase是Hadoop生态系统中的一个组件,但是,Hadoop安装以后,本身并不包含HBase,因此,需要单独安装HBase。打开火狐浏览器,访问如下链接下载hbase-1.1.5-bin.tar.gz,下载的文件被放到了Linux系统的“/home/user/Downloads/”目录下。
拷贝代码
http://file.ictedu.com/fileserver/big_data_common/data/hbase-1.1.5-bin.tar.gz
∥ 安装文件
下载完安装文件以后,需要对文件进行解压。按照Linux系统使用的默认规范,用户安装的软件一般都是存放在“/usr/local/”目录下,打开一个终端,请使用hadoop用户登录终端,执行如下命令:
拷贝代码
sudo tar -zxf /home/user/Downloads/hbase-1.1.5-bin.tar.gz -C /usr/local
将解压的文件名hbase-1.1.5改为hbase,以方便使用,命令如下:
拷贝代码
sudo mv /usr/local/hbase-1.1.5 /usr/local/hbase
将HBase安装目录下的bin目录(即/usr/local/hbase/bin)添加到系统的PATH环境变量中,这样,每次启动HBase时就不需要到“/usr/local/hbase”目录下执行启动命令,方便HBase的使用。请使用vim编辑器打开“~/.bashrc”文件,命令如下:
拷贝代码
vim ~/.bashrc
然后再把HBase的bin目录“/usr/local/hbase/bin”追加到PATH中。当要在PATH中继续加入新的路径时,只要用英文冒号“:”隔开,把新的路径加到后面即可,追加后的结果如下:
拷贝代码
export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin:/usr/local/hbase/bin
添加后,执行如下命令使设置生效:
拷贝代码
source ~/.bashrc
需要为当前登录Linux系统的hadoop用户添加访问HBase目录的权限,将HBase安装目录下的所有文件的所有者改为hadoop,命令如下:
拷贝代码
cd /usr/local
sudo chown -R hadoop ./hbase
∥ 配置
使用vim编辑器打开“/usr/local/hbase/conf/hbase-env.sh”,命令如下:
拷贝代码
vim /usr/local/hbase/conf/hbase-env.sh
打开hbase-env.sh文件以后,需要在hbase-env.sh文件中配置JAVA_HOME、HBASE_CLASSPATH和HBASE_MANAGES_ZK。其中,HBASE_CLASSPATH设置为本机Hadoop安装目录下的conf目录(即/usr/local/hadoop/conf)。JAVA_HOME和HBASE_MANAGES_ZK的配置方法和上面单机模式的配置方法相同。修改后的hbase-env.sh文件应该包含如下三行信息:
拷贝代码
export JAVA_HOME=/usr/share/jdk1.8.0_181
export HBASE_CLASSPATH=/usr/local/hadoop/conf
export HBASE_MANAGES_ZK=true
修改完成以后,保存hbase-env.sh文件并退出vim编辑器。
使用vim编辑器打开并编辑“/usr/local/hbase/conf/hbase-site.xml”文件,命令如下:
拷贝代码
vim /usr/local/hbase/conf/hbase-site.xml
在hbase-site.xml文件中,需要设置属性hbase.rootdir,用于指定HBase数据的存储位置。在HBase伪分布式模式中,是使用伪分布式模式的HDFS存储数据,因此,需要把hbase.rootdir设置为HBase在HDFS上的存储路径,根据Hadoop伪分布式模式的配置可以知道,HDFS的访问路径为“hdfs://localhost:9000/”,因为,这里设置hbase.rootdir为“hdfs://localhost:9000/hbase”。此外,由于采用了伪分布式模式,因此,还需要将属性hbase.cluter.distributed设置为true。修改后的hbase-site.xml文件中的配置信息如下:
拷贝代码
hbase.rootdir
hdfs://localhost:9000/hbase
hbase.cluster.distributed
true
保存hbase-site.xml文件,并退出vim编辑器。