1 安装HBase

  1. 基础环境确认,单机安装hbase之前需要安装如下软件:

hadoop版本:2.6.4

JDK版本:1.8.0_92

  1. 下载Hbase1.2.2,下载地址:

Hbase1.2.2下载

  1. 将下载的hbase压缩包上传到linux的目录下

这里以上传到“/home/project/soft/hbase”地址为例。

  1. 当前目录下解压压缩包,命令如下:
tar -xzvf hbase-1.2.2-bin.tar.gz
  1. 修改conf/hbase-env.sh

先切换到hbase下的conf目录下

cd conf

然后:vim hbase-env.sh。在文件末尾加上:

export JAVA_HOME=/usr/java/jdk1.8.0_92

export CLASSPATH=.: 𝐶𝐿𝐴𝑆𝑆𝑃𝐴𝑇𝐻: JAVA_HOME/lib

export HBASE_MANAGES_ZK=false

  1. 修改conf/hbase-site.xml

在hadoop中创建目录:hbase 命令:hadoop fs mkdir hbase

执行命令:vim hbase-site.xml 文件中增加如下内容

<property>

     <name>hbase.rootdir</name>

     <value>hdfs://localhost:9000/hbase</value>

 </property>
 <property>
      <name>hbase.cluster.distributed</name>
      <value>true</value>
 </property>
 <!-- 指定zk的地址,多个用“,”分割 -->
 <property>
         <name>hbase.zookeeper.quorum</name>
         <value>localhost:2181</value>
 </property>
  1. 配置Hbase环境变量

vim /etc/profile

export HBASE_HOME=/home/project/soft/hbase/hbase-1.2.2

export PATH= 𝑃𝐴𝑇𝐻: HBASE_HOME/bin

再执行如下命令,让文件生效:source /etc/profile

  1. 验证hbase是否安装成功:hbase version

HBase 1.2.2

Source code repository git://asf-dev/home/busbey/projects/hbase revision=3f671c1ead70d249ea4598f1bbcc5151322b3a13

Compiled by busbey on Fri Jul 1 08:28:55 CDT 2016

From source with checksum 7ac43c3d2f62f134b2a6aa1a05ad66ac

  1. 启动Hbase: bin/start-hbase.sh

1)cd …/bin

2)./start-hbase.sh

  1. 检验HBase是否正常启动
  1. 在bin目录执行hbase shell,正常的话会进入hbase命令行模式,即 hbase(main):001:0>

  2. 输入 create ‘test’,‘test_id’,‘testname’,正常的话会出现类似 0 row(s) in 1.5430 seconds 这样的结果

2 安装zookeeper

在zookeeper的conf目录下:
zoo.cfg

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.

dataDir=/home/hduser/software/zookeeper355/data

# the port at which the clients will connect
clientPort=2181

tickTime
时长单位为毫秒,为zk使用的基本时间度量单位。例如,1 * tickTime是客户端与zk服务端的心跳时间,2 * tickTime是客户端会话的超时时间。
tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率(会话的跟踪处理)。
clientPort
zk服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。
dataDir
无默认配置,必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录。

hbase.site.xml : 
<configuration>
        <!-- 指定hbase在HDFS上存储的路径 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <!-- 指定hbase是分布式的 -->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <!-- 指定zk的地址,多个用“,”分割 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>localhost:2181</value>
        </property>
<property>
  <name>hbase.unsafe.stream.capability.enforce</name>
  <value>false</value>
</property>

</configuration>
启动与停止

./zkServer.sh start
./zkServer.sh stop
验证:
打开浏览器访问localhost:16010/master-status,可以看到hbase的一些状态信息。(能成功进入页面)

3 Python操作Hbase

# 1.创建表
create 'test2','test_id', ‘testname’

2.列出表
    list

3.得到表的描述
    describe ‘表名’

4.删除一个列族

    1) disable ‘表名’
    2) alter ‘表名’, {NAME=>‘列族名字’, METHOD=>delete}
    3) enable ‘表名’

5.查看表是否存在
    exists '表名’

6. 判断表是否为‘enable’ 语法:is_enabled '表名’

7. 删除一个表,需要两个命令:

    1) disable ‘表名’

    2) drop '表名'

二、 HBASE Shell的DML操作

1.插入数据
    put '表名', '行名', '列族名:列名', '值'

2. 全表扫描
    scan ‘表名’

3. 获得某一行的所有数据:
    get '表名', '行名'
    
4. 获取某行,某列族的所有数据
    get ‘表名’, ‘行名’, ‘列族名'

5. 获取某行,某列族,某列的所有数据
    get ‘表名’, ‘行名’, ‘列族名:列名’

6. 更新一条数据,语法等同添加
    put '表名', '行名', '列族名:列名', '值'

7. 删除某行,某列族,某列的值
    delete ‘表名’,‘行名’,‘列族:列’

8. 删除整行
    deleteall '表名','行名’

9. 统计表的行数
    count ‘表名’

10. 清空表
    truncate ‘表名’

4 Linux下安装Thrift

0.11.0版本下载地址:

执行如下命令安装Thrift依赖:

apt-get install automake bison flex g++ git libboost1.55 libevent-dev libssl-dev libtool make pkg-config

解压编译:

解压包
    tar -zxvf thrift-0.11.0.tar.gz
    
进入thrift文件夹
    cd thrift-0.11.0
    
分别执行
./configure --with-cpp --with-boost --with-python --without-csharp --with-java --without-erlang --without-perl --with-php --without-php_extension --without-ruby --without-haskell  --without-go
make
make install

启动:在Master中Hbase安装目录下的bin目录启动thrift服务

./hbase-daemon.sh start thrift
Logo

更多推荐