RegionServer 由于 ZooKeeper session expired 而退出,头疼了很久,总结可能的原因:
1、网络不好
2、GC时间过长,程序暂停导致租约过期
3、CPU忙,维护zookeeper的线程不能及时得到执行机会(调度)
解决方案:
- RS配置zookeeper.session.timeout时间长点,我配置的180000
- RS配置hbase.regionserver.restart.on.zk.expire设置为true
参考下源代码
/**
* We register ourselves as a watcher on the master address ZNode. This is
* called by ZooKeeper when we get an event on that ZNode. When this method
* is called it means either our master has died, or a new one has come up.
* Either way we need to update our knowledge of the master.
* @param event WatchedEvent from ZooKeeper.
*/
public void process(WatchedEvent event) {
EventType type = event.getType();
KeeperState state = event.getState();
LOG.info("Got ZooKeeper event, state: " + state + ", type: " +
type + ", path: " + event.getPath());
// Ignore events if we're shutting down.
if (stopRequested.get()) {
LOG.debug("Ignoring ZooKeeper event while shutting down");
return;
}
if (state == KeeperState.Expired) {
LOG.error("ZooKeeper session expired");
boolean restart =
this.conf.getBoolean("hbase.regionserver.restart.on.zk.expire", false);
if (restart) {
restart();
} else {
abort();
}
} else if (type == EventType.NodeDeleted) {
watchMasterAddress();
} else if (type == EventType.NodeCreated) {
getMaster();
// ZooKeeper watches are one time only, so we need to re-register our watch.
watchMasterAddress();
}
}
可以看出来 hbase.regionserver.restart.on.zk.expire设置为true的话,会restart否则会abort,这样可以防止RS自杀。不过我看官方文档没有给出
hbase.regionserver.restart.on.zk.expire配置。
分享到:
相关推荐
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m" # 添加以下内容 export JAVA_HOME=/usr/local/jdk1.8.0_131 export HADOOP_HOME=/usr/local/hadoop-2.8.0 ...
4. 启动HBase:通过`start-hbase.sh`命令启动Master和RegionServer。 Zookeeper3.4.12是一个分布式协调服务,用于管理Hadoop和HBase的元数据。配置Zookeeper集群涉及: 1. 安装Zookeeper:在所有节点上部署...
hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程 hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程 hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程
在大数据处理领域,Hadoop、HBase和ZooKeeper是三个至关重要的开源组件。本教程将深入探讨如何利用Hadoop2.7.3、HBase1.2.5和ZooKeeper3.4.6搭建一个完整的分布式集群环境,以支持大规模数据存储和处理。 首先,...
在大数据处理领域,HBase和ZooKeeper是两个至关重要的组件。HBase是一个分布式的、面向列的NoSQL数据库,它构建在Hadoop文件系统(HDFS)之上,提供了高可靠性、高性能、实时的数据存储和访问能力。ZooKeeper则是一...
标题 "hadoop2.7.1+hbase2.1.4+zookeeper3.6.2.rar" 提供的信息表明这是一个包含Hadoop 2.7.1、HBase 2.1.4和ZooKeeper 3.6.2的软件集合。这个压缩包可能包含了这些分布式系统的安装文件、配置文件、文档以及其他...
### Linux下Hbase和Zookeeper的安装与部署详解 #### Zookeeper 安装与配置 Zookeeper 是一款开源的分布式协调服务系统,主要用于解决分布式应用中的常见问题,例如:命名服务、状态同步服务、集群管理等。在进行...
HBase 和 ZooKeeper 配置详解 HBase 和 ZooKeeper 是两个非常重要的分布式系统组件,分别用于分布式数据库和分布式协调服务。今天,我们将详细介绍如何配置 HBase 和 ZooKeeper,以便更好地理解它们之间的交互。 ...
hadoop、hbase、zookeeper错误日志及相关应对措施 本文将对hadoop、hbase和zookeeper的错误日志进行总结和分析,并提供相关的应对措施,以帮助读者更好地理解和解决这些错误。 Hadoop-0.20.2 & hbase-0.90.1 集群...
根据提供的标题、描述、标签及部分内容链接,我们可以推断出这是一个关于大数据技术栈的培训课程,涉及的技术包括Hadoop、HBase、Zookeeper、Spark、Kafka、Scala以及Ambari。下面将针对这些技术进行详细的介绍和...
4. **启动HBase**:启动Master和RegionServer,确保HBase集群运行。 5. **验证HBase**:创建表,插入数据,进行查询以验证安装。 **Zookeeper的安装部署**: 1. **下载Zookeeper**:获取最新稳定版。 2. **配置...
安装过程完成后,还需要根据实际需求对HBase的配置文件(如`hbase-site.xml`和`hbase-env.sh`)进行调整,比如设置HBase的内存使用、Zookeeper地址、HDFS地址等。 总的来说,HBase是一个强大的分布式数据库,尤其...
《Hbase与Zookeeper深度解析》 在大数据领域,Hbase和Zookeeper是两个至关重要的组件,它们在分布式系统中的作用不可忽视。本篇笔记主要围绕这两个技术进行深入探讨,结合尚硅谷的视频教程资源,旨在帮助读者全面...
hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记hadoop,hbase,zookeeper安装笔记
在`hbase-site.xml`中,你需要配置`hbase.zookeeper.quorum`属性,指定Zookeeper服务器的IP地址或域名,例如:`localhost`。此外,`hbase.zookeeper.property.clientPort`用于设定Zookeeper的客户端端口,默认为2181...
在搭建HBase集群时,我们需要配置HBase的主RegionServer(Master)、RegionServer实例以及与Zookeeper的连接。此外,还要设置表和列族的属性,如块大小、缓存设置等,以优化性能。 在实际搭建过程中,首先,你需要...
标题 "Hadoop、HBase、Hive、Pig、Zookeeper资料整理" 涵盖了大数据处理领域中几个核心的开源项目,这些项目在分布式计算、数据存储和管理方面发挥着重要作用。以下是对这些技术的详细介绍: 1. **Hadoop**:Hadoop...
`hbase.regionserver.global.memstore.upperLimit` 和 `hbase.regionserver.global.memstore.lowerLimit` - **含义**:分别定义了RegionServer所有MemStore占用内存的比例上限和下限。 - **默认值**:分别为0.4和...
* hbase.regionserver.info.bindAddress:0.0.0.0,这个参数指定了 HBase RegionServer WEB-UI 绑定的地址。 十、HBase RegionServer IPC 配置 * hbase.ipc.server.callqueue.handler.factor:0.1,这个参数指定了...