背景

集群运行一段时间(大概一月多)后,cloudera manager管理界面出现爆红,爆红的组件有hdfs、zookeeper。

发现问题

点击详细内容查看,报日志空间不够的错误。初步判断是各个组件的日志数据把空间占满了。

查看各个目录下磁盘占用情况

df -h

cdh的各组件的日志一般在/var/log目录下,因此主要关注“/”

查看/var/log下使用空间较大的文件夹,并由大到小排列

cd /var/log/
du -s ./* | sort -nr

还有一个是 Cloudera Management Service服务产生的日志,存在/var/lib/...

cd /var/lib/cloudera-service-monitor
du -s ./* | sort -nr

清理日志

  • 清理cm、cdh组件的日志数据

进入对应的目录,删除文件后缀是数字的日志。

cd /var/log/hadoop-mapreduce
cd /var/log/hadoop-hdfs
cd /var/log/zookeeper
cd /var/log/hive
cd /var/log/cloudera-scm-agent
cd /var/log/audit
cd /var/log/sa
cd /var/log/hadoop-yarn
cd /var/log/hue-httpd

rm -rf *.out.*
rm -rf *.log.*
  • 清理监控服务的数据

本次bug的罪魁祸首,监控服务的四个进程全都在一个节点上,监控服务单独用了20G的空间

删除监控服务的日志

rm /var/lib/cloudera-host-monitor/ts/*/partition*/* -rf
rm /var/lib/cloudera-service-monitor/ts/*/partition*/* -rf

自动化脚本

写脚本,设置定时任务,实现自动化清理日志

脚本,目前只针对hdfs、zookeeper、cm的日志进行清理,可根据需要添加其他组件的日志清理

vim  cleanLog.sh
#!/bin/bash
# # clear cloudera manager monitor log
rm /var/lib/cloudera-host-monitor/ts/*/partition*/* -rf
rm /var/lib/cloudera-service-monitor/ts/*/partition*/* -rf # clear cdh log
rm -rf /var/log/cloudera-scm-eventserver/*.out.*
rm -rf /var/log/cloudera-scm-firehose/*.out.*
rm -rf /var/log/cloudera-scm-agent/*.log.*
rm -rf /var/log/cloudera-scm-agent/*.out.*
rm -rf /var/log/cloudera-scm-server/*.out.*
rm -rf /var/log/cloudera-scm-server/*.log.* rm -rf /var/log/hadoop-hdfs/*.out.*
rm -rf /var/log/hadoop-httpfs/*.out.*
rm -rf /var/log/hadoop-kms/*.out.*
rm -rf /var/log/hadoop-mapreduce/*.out.* rm -rf /var/log/zookeeper/*.log.*

设置定时任务

crontab -e
# 设置每周五的下午7点执行
00 19 * * 5 sh /root/clearLog.sh

记一次CDH集群日志数据清理的更多相关文章

  1. 朝花夕拾之--大数据平台CDH集群离线搭建

    body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...

  2. 本地日志数据实时接入到hadoop集群的数据接入方案

    1. 概述 本手册主要介绍了,一个将传统数据接入到Hadoop集群的数据接入方案和实施方法.供数据接入和集群运维人员参考. 1.1.  整体方案 Flume作为日志收集工具,监控一个文件目录或者一个文 ...

  3. Cloudera Manager安装_搭建CDH集群

    2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu   内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server  || Agent ...

  4. CDH集群搭建部署

    1. 硬件准备     使用了五台机器,其中两台8c16g,三台4c8g.一台4c8g用于搭建cmServer和NFS服务端,另外4台作为cloudera-manager agent部署CDH集群. ...

  5. CDH集群安装&测试总结

    0.绪论 之前完全没有接触过大数据相关的东西,都是书上啊,媒体上各种吹嘘啊,我对大数据,集群啊,分布式计算等等概念真是高山仰止,充满了仰望之情,觉得这些东西是这样的: 当我搭建的过程中,发现这些东西是 ...

  6. CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  7. 基于yum安装CDH集群

    一.环境准备 准备至少3台设备:CentOS7系统: 如果是在实验环境下,给虚拟机的内存至少4G,根建议1T,数据盘1T,由于是虚拟机,所以根分区和数据盘放心大胆的给:如果是在生产环境则多多益善:我这 ...

  8. 相同版本的CDH集群间迁移hdfs以及hbase

    前言 由于项目数据安全的需要,这段时间看了下hadoop的distcp的命令使用,不断的纠结的问度娘,度娘告诉我的结果也让我很纠结,都是抄来抄去, 还好在牺牲大量的时间的基础上还终于搞出来了,顺便写这 ...

  9. ElasticSearch+Logstash+Filebeat+Kibana集群日志管理分析平台搭建

    一.ELK搜索引擎原理介绍 在使用搜索引擎是你可能会觉得很简单方便,只需要在搜索栏输入想要的关键字就能显示出想要的结果.但在这简单的操作背后是搜索引擎复杂的逻辑和许多组件协同工作的结果. 搜索引擎的组 ...

随机推荐

  1. java之spring之对象的创建

    首先提供目录结构如下: 下面提供各文件代码,以供参考: UserDynamicFactory.java package cn.sxt.factory; import cn.sxt.vo.User; / ...

  2. mac上使用git命令上传项目工程源码至Github/gitee

    原文连接:(http://www.studyshare.cn/blog/details/1164/0 ) 一.安装git工具 1.官网下载地址:点击下载  安装步骤略,mac安装工具双击拖动即可. 2 ...

  3. PE系统——安装教程

    本教程使用到的软件我会在本文末给出,若失效了请私信我,重新上传. 1.安装PE系统前,把U盘插在电脑上(如果你需要安装Windows10系统,请插入一个容量至少8G的U盘).当然容量最好是32—64G ...

  4. Kubernetes第十一章--部署微服务电商平台

  5. Tomcat启动找不到项目依赖jar的解决方式

    一.背景 最近在写一个MQ框架-gmq,先写的服务端,然后写客户端.感觉服务端和客户端分成两个独立的项目不合适,于是改成了maven父子模块的形式.父项目相当于一个壳,里面包含服务端.客户端两个模块. ...

  6. 非Java程序员转行Java-day01-入门基础

    1.学习大纲介绍 课件中的代码及资料:提取码:yexw 学习中的依赖包及安装文件:提取码 :8par 2.数据流向分析 2.1.应用型软件开发本质 增删改查(非常重要,5星) 2.2.大型网站演变历史 ...

  7. Maven项目命名规范

    Guide to naming conventions on groupId, artifactId and versiongroupId will identify your project uni ...

  8. equals与hashCode

    当我们需要将自己的类存入HashMap或HashSet时一般都要重写其equals与hashCode方法,但在重写时要符合规范否则会出问题. 1.equals方法 首先equals方法需要满足如下几点 ...

  9. hash表的理解

    哈希表 先从数组说起 任何一个程序员,基本上对数组都不会陌生,这个最常用的数据结构,说到它的优点,最明显的就是两点: 简单易用,数组的简易操作甚至让大多数程序员依赖上了它,在资源富足的情况下,我们甚至 ...

  10. tensorflow tfrecoder read write

    # write in tfrecord import tensorflow as tf import os os.environ[' FLAGS = tf.app.flags.FLAGS tf.app ...