- 使用 rsync-deploy-action 同步 Hexo 博客到个人服务器
yeshan333
前几天写了个基于rsync进行文件同步的Action->rsync-deploy-action。目的有三个:1、深入了解波GitHubActions,感受下GitHub的文档;2、个人博客在我的腾讯云CVM服务器上是部署有一份的「域名:shan333.cn」,之前的博客同步方式是通过Linux的定时任务,觉得不太行,当前博客的更新并没有那么频繁,没必要每隔几个小时就gitpull一下,且服务器还挂
- 4-10.3 Linux 中的文件同步传输 --- rsync -b、--backup 配合 -a 使用
捌千里路雲和月
4-10.2提及到单纯用-b或--backup进行文件传输,生成的目标文件是当前的系统时间。那么每次进行相同文件的传输,系统都会进行源文件和目标文件的属性比对。即使文件内容没有变化,由于时间不一致都会进行一轮新的文件传输。如果目标目录有相同文件名的文件,以当前系统时间在目标目录产生一个新文件,旧时间的文件则变为备份文件,后缀带~符号而存在。实际上这样的会变成每次都会传输一次文件,和cp复制文件到目
- 开源大数据集群部署(十)Ranger usersync部署
大数据
- SqlSession [.....] was not registered for synchronization because synchronization is not active
qiaobing1226
springboot数据库java服务器
1.报错信息今天运行服务,多线程插入数据库操作的时候(程序运行正常),发现控制台有如下提示信息:willnotbemanagedbySpring报错信息如下:SqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@3650604c]wasnotregisteredforsynchronizationbecausesynchro
- linux rsync文件远程增量同步、编写集群文件同步脚本xsync.sh
但行益事莫问前程
linux命令linux
文章目录1.rsync简介2.rsync语法3.编写集群文件同步脚本xsync.sh1.rsync简介 rsync即remotesync(远程同步),实现本地主机和远程主机上的文件同步,但不能实现远程路径1到远程路径2之间的同步(使用scp)。使用rsync命令备份数据时,不会直接覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会覆盖安装rsync:y
- nodejs获取文件夹下所有文件
锦绣前程
functionfindSync(startPath){letresult=[];functionfinder(path){letfiles=fs.readdirSync(path);files.forEach((val,index)=>{letfPath=join(path,val);letstats=fs.statSync(fPath);if(stats.isDirectory())finde
- 每天一个Linux命令之scp
SCOR_PIO
scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读readonlysystem时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然rsync比scp会快一点,但当小文件众多的情况下,rsync
- 集群同步分发脚本
日写BUG八百行
linuxshell
写脚本之前先安装服务yuminstallrsync-y#!/bin/bash#$#:表示传递给脚本或函数的参数个数。#1获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0));thenechonoargs;exit;fi#2获取文件名称p1=$1fname=`basename$p1`echofname=$fname#3获取上级目录到绝对路径pdir=`cd-P$(
- 数据同步工具--Rsync
ikaroskun
远程数据同步工具--Rsync在服务器之间进行数据同步时,Rsync是一个很有用的工具。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.关于基本操作:参考一下几篇不错的文章:rsync同步的艺术rsync命令使用arch-wiki
- bat通过ssh增量同步文件夹
三希
ssh运维
要通过SSH使用批处理文件(.bat)进行文件夹的增量同步,你可以使用rsync命令,这是一个非常强大的文件同步工具,它支持增量同步。以下是一个简单的批处理脚本示例,该脚本使用SSH连接到一个远程服务器,并使用rsync进行增量同步。首先,确保你的本地计算机上安装了SSH客户端(如OpenSSH)和rsync。在Windows上,你可以使用像GitBash、Cygwin、WindowsSubsys
- 前端开发-Browsersync 和 gulp 实现浏览器同步测试
devZhang
通常情况下,作为前端开发者,在项目中编写了一段代码后,想看看效果,需要在编辑器里保存修改的文件,然后来到浏览器打开本地文件才能看到,之后如果再做了修改,就需要手动刷新浏览器才能看到最新效果。那么,有了Browsersync和gulp的,就可以实现浏览器实时、快速的响应你的文件更改,包括html、js、css、sass、less等,并且自动刷新页面展示效果。试想一下:假设您的桌子上有pc、ipad、
- 2019-04-24笔记
深渊下的一抹阳光
Day39课堂笔记2019年4月24日一键项目实践管理配置好:1、创建分发秘钥2、安装ansible工具。3、一键执行各服务脚本具体服务一键实现的几个步骤:1、计划要做。2、单机安装好,步骤抽出来。3、写成脚本,一键安装。4、拿到管理机安装1)一键完成rsync服务端安装。剧本:#1)安装#yuminstallrsync-y#2)配置配置文件/etc/rsyncd.confcp/etc/rsync
- gulp构建完整项目
__摸摸头
项目结构如下:gulpfile.js文件配置如下://引入插件vargulp=require('gulp');varbrowserSync=require('browser-sync').create();varless=require('gulp-less');varjsmin=require('gulp-jsmin');varcleanCSS=require('gulp-clean-css')
- day 40
斗魂_2e5d
1.ansible剧本角色功能配置说明角色功能有什么用:1)让剧本配置更加规范2)可以让剧本信息简化3)可以在汇总剧本中看到主机信息如何配置角色功能:第一个历程:配置好主机清单vim/etc/ansible/roles/hosts[rsync_server]172.16.1.41[rsync_client]172.16.1.31172.16.1.7[nfs_server]172.16.1.31[n
- Linux云计算学习笔记day36
我要笑
sersync环境准备mkdir-p/server/{scripts,tools}tree/server/cd/server/tools/rz-Eunzipsersync_installdir_64bit.zipmkdir-p/application/mv/server/tools/sersync_installdir_64bit/sersync//application/tree/applica
- Hadoop运行环境搭建
nucty
大数据hadoop大数据
模板虚拟机环境准备1)准备一台模板虚拟机hadoop100,虚拟机配置要求如下:模板虚拟机:内存4G,硬盘50G,安装必要环境,为安装hadoop做准备[root@hadoop100~]#yuminstall-yepel-release[root@hadoop100~]#yuminstall-ypsmiscncnet-toolsrsyncvimlrzszntplibzstdopenssl-stat
- Ansible copy模块 复制文件使用 主服务器 给副服务器 复制文件使用 指定文件权限 覆盖备份等
白嫖一茶
运维服务ansible网络服务器
目录参数复制文件然后进行同时复制操作给定内容生成文件,并制定权限验证关于覆盖先查看当前内容覆盖并备份查看文件权限还有有没有备份查看文件内容参数这个模块用于将文件复制到远程主机,同时支持给定内容生成文件和修改权限等。其相关选项如下:src#被复制到远程主机的本地文件。可以是绝对路径,也可以是相对路径。如果路径是一个目录,则会递归复制,用法类似于"rsync"content#用于替换"src",可以直
- rsync安装及使用详细步骤
喜欢慢生活
服务器linux运维
目录1·介绍rsync2·rsync的安装以及操作方法3·启动rsync4·文件传输5·效验6·总结rsync是一个开源的命令行工具,用于在不同的主机之间同步文件和目录。它可以通过远程shell或rsync协议(默认使用SSH)来传输数据,支持增量传输,可以快速而有效地同步大量数据。rsync可以工作在Linux、Unix、macOS等操作系统上,并且是一个非常流行的备份和同步工具。rsync的主
- rsync服务搭建记录
Bear.Huang
服务器运维
官网可见:https://rsync.samba.org/安装文档可见:https://download.samba.org/pub/rsync/INSTALL#The_basic_setup依赖包获取执行:sudoyum-yinstallepel-releasesudoyum-yinstallgccg++gawkautoconfautomakepython3-pipsudoyum-yinstal
- rsync 安装步骤、服务端、客户端、同步文件
愤怒的阿昆达
需求:需要定时把客户机上的文件增量同步到服务器上,达到备份效果。环境:服务器:linux系统客户机:windows系统思路:1.linux上安装rsync服务端;2.windows上安装rsync客户端;3.客户端上每5分钟触发一次同步。一、在linux上,安装rsync服务端:手动安装rsync:1.rsync下载https://download.samba.org/pub/rsync/src/
- ansible
mrwangjian
老男孩教育61期--week12--系统批量管理服务(ansible)01.课程介绍部分:1)ansible软件作用概述2)ansible软件功能组成3)ansible软件安装配置(hosts配置主机清单信息)4)ansible软件应用方法(模块剧本)5)ansible自动部署服务(rsyncnfssersync)6)ansible扩展配置说明7)ansible剧本角色配置02.知识重点回顾:1)
- jquery开发 css 自动刷新预览 stylus编译
Taoquns
工具:browsersyncstylus安装browsersync安装npminstall-gbrowser-sync监听文件browser-syncstart--server--files"css/*.css"browser-syncstart--server--files"**/*.css,**/*.html"browser-syncstart--server--files"css/*.css
- day 36
斗魂_2e5d
1.实现实时传输数据的过程:软件sersync实现实时传输数据的概念1rz-y2unzip3mv4编辑软件配置文件5sersync-droocal/sersync/conf/confxml.xml如何编写sersync启动脚本sersyncdstop/start/restart编写脚本思路:第一步:如何关闭和启动服务启动sersync-dro/usr/local/sersync/conf/conf
- Ubuntu上开启SFTP服务教程
卷福同学
网络安全ubuntulinux运维
我是卷福同学,目前开始从事安全方面工作,努力学习网络安全基础知识,了解FTP、SFTP、RSYNC服务在Ubuntu服务器上安全地传输文件,SFTP(SSH文件传输协议)是一个理想的选择。相比于传统的FTP,SFTP通过SSH连接进行加密传输,提供了更高的安全性。在本文中,我将向你展示如何在Ubuntu上启用SFTP服务。步骤一:安装OpenSSH服务器首先,确保你的Ubuntu服务器上安装了Op
- Hadoop | 集群配置(一)使用Shell脚本解决完全分布式集群节点之间的文件传输问题 | scp命令 | rsync命令
「已注销」
#大数据原理与应用hadoop分布式linux
文章目录参考资料一、前言二、rsync远程同步工具三、使用shell编写分发脚本四、总结参考资料视频链接Linuxscp命令一、前言在Hadoop完全分布式集群环境下,里面的各个节点都是通过SSH免密登陆连接的,比如现有三台集群节点,分别是hadoop101、hadoop102、hadoo103。hadoop101节点可以通过ssh命令连接到hadoop102,即:sshhadoop102那么,除
- 集群分发脚本xsync
在下区区俗物
Hadoop集群安装部署服务器linux网络
rsync简介rsync是"remotesynchronization"的简写,这个工具主要用于远程和本地系统之间同步文件和目录,优化了数据传输过程,只传输变化的部分。它被广泛应用于备份操作、镜像制作以及其他需要文件或目录同步的场景。rsync在功能丰富且高效的同时,也保证了传输安全性。rsync创建与使用脚本创建前提,三台机器已经配置好免密登录,具体参照:https://mp.csdn.net/
- Rsync教程--linux服务器文件实时同步
皮猴的路数
安装教程以及Bug解决Linux运维linux服务器运维
目录一、什么是rync?二、准备工作(linux-linux文件实时同步)三、安装配置Rsync服务端(linux)四、安装Rsync客户端五、客户端测试-使用Rsync服务将远端的backup目录拉取到当前目录六、Rsync配置文件详解七、Rsync常用命令版权声明一、什么是rync?rsync——remotesynchronize,是一款实现远程同步功能的软件;rsync使用“Rsync算法”
- ReentrantLock源码分析、LockSuppor、ReentrantReadWriteLock、锁优化的方法
_蓝天IT_
并发编程专题数据库
ReentrantLock类图我们看一下重入锁ReentrantLock类关系图,它是实现了Lock接口的类。NonfairSync和FairSync都继承自抽象类Sync,在ReentrantLock中有非公平锁NonfairSync和公平锁FairSync的实现。在重入锁ReentrantLock类关系图中,我们可以看到NonfairSync和FairSync都继承自抽象类Sync,而Sync
- 开源大数据集群部署(十)Ranger usersync部署
云掣YUNCHE
开源大数据集群部署大数据
- linux k8s 源码编译及单集群测试
流月up
k8slinuxkubernetesk8s源码编译单集群测试
目录概述实践安装插件docker在线安装containerd安装二进制安装yum安装修改containder配置文件cnietcdrsyncgo设置golang代理安装CFSSL下载kubernetes代码编译启动本地单节点集群问题k8s没有被正常启动该如何k8s正常启动日志测试结束概述此文详细说明在centos7上编译k8s源码,并运行单个集群,测试用例nginx#找不到vim等这种源找不到,挂
- 算法 单链的创建与删除
换个号韩国红果果
c算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
- 《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
- zeus持久层spring事务单元测试
deng520159
javaDAOspringjdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
- Rss 订阅 开发
周凡杨
htmlxml订阅rss规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
- 分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
- spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
- highCharts柱状图
布衣凌宇
hightCharts柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
springmvcSpring 教程spring3 教程Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- TLS java简单实现
antlove
javasslkeystoretlssecure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
- Zip解压压缩文件
百合不是茶
Zip格式解压Zip流的使用文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
- underscore.js 学习(一)
bijian1013
JavaScriptunderscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
- java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
javajvmjstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
- 【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
- 我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
- nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
- java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
- 正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
- [JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
- 自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
- Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
- 如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
- 单一功能原则
dcj3sjt126com
面向对象的程序设计软件设计编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
- POJO、VO和JavaBean区别和联系
fanmingxing
VOPOJOjavabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
- SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
- mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
- 设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
- 评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
- scala如何读取和写入文件内容?
qindongliang1922
javajvmscala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
- C语言算法之百元买百鸡
qiufeihu
c算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
- Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,