搭建hbase集群
0.选择安装的主机
s201 ~ s204
1.jdk
可参考此篇:https://blog.csdn.net/mao502010435/article/details/86487920
2.hadoop
可参考此篇:https://blog.csdn.net/mao502010435/article/details/86487920
3.tar
tar -xzvf hbase.tar.gz
4.环境变量
export HBASE_HOME=/soft/hbase
export PATH=$PATH:$HBASE_HOME/bin
.验证安装是否成功
$>hbase version 5.配置hbase模式
5.1)本地模式
[hbase/conf/hbase-env.sh]
EXPORT JAVA_HOME=/soft/jdk
[hbase/conf/hbase-site.xml]
...
<property>
<name>hbase.rootdir</name>
<value>file:/home/hadoop/HBase/HFiles</value>
</property>
5.2)伪分布式
[hbase/conf/hbase-env.sh]
EXPORT JAVA_HOME=/soft/jdk
[hbase/conf/hbase-site.xml]
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8030/hbase</value>
</property>
5.3)完全分布式(必做)
[hbase/conf/hbase-env.sh]
export JAVA_HOME=/soft/jdk
export HBASE_MANAGES_ZK=false
[hbse-site.xml]
<!-- 使用完全分布式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定hbase数据在hdfs上的存放路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://s201:8020/hbase</value>
</property>
<!-- 配置zk地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>s201:2181,s202:2181,s203:2181</value>
</property>
<!-- zk的本地目录 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/centos/zookeeper</value>
</property>
6.配置regionservers
[hbase/conf/regionservers]
s202
s203
s204
7.启动hbase集群(s201)
$>start-hbase.sh
8.登录hbase的webui
http://s201:16010
hbase和hadoop的ha集成
1.在hbase-env.sh文件添加hadoop配置文件目录到HBASE_CLASSPATH环境变量并分发.
[/soft/hbase/conf/hbase-env.sh]
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/soft/hadoop/etc/hadoop
2.在hbase/conf/目录下创建到hadoop的hdfs-site.xml符号连接。
ln -s /soft/hadoop/etc/hadoop/hdfs-site.xml /soft/hbase/conf/hdfs-site.xml
3.修改hbase-site.xml文件中hbase.rootdir的目录值。
[/soft/hbase/conf/hbase-site.xml]
<property>
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value>
</property>
4.将以上步骤分发处理。
注:配置过程中遇到的问题
1:Hmaster启动失败
查看日志发现logs文件夹和文件夹下的文件都是root权限,出现权限不足问题,修改为用户权限,可以启动了。
2.HRegionServer 启动失败
Caused by: java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder
该类不存在错误
在maven库下载htrace-core-3.1.0-incubating.jar并移动到 $HBASE_HOME/lib/ 目录下,启动成功
3.HRegionServer 启动后消失
查看Hmater主服务器时间是否与其他服务器时间相同,如果不同,则更新时间,问题解决
安装ntpdate工具
# yum -y install ntp ntpdate
设置系统时间与网络时间同步
# ntpdate cn.pool.ntp.org
将系统时间写入硬件时间
# hwclock --systohc