HBase、zookeeper、Thrift
1安装HBase基础环境确认,单机安装hbase之前需要安装如下软件:hadoop版本:2.6.4JDK版本:1.8.0_92下载Hbase1.2.2,下载地址:Hbase1.2.2下载将下载的hbase压缩包上传到linux的目录下这里以上传到“/home/project/soft/hbase”地址为例。当前目录下解压压缩包,命令如下:tar -xzvf hbase-1.2.2-bin.tar.
1 安装HBase
- 基础环境确认,单机安装hbase之前需要安装如下软件:
hadoop版本:2.6.4
JDK版本:1.8.0_92
- 下载Hbase1.2.2,下载地址:
- 将下载的hbase压缩包上传到linux的目录下
这里以上传到“/home/project/soft/hbase”地址为例。
- 当前目录下解压压缩包,命令如下:
tar -xzvf hbase-1.2.2-bin.tar.gz
- 修改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
- 修改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>
- 配置Hbase环境变量
vim /etc/profile
export HBASE_HOME=/home/project/soft/hbase/hbase-1.2.2
export PATH= 𝑃𝐴𝑇𝐻: HBASE_HOME/bin
再执行如下命令,让文件生效:source /etc/profile
- 验证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
- 启动Hbase: bin/start-hbase.sh
1)cd …/bin
2)./start-hbase.sh
- 检验HBase是否正常启动
-
在bin目录执行hbase shell,正常的话会进入hbase命令行模式,即 hbase(main):001:0>
-
输入 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
执行如下命令安装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
更多推荐
所有评论(0)