在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境java
阿里云服务器:入门型(按量付费)
操做系统:linux CentOS 6.8
Cpu:1核
内存:1G
硬盘:40Glinux
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)shell
官网地址:
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/apache
百度云:
连接:https://pan.baidu.com/s/1jIemnA2 密码:3ykrvim
在配置Hadoop以前,应该先作一下配置浏览器
首先更改主机名,目的是为了方便管理。
输入:
hostname
查看本机的名称
而后输入:服务器
vim /etc/sysconfig/network
修改主机名称
将HOSTNAME 的名称更改成你想要设置的名称
注:主机名称更改以后,要重启(reboot)才会生效。session
输入oracle
vim /etc/hosts
添加 主机IP 和对应的主机名称,作映射。
注:在配置文件中使用主机名的话,这个映射必须作!
关闭防火墙,方便外部访问。
CentOS 7版本如下输入:
关闭防火墙
service iptables stop
CentOS 7 以上的版本输入:
systemctl stop firewalld.service
输入:
date
查看服务器时间是否一致,若不一致则更改
更改时间命令
date -s ‘MMDDhhmmYYYY.ss’
将下载下来的HBase的配置文件进行解压
在linux上输入:
tar -xvf hbase-1.2.6-bin.tar.gz
而后移动到/opt/hbase 里面
输入
mv hbase-1.2.6 /home/hbase
编辑 /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
查看版本
在 root目录下新建文件夹
mkdir /root/hbase mkdir /root/hbase/tmp mkdir /root/hbase/pids
切换到 /home/hbase/hbase-1.2.6/conf 下
编辑 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集群。
编辑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里面。
在成功启动Hadoop以后
切换到HBase目录下
cd /home/hbase/hbase-1.2.6/bin
输入:
./start-hbase.sh
在浏览器输入:
http://39.108.208.105:16010/
显示这个界面则成功!
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'