HBASE 分布式安装
08 April 2013
author : xiajun
中文官方翻译文档:http://abloz.com/hbase/book.html
安装说明:
1.下载hbase安装包 http://www.apache.org/dyn/closer.cgi/hbase/
2.将安装包放在 /home/hbase目录 解压
3.修改其conf目录下的hbase-site.xml
hbase.rootdir dfs.replication 1 hbase.cluster.distributed true hbase.zookeeper.quorum slaver1 hbase.zookeeper.property.dataDir /home/xiajun/zookeeper-3.4.5/data zookeeper.session.timeout 60000 hbase.zookeeper.property.clientPort 3181
4.修改conf/regionservers文件,将所有datanode的ip写入,一行一个。比如:hbase 部署了3台机器,一台主,其他2台的ip要写入这个文件
5.修改conf/hbase-env.sh文件
export JAVA_HOME=/usr/servers/jdk1.6
export HBASE_CLASSPATH=/home/hadoop-1.1.1/conf //注意这里是hadoop的conf目录
6.将修改好的hbase复制到其他机器上。
7.启动hbase。在主节点机器上运行./bin/start-hbase.sh 其他机器也会被启动
8.使用shell
./bin/hbase shell
9.hbase 所有机器的系统时间要基本一致,否则会有问题。
10 导入数据到hbase
数据文件列以tab键分割如:
1 zhangsan 24 北京人 生成和表相同格式的文件
./hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY,c:name,c:age,c:addres -Dimporttsv.bulk.output =/user/hbase/tmp/h_p person /user/hbase/tmp/person.txt //注意这俩个地址是hdfs 其中person为表名,sepatator 为文本分割符 将上面生成的文件导入到数据库
./hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /user/hbase/tmp/h_p person //这个地址和上面的相同
web信息页面http://10.12.117.196:60010
11.常用命令
list//查看所有表
create 'tablename','coulmn_1','coulmn_2' //创建表
disable 'tablename'
enable 'tablename'
drop 'tablename'//删除表
scan 'tablename'//查看表内容
put 'tablename','keyname','coulmn_1:name','value'//添加内容
get 'tablename','keyname',LIMIT => 10//查看前top天内容
get 'tablename','keyname','coulmn_1:name'//指定列名查看
delete 'tablename','keyname','coulmn_1:name' //只能删除一列
deleteall 'tablename','keyname'//删除所有
describe ’tablename' 查看表结构
truncate 'tablename' 清空一张表 12.一个无语的错误:Unable to find region for ,,99999999999999 after 10 tries.
原因是我这保存hbase的数据目录中添加了一个临时目录,解决办法 删除这个目录。
blog comments powered by Disqus