HBase HA完全分布式环境搭建
一 集群部署架构介绍
Master节点一主一备,跟HadoopNameNode 保持一致,即HBase
Master也把主从节点放在NameNode主从同一台机器
RegionServer放在每一个对应DataNode上,比如我由三个DataNode,那么每一台DataNode对应的Server也会放一个RegionServer
节点规划信息:
二 企业级系统参数设置
查看Linux系统最大进程数和最大文件打开数
可根据具体情况调整,包括以下内核参数:
net.ipv4.ip_forward=0
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.default.accept_source_route=0
kernel.core_users_pid=1
net.ipv4.tcp_syncookies=1
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
net.bridge.bridge-nf-call-arptables=0
kernel.mggmnb=65536
kernel.mggmax=65536
kernel.shmmax=68719476736
kernel.shmall=268435456
net.ipv4.tcp_max_syn_backlog=65000
net.core.netdev_max_backlog=32768
net.core.somaxconn=32768
fs.file-max=65000
net.core.wmem_default=8388608
net.core.rmem_default=8388608
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_syn_retries=2
net.ipv4.tcp_mem=94500000 915000000 927000000
net.ipv4.tcp_max_orphans=3276800
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_keepalive_time=1200
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_fin_timeout=10
net.ipv4.tcp_keepalive_intvl=15
net.ipv4.tcp_keepalive_probes=3
net.ipv4.ip_local_port_range=1024 65535
net.ipv4.conf.eml.send_redirects=0
net.ipv4.conf.lo.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.eml.accept_source_route=0
net.ipv4.conf.lo.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.icmp_ignore_bogus_error_responses=1
kernel.core_pattern=/tmp/core
vm.overcommit_memory=1
三 解压
tar-zxf ./hbase-1.0.0-cdh5.5.0.tar.gz -C /opt/app/
四 配置HBase的hbase-env.sh里的相关参数
exportJAVA_HOME=/opt/app/java
exportHADOOP_HOME=/opt/app/hadoop
exportHBASE_HEAPSIZE=1024
exportHBASE_OPTS="-XX:+UseConcMarkSweepGC"
exportHBASE_MASTER_OPTS="${HBASE_MASTER_OPTS} -Xmx512m"
exportHBASE_REGIONSERVER_OPTS="${HBASE_REGIONSER
VER_OPTS}-Xmx1024m"
exportHBASE_LOG_DIR=${HBASE_HOME}/logs
exportHBASE_PID_DIR=${HBASE_HOME}/pids
#不使用HBase自己的zookeeper
exportHBASE_MANAGES_ZK=false
五 配置hbase-site.xml
HMasterhadoop-all-01 hadoop-all-02
HRegionServerhadoop-all-01 hadoop-all-02 hadoop-all-03
<configuration>
<!-- 指定缓存文件存储的路径 -->
<property>
<name>hbase.tmp.dir</name>
<value>/opt/app/hbase/data</value>
</property>
<!-- 设置HRegionServers共享目录 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://hdfs-cluster/hbase</value>
</property>
<!-- 设置HMaster的rpc端口 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<!-- 设置HMaster的http端口 -->
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<!-- 开启分布式模式 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop-all-01,hadoop-all-02,hadoop-all-03</value>
</property>
<!-- 指定ZooKeeper集群端口 -->
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<!--指定Zookeeper数据目录,需要与ZooKeeper集群上配置相一致 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/app/zookeeper-3.4.5/data</value>
</property>
<!-- hbase客户端rpc扫描一次获取的行数,默认是2147483647, -->
<property>
<name>hbase.client.scanner.caching</name>
<value>2000</value>
</property>
<!-- HRegion分裂前最大的文件大小(默认1.25G)-->
<property>
<name>hbase.hregion.max.filesize</name>
<value>10737418240</value>
</property>
<!-- HRegionServer中最大的region数量 -->
<property>
<name>hbase.regionserver.reginoSplitLimit</name>
<value>2000</value>
</property>
<!-- StoreFile开始合并的阀值 -->
<property>
<name>hbase.hstore.compactionThreshold</name>
<value>6</value>
</property>
<!-- 当某一个region的storefile个数达到该值则block写入,等待compact-->
<property>
<name>hbase.hstore.blockingStoreFiles</name>
<value>14</value>
</property>
<!--当MemStore占用内存大小超过hbase.hregion.memstore.flush.size
MemStore刷新缓存的大小的4倍,开始中block该HRegion的请求,进行flush
释放内存,后台会有服务线程在周期内hbase.server.thread.wakefrequency
定时检查-->
<property>
<name>hbase.hregion.memstore.block.multiplier</name>
<value>4</value>
</property>
<!-- service工作的sleep间隔 -->
<property>
<name>hbase.server.thread.wakefrequency</name>
<value>500</value>
</property>
<!--ZK并发连接的限制-->
<property>
<name>hbase.zookeeper.property.maxClientCnxns</name>
<value>300</value>
</property>
<!--RegionServer进程block进行flush触发条件:该节点上所有region的memstore之和达到upperLimit*heapsize-->
<property>
<name>hbase.regionserver.global.memstore.size</name>
<value>0.4</value>
</property>
<!--RegionServer进程触发flush的一个条件:该节点上所有region的memstore之和达到lowerLimit*heapsize-->
<property>
<name>hbase.regionserver.global.memstore.size.lower.limit</name>
<value>0.3</value>
</property>
<property>
<name>hfile.block.cache.size</name>
<value>0.4</value>
</property>
<!--HRegionserver处理IO请求的线程数-->
<property>
<name>hbase.regionserver.handler.count</name>
<value>100</value>
</property>
<!-- 客户端最大重试次数 -->
<property>
<name>hbase.client.retries.number</name>
<value>5</value>
</property>
<!-- 客户端重试的休眠时间 -->
<property>
<name>hbase.client.pause</name>
<value>100</value>
</property>
</configuration>
六 配置regionservers
vimregionservers,把HRegionServer对应的host添加进去
hadoop-all-01
hadoop-all-02
hadoop-all-03
七 配置backup-masters文件
hadoop-all-02
八 创建必要的目录
mkdir-p /opt/app/hbase/data logs pids
九 把已经配置好的hbase分发到其他节点
删除hbase的slf4j-log4j12-1.7.5.jar,解决hbase和hadoop的LSF4J包冲突
mvslf4j-log4j12-1.7.5.jar slf4j-log4j12-1.7.5.jar.bak
删除/opt/app/hbase-1.0.0-cdh5.5.0/docs
scp-r hbase-1.0.0-cdh5.5.0/ hadoop@hadoop-all-02:/opt/app/
scp-r hbase-1.0.0-cdh5.5.0/ hadoop@hadoop-all-03:/opt/app/
然后每一个节点给该文件创建软连接指向/opt/app/hbase
ln-s /opt/app/hbase-1.0.0-cdh5.5.0 /opt/app/hbase
十 每一个节点添加环境变量
vim~/.bashrc
#HBASE_HOME
exportHBASE_HOME=/opt/app/hbase
exportPATH=$PATH:$HBASE_HOME/bin
保存之后,source~/.bashrc
十一 启动HBASE集群
首先确保所有ZK NNDN RM NM已经启动
start-hbase.sh所有的HMaster和HRegionServer都会启动
然后访问WEB-UI:
http://hadoop-all-01:16010
http://hadoop-all-02:16010
HBase HA完全分布式环境搭建相关推荐
- 最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程(二)
继续上次的教程,这次安装hbase与hive.之前有同学反应百度网盘中没有hbase安装包,这次补上了,在上篇博客的网盘链接中已经有了,最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程 ...
- zookeeper、hadoop、hbase单机伪分布式环境搭建(虚拟机vmware)
zookeeper单机多实例 其实就是跑多个zk服务,以zkServer1为例,配置如下:其中192.168.29.128为虚拟机ip 很重要 dataDir=/virgil/zooserver/se ...
- Hadoop 2.x 完全分布式HA集群环境搭建
Hadoop 2.x 完全分布式HA集群环境搭建 目录 Hadoop 2.0 环境搭建 前提:环境准备 第一步:修改hadoop-env.sh配置文件,配置好JAVA_HOME环境变量 第二步:修改h ...
- 2021年大数据环境搭建(二):分布式环境搭建
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 分布式环境搭建 集群规 ...
- Hadoop2.2.0伪分布式环境搭建(附:64位下编译Hadoop-2.2.0过程)
Hadoop2.2.0伪分布式环境搭建: 写在前面:Hadoop2.2.0默认是支持32位的OS,如果想要在64位OS下运行的话,可以通过在64位OS下面编译Hadoop2.2.0来实现,编译的操作步 ...
- Hadoop入门基础教程 Hadoop之完全分布式环境搭建
上一篇我们完成了Hadoop伪分布式环境的搭建,伪分布式模式也叫单节点集群模式, NameNode.SecondaryNameNode.DataNode.JobTracker.TaskTracker所 ...
- Hadoop单机和伪分布式环境搭建
hadoop环境搭建 1.三个环境 单机.伪分布式.分布式 2.三个分支 apache版本(Apache基金会) cdh版本(cloudera公司) ...
- Zookeeper分布式环境搭建
Zookeeper分布式环境搭建 一.分布式安装部署 1.前置条件 2.集群规划 3.解压安装 4.配置zoo.cfg文件 5.集群操作 二.配置参数解读 1.tickTime 2.initLimit ...
- ZooKeeper之分布式环境搭建
第1关:仲裁模式与伪分布式环境搭建 本关任务:了解ZooKeeper的仲裁模式,掌握伪分布式安装. vi /opt/zookeeper-3.4.12/conf/zoo.cfg 增加以下内容并保存:se ...
最新文章
- xp系统vba服务器,VBA获取操作系统的版本号(支持windows xp,windows 2003 ,win7 ,win10)
- 零基础代理神器allproxy
- FisherVector编码的来龙去脉
- eclipse为什么导入不了awt_为什么选择javafx?
- 如何用计算机打出love,游戏中名字的LOVE怎么用符号打出来?
- java属于什么行业,吐血整理
- python 核心编程第5章(习题)
- 定制textField
- java map 缓存数据_Map方式实现JAVA数据缓存
- Multisim14实现逻辑函数的化简与变换
- 有序表归并算法(数据结构学习笔记)
- Unity 旋转角度计算
- 2WD远程控制小车——云端设计
- 炫酷粒子表白,双十一脱单靠它了!
- 单条视频播放量破2000w,一首《孤勇者》就能盘活一个账号?
- 快递手持PDA的应用介绍
- Mcad学习笔记之通过反射调用類的方法,屬性,字段,索引器(2種方法)
- Spring Boot Gradle 瘦身打包 thinJar,分离 lib jar 依赖
- 【xitongshoucang.com】vista登录界面在win 7系统中如何保留
- 度小满金融面试java_记度小满金融面试过程
热门文章
- Vue组件化之VueComponent介绍
- 对无线编码缓存的一些理解
- Zookeeper(三)——选举机制
- mysql基础数据类型字节数_MySQL基础之数据类型
- 华中科技大学计算机视觉张朋,管涛-华中科技大智能媒体计算与网络安全实验室...
- python小数点进位小学数学_python小数的进位与舍去的介绍(附代码)
- mysql和python先学哪个_Python数据库操作 初识mysql和mysql基本操作#学习猿地
- pytorch使用torch.nn.Sequential构建网络
- 解决Mac无法编辑 .bash_profile文件与使用sudo时permission denied报错
- linux 下搭建subversion (svn),CentOS Linux 搭建 SVN(CollabNet Subversion)服务器,易用性和对远程团队的...