博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apache--hbase集群--三节点
阅读量:6419 次
发布时间:2019-06-23

本文共 5391 字,大约阅读时间需要 17 分钟。

前提:jdk,无密互通,时间同步,zookeeper,hadoop

集群

主机名 study centos156 client
IP 192.168.233.155 192.168.233.156 192.168.233.158
服务1 zookeeper 1 zookeeper 2 zookeeper 3
服务2 namenode namenode
服务3 datanode datanode datanode
服务4 journalnode journalnode
服务5 nodemanager nodemanager nodemanager
服务6 zkfc zkfc
服务7 ResourceManager
服务8 hmaster hmaster hmaster
服务9 ResourceManager

节点一-study

#下载hbase:

#本文档用的1.2.6版本

cd /tmp/

wget
#解压
tar axf hbase-1.2.6-bin.tar.gz -C /usr/local/
#重命名
mv /usr/local/hbase-1.2.6/ /usr/local/hbase
#修改环境变量
vim /etc/profile

#hbase

export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin

source /etc/profile

#修改配置文件
cd $HBASE_HOME/conf
vim hbase-env.sh
#添加如下行

export JAVA_HOME=/usr/local/jdk

export HBASE_MANAGES_ZK=false

修改JVM只需修改hbase-env.sh中的HBASE_MASTER_OPTS和HBASE_REGIONSERVER_OPTS

vim hbase-site.xml

<configuration>

<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop/hbase</value>
<description>region server的共享目录,指定的是hdfs中的目录(如果hdfs做了HA应该指向core-site.xml中的hdfs逻辑名,负责namenode出现状态迁移hbase将故障),这里指定的是/hbase,可以指定写在本地目录,默认为file:///tmp/hbase-${user.name}/hbase</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>HBase的运行模式,false是单机模式,true是分布式模式</description>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
<description>zookeeper连接端口</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>study,centos156,client</value>
<description>zookeeper节点地址</description>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>60000</value>
<description>会话超时时间,单位毫秒</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/zookeeper</value>
<description>ZooKeeper的zoo.conf中的配置,快照存储位置</description>
</property>
</configuration>

#指定regionservers节点

vim regionservers

study

centos156
client

#将文件复制到其他节点

scp -r /usr/local/hbase/ centos156:/usr/local/
scp -r /usr/local/hbase/ client:/usr/local/
scp /etc/profile centos156:/etc/
scp /etc/profile client:/etc/

节点二-centos156

source /etc/profile

节点三-client

source /etc/profile

启动集群

节点一-study

start-hbase.sh

apache--hbase集群--三节点
这里的警告信息是因为我用的8的jdk
apache--hbase集群--三节点
这并没有什么影响
查看状态
hbase shell
#status查看状态
apache--hbase集群--三节点

启动其他机器上的hmaster作为备用节点

节点二-centos156

hbase-daemon.sh start master

节点三-client

hbase-daemon.sh start master

查看状态
hbase shell
#status查看状态
apache--hbase集群--三节点

关闭加点一上的hmaster测试

hbase-daemon.sh stop master
apache--hbase集群--三节点

hbase数据迁移

现看hbase-site.xml文件中将数据放哪了

hbase.rootdir
hdfs://study:9000/hbase

因为我们放在了hadoop中,所以只需要进行hadoop的数据迁移

数据备份

mkdir /tmp/hbase

chmod 777 /tmp/hbase
hadoop fs -copyToLocal hdfs://study:9000/ /tmp/hbase

数据恢复

先用u盘或者其他的任何方式将文件传输到目标机器

hadoop fs -copyFromLocal /tmp/hbase hdfs://study:9000/

hadoop fs -ls /

重启hbase

stop-hbase.sh

start-hbase.sh

hbase JVM设置

全局修改

-Xmx Heap(堆内存)最大允许值

-Xms Heap(堆内存)最小允许值
-Xmn 年轻代大小

vim hbase-env.sh

export HBASE_OPTS="-XX:+UseConcMarkSweepGC -Xmx4000m -Xms4000m -Xmn1000m -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=70"

master修改

vim hbase-env.sh

export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Xmx4000m -Xms4000m -Xmn1000m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70"

regionserver修改

vim hbase-env.sh

export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Xmx4000m -Xms4000m -Xmn1000m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70"

hbase异常处理

测试hive、spark重新搭建hadoop集群,结果遇到如下报错

2018-01-10 11:21:44,336 ERROR [main] master.HMasterCommandLine: Master exitingjava.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster.         at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2512)        at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:231)        at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:137)        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)        at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)        at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2522)Caused by: java.io.IOException: Port 9000 specified in URI hdfs://master:9000/hbase but host 'master' is a logical (HA) namenode and does not use port information.        at org.apache.hadoop.hdfs.NameNodeProxies.createFailoverProxyProvider(NameNodeProxies.java:488)        at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:148)

回忆以前搭建的流程(翻文档。。。)发现时间没有同步

将时间同步弄好了之后启动还是这样的报错,怀疑是缓存引起的一怒之下删除了/tmp和hbae下的所有文件,然后重新搭建hbase

然后问题解决了

从现象上看引起该问题主要原因就是服务器间时间不同步

HMaster怎么都起不来

查看报错

org.apache.hadoop.ipc.RemoteExceptionOperation category READ is not supported in state standby

这是hadoop集群出现了异常,查看集群状态,详情查看

报错

2018-01-22 20:58:56,177 FATAL [slave2:16000.activeMasterManager] master.HMaster: Failed to become active masterorg.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/hbase/.tmp":hadoop:supergroup:drwxr-xr-x

这是因为root用户对hadoop中该目录没有写权限,用之前使用的用户启动或还hadoop目录权限。

hbase shell常用命令

help 'get' 查看帮助信息
status 查看状态
list 查看列表
scan <"表名"> 查看一个表的所有数据
scan <"表名">,<"列名"> 查看表的某列所有数据
create <"表名">,<"列名1">,["列名2"] 创建表
describe <"表名"> 查看表结构
is_enabled <"表名"> 判断表是否enabled
get <"表名">,<"key"> 获取一个key的所有数据
get <"表名">,<"key">,<"列簇"> 获取一个key的一个列簇所有数据
Filter 修饰器,用于过滤信息(详情看参考文档)

转载于:https://blog.51cto.com/13323775/2055195

你可能感兴趣的文章
samba中文手册
查看>>
Sublime Text 2 配置python运行环境
查看>>
快速构建Windows 8风格应用36-商店应用发布流程
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
.Net Core IFormFile 始终为空的问题
查看>>
图片自适应
查看>>
【opengl】绘制一个立方体并在表面添加文字(添加文理)
查看>>
Distributed vSwitch分布式交换机
查看>>
用java实现短信发送的实例分享
查看>>
《构建之法》阅读笔记及项目管理软件
查看>>
VC中动态分配的几种写法
查看>>
excel数据比对,查找差异
查看>>
python3 简单登录,注册测试代码
查看>>
MAC VMWare Fusion配置mac和win7虚拟机互相访问
查看>>
awk正则匹配和awk命令统计某程序的CPU总的利用率
查看>>
CentOS7安装grafana
查看>>
bzoj 1823: [JSOI2010]满汉全席
查看>>
实战部署openldap主从架构
查看>>
我的技术路还很长
查看>>