引言
在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境
环境准备
1,服务器选择
阿里云服务器:入门型(按量付费)
操作系统:linux CentOS 6.8
Cpu:1核
内存:1G
硬盘:40G
2,配置选择
JDK:1.8 (jdk-8u144-linux-x64.tar.gz)
Hadoop:2.8.2 (hadoop-2.8.2.tar.gz)
HBase:1.6.2 (hbase-1.2.6-bin.tar.gz)
3,下载地址
官网地址:
JDK:
http://www.oracle.com/technetwork/java/javase/downloads
Hadopp:
http://www.apache.org/dyn/closer.cgi/hadoop/common
HBase:
http://mirror.bit.edu.cn/apache/hbase/
百度云:
链接:https://pan.baidu.com/s/1jIemnA2 密码:3ykr
二、服务器的相关配置
在配置Hadoop之前,应该先做一下配置
1,更改主机名
首先更改主机名,目的是为了方便管理。
输入:
hostname
查看本机的名称
然后输入:
vim /etc/sysconfig/network
修改主机名称
将HOSTNAME 的名称更改为你想要设置的名称
注:主机名称更改之后,要重启(reboot)才会生效。
输入
vim /etc/hosts
添加 主机IP 和对应的主机名称,做映射。
注:在配置文件中使用主机名的话,这个映射必须做!
2,关闭防火墙
关闭防火墙,方便外部访问。
CentOS 7版本以下输入:
关闭防火墙
service iptables stop
CentOS 7 以上的版本输入:
systemctl stop firewalld.service
3,时间设置
输入:
date
查看服务器时间是否一致,若不一致则更改
更改时间命令
date -s ‘MMDDhhmmYYYY.ss’
三、HBase环境安装
1,下载HBase
将下载下来的HBase的配置文件进行解压
在linux上输入:
tar -xvf hbase-1.2.6-bin.tar.gz
然后移动到/opt/hbase 里面
输入
mv hbase-1.2.6 /home/hbase
2,HBase环境配置
3.2.1 环境配置
编辑 /etc/profile 文件
输入:
export HBASE_HOME=/home/hbase/hbase-1.2.6
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HBASE_HOME}/bin:$PATH
输入:
source /etc/profile
使配置生效
输入
hbase version
查看版本
3.2.2 修改配置文件
在 root目录下新建文件夹
mkdir /root/hbase
mkdir /root/hbase/tmp
mkdir /root/hbase/pids
切换到 /home/hbase/hbase-1.2.6/conf 下
3.2.2.1 修改hbase-env.sh
编辑 hbase-env.sh 文件,添加以下配置
export JAVA_HOME=/home/java/jdk1.8
export HADOOP_HOME=/home/hadoop/hadoop2.8
export HBASE_HOME=/home/hbase/hbase-1.2.6
export HBASE_CLASSPATH=/home/hadoop/hadoop2.8/etc/hadoop
export HBASE_PID_DIR=/root/hbase/pids
export HBASE_MANAGES_ZK=false
说明:配置的路径以自己的为准。HBASE_MANAGES_ZK=false 是不启用HBase自带的Zookeeper集群。
3.2.2.2 修改 hbase-site.xml
编辑hbase-site.xml 文件,在
<!-- 存储目录 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://test1:9000/hbase</value>
<description>The directory shared byregion servers.</description>
</property>
<!-- hbase的端口 -->
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
<description>Property from ZooKeeper'sconfig zoo.cfg. The port at which the clients will connect.
</description>
</property>
<!-- 超时时间 -->
<property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<!-- zookeeper 集群配置。如果是集群,则添加其它的主机地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>test1</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/root/hbase/tmp</value>
</property>
<!-- false是单机模式,true是分布式模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
说明:hbase.rootdir:这个目录是region server的共享目录,用来持久化Hbase 。hbase.cluster.distributed :Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面。
4,HBase启动
在成功启动Hadoop之后
切换到HBase目录下
cd /home/hbase/hbase-1.2.6/bin
输入:
./start-hbase.sh
在浏览器输入:
http://39.108.208.105:16010/
显示这个界面则成功!
HBase shell 使用
HBase启动之后
输入:
HBase shell
进入hbase
然后输入list 查询有哪些表
因为HBase是列式存储结构,所以在建表方面和传统的关系型数据库不一样
新建一个用户表 t_user
添加两个列族 st1 和 st2
create 't_user','st1','st2'
给这张表添加数据
添加 主键 、列 和值
put 't_user','1001','st1:age','18'
put 't_user','1001','st2:name','zhangsan'
然后 查询该表数据
scan 't_user'
查看表结构
describe 't_user'
删除记录
delete't_user','1001','st1:age'
删除表
删除表首先要屏蔽该表
disable 't_user'
删除
drop 't_user'