文档章节

zookeeper报错“no space left on device”

刀锋
 刀锋
发布于 05/07 15:19
字数 476
阅读 84
收藏 0

问题描述

线上环境使用的是cdh搭建的集群,今天zookeeper报错“no space left on device”,经查为zookeeper的datadir的默认目录(/var/lib/zookeeper)空间所剩无几导致,重新调整了数据的存储目录,再次启动zookeeper,结果报如下错误:

2018-05-07 11:25:07,425 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig: Reading configuration from: /var/run/cloudera-scm-agent/process/604-zookeeper-server/zoo.cfg
2018-05-07 11:25:07,446 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig: Defaulting to majority quorums
2018-05-07 11:25:07,453 INFO org.apache.zookeeper.server.DatadirCleanupManager: autopurge.snapRetainCount set to 5
2018-05-07 11:25:07,453 INFO org.apache.zookeeper.server.DatadirCleanupManager: autopurge.purgeInterval set to 24
2018-05-07 11:25:07,454 INFO org.apache.zookeeper.server.DatadirCleanupManager: Purge task started.
2018-05-07 11:25:07,460 ERROR org.apache.zookeeper.server.DatadirCleanupManager: Error occured while purging.
org.apache.zookeeper.server.persistence.FileTxnSnapLog$DatadirException: Missing snap directory /data/var/lib/zookeeper/version-2, automatic data directory creation is disabled (zookeeper.datadir.autocreate is false). Please create this directory manually.
	at org.apache.zookeeper.server.persistence.FileTxnSnapLog.<init>(FileTxnSnapLog.java:122)
	at org.apache.zookeeper.server.PurgeTxnLog.purge(PurgeTxnLog.java:68)
	at org.apache.zookeeper.server.DatadirCleanupManager$PurgeTask.run(DatadirCleanupManager.java:140)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
2018-05-07 11:25:07,474 INFO org.apache.zookeeper.server.DatadirCleanupManager: Purge task completed.
2018-05-07 11:25:07,483 INFO org.apache.zookeeper.server.quorum.QuorumPeerMain: Starting quorum peer
2018-05-07 11:25:07,497 INFO org.apache.zookeeper.server.NIOServerCnxnFactory: binding to port 0.0.0.0/0.0.0.0:2181
2018-05-07 11:25:07,512 ERROR org.apache.zookeeper.server.quorum.QuorumPeerMain: Unable to access datadir, exiting abnormally
org.apache.zookeeper.server.persistence.FileTxnSnapLog$DatadirException: Missing snap directory /data/var/lib/zookeeper/version-2, automatic data directory creation is disabled (zookeeper.datadir.autocreate is false). Please create this directory manually.
	at org.apache.zookeeper.server.persistence.FileTxnSnapLog.<init>(FileTxnSnapLog.java:122)
	at org.apache.zookeeper.server.quorum.QuorumPeer.<init>(QuorumPeer.java:490)
	at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:138)
	at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:116)
	at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:79)

解决过程

经日志可得,原因为目录  /data/var/lib/zookeeper/version-2 无法自动创建,根据提示可以通过设置属性 zookeeper.datadir.autocreate=true 来解决,或者手动创建该目录并修改所属用户和用户组,处理细节具体如下:

mkdir /data/var/lib/zookeeper/version-2
chown zookeeper:zookeeper /data/var/lib/zookeeper/version-2

然后重启zookeeper,启动成功。但是,接下来启动hdfs失败,错误日志如下:

FATAL org.apache.hadoop.ha.ZKFailoverController: Unable to start failover controller. Parent znode does not exist.

参考:zookeeper hadoop-ha znode丢失导致hadoop不能failover的解决办法,执行如下命令:

/usr/local/hadoop/bin/hdfs zkfc -formatZK # 重新进入hadoop namenode服务器

然后,重启hdfs,问题解决。

 

© 著作权归作者所有

共有 人打赏支持
刀锋
粉丝 2
博文 390
码字总数 298858
作品 0
济南
程序员
Zookeeper分布式安装手册

一、安装准备 1、下载zookeeper-3.3.1, 地址:http://www.apache.org/dist/hadoop/zookeeper/zookeeper-3.3.1/ 2、JDK版本:jdk-6u20-linux-i586.bin 3、操作系统:Linux 4、默认前提是安装...

风林火山
2010/12/18
0
3
遇到的问题--java连接hbase的thrift2报错readtimeout

遇到问题 java连接hbase的thrift2报错readtimeout 原因分析 java连接hbase的thrift2报错readtimeout原因有多种, 一是排除网络和防火墙问题 二是检测thrift2服务是否正常或者假死 三是thrif...

q383965374
04/23
0
0
zookeeper单机多实例部署

主题介绍 介绍zookeeper单机多实例部署,更多适合于实验性质;ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,...

computer306
04/22
0
0
基于zookeeper+leveldb搭建activemq集群实现高可用

自从activemq5.9.0开始,activemq的集群实现方式取消了传统的Master-Slave方式,增加了基于zookeeper+leveldb的实现方式,其他两种方式:目录共享和数据库共享依然存在。本文主要阐述基于zoo...

chaun
2015/08/17
0
2
基于zookeeper+leveldb搭建activemq集群

自从activemq5.9.0开始,activemq的集群实现方式取消了传统的Master-Slave方式,增加了基于zookeeper+leveldb的实现方式,其他两种方式:目录共享和数据库共享依然存在。本文主要阐述基于zoo...

萧十一郎君
2014/09/12
0
7

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea新建springCloud项目(5)- 订单服务

1.创建订单api,如下: 2.创建订单实现逻辑 3.新建订单、订单商品表 -- 订单 create table `order_master` ( `order_id` varchar(32) not null, `buyer_name` varchar(32) not null comment......

monroeCode
1分钟前
0
0
游戏开发经验谈(二):对战类全球服游戏的设计与实现

上篇文章《游戏开发经验谈(一):游戏架构里隐藏的五个坑及其应对方案》,我们主要讲解了游戏架构设计当中隐藏的一些坑及其应对方案,错过的小伙伴可以回溯之前的内容。本期内容,将会重点介...

UCloudTech
11分钟前
0
0
Mysql基本语法

一.联合主键 drop table CONTENT_AND_CATALOG;CREATE TABLE `tobebetter`.`CONTENT_AND_CATALOG` ( `ID` VARCHAR(120) NOT NULL , `CONTENT_ID` VARCHAR(120) , `CA......

我是菜鸟我骄傲
12分钟前
0
0
179. centos7 安装mariadb

1. centos7 中安装mariadb 1.1 执行安装 centos7 自带了mariadb yum -y install mariadb mariadb-server 1.2 启动mariadb systemctl start mariadb 1.3 设置开机启动 systemctl enable maria......

Lucky_Me
20分钟前
0
0
【AI实战】动手训练自己的目标检测模型(YOLO篇)

在前面的文章中,已经介绍了基于SSD使用自己的数据训练目标检测模型(见文章:手把手教你训练自己的目标检测模型),本文将基于另一个目标检测模型YOLO,介绍如何使用自己的数据进行训练。 ...

雪饼
26分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部