设为首页 加入收藏

TOP

大数据: 完全分布式Hadoop集群-HBase安装
2015-11-21 01:24:47 来源: 作者: 【 】 浏览:4
Tags:数据 完全 分布式 Hadoop 集群 -HBase 安装
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库。它是面向列的,并适合于存储超大型松散数据。HBase适合于实时,随机对Big数据进行读写操作的业务环境。
?
本文基本环境:
?
Centos 7 ? Linux Master 3.10.0-229.el7.x86_64
?
Hadoop-2.7.1 完全分布式 3台机
?
Hbase-1.1.2 ?HBase官网 下载 hbase-1.1.2-bin.tar.gz
?
三台虚拟机主机名: Master Slaver1 Slaver2
?
进行软件部署
?
1. 使用 root 用户将 hbase-1.1.2-bin.tar.gz 包解压并放在 /home/app 下,给予 hadoop 用户权限 。
tar –xvzf hbase-1.1.2-bin.tar.gz
?
chown –R hadoop:hadoop hbase-1.1.2
?
?
添加环境变量
?
export HBASE_HOME=/home/app/hbase-1.1.2
?
2. 编辑配置文件
vi ?/home/app/hbase-1.1.2/conf/hbase-site.xml
?


hbase.rootdir
hdfs://Master:9000/hbase


hbase.cluster.distributed
true


hbase.master
hdfs://Master:60000


hbase.zookeeper.quorum
Master,Slaver1,Slaver2


hbase.master.info.port
60010

?

?
第一个属性指定本机的hbase的存储目录;
?
第二个属性指定hbase的运行模式,true代表全分布模式;
?
第三和第四个属性是关于Zookeeper集群的配置。我的本地暂时没有安装Zookeeper,可以不配置该项。
?
修改regionservers,在regionservers文件中添加如下内容:
?
Slaver1
?
Slaver2
?
第五个属性是Hbase配置的web端访问端口,之前没有配不知道启动的默认端口,一直无法访问
?
此处配置需要注意标红部分,然后 hbase.zookeeper.quorum 的value里面写主机名,当然最好是部署奇数个,偶数个不是不可以的,但是zookeeper集群是以宕机个数过半才会让整个集群宕机的,所以奇数个集群更佳。
?
其中首先需要注意 hdfs://Master:9000/hbase 这里,必须与你的Hadoop集群的 core-site.xml 文件配置保持完全一致才行,如果你Hadoop的 hdfs使用了其它端口,请在这里也修改。
?
再者就是Hbase该项并不识别机器IP,只能使用机器 hostname才可行,即若使用 Master 的 IP: 10.10.10.10 是会抛出java错误,至于具体的错误这里就不关注了。
?
修改 hbase-env.sh 文件
export JAVA_HOME=/usr/java/jdk1.8.0_60,本处写法 /usr/java/latest 是指向默认安装的jdk的。
?
还需要添加 HBASE_HOME/HADOOP_HOME,这些框架都无法直接获取本地环境变量,不知是否存在某处错误引起
?
?
启动HBase
?
启动hbase时要确保hdfs已经启动。在主节点上执行: start-hbase.sh
?
启动成功后集群会多出如下进程:
?
Namenode:
?
Datanode:
?
?
总结:
?
这样本次安装Hbase-1.1.2 就完成了。整个过程没有太多难点。只要关注细节还是无脑配置。
?
Hbase 测试
?
1. 通过 浏览器访问 ?http://10.10.10.10:60010 ,出现如下界面
2. 通过Hbase shell 测试
?
a. 执行 hbase shell 命令
?
?
b. 创建一个 test 表 。
?
此时在执行建表语句时发生一个错误 ERROR: Can't get master address from ZooKeeper; znode data == null,并且HMaster进程掉了
?
查找资料发现有两种解释:
?
1. HDFS的格式化存在问题,pid不一致导致的连接错误。
?
2. 就是没有安装Zookeeper 导致的
?
经过仔细分析,发现其他人在进行这步操作时没有提到要另外安装Zookeeper,所以先进行第一步测试。经过测试后发现启动后过了一会HMaster 进程还是掉了。查看下hbase的logs里面的Zookeeper日志,发现都是连接Slavers错误,后来想想这个Zookeeper应该要装,别人没提到可能是单机版或是提前就配好了这玩意儿。安装步骤这里就不写了,先去安装Zookeeper,待会再来继续进行测试。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇select * from table 时间长 下一篇T-SQL动态查询(1)――简介

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: