- MySQL-练习-数据汇总-CASE WHEN
赛丽曼
MySQLmysql数据库
文章目录一.数据介绍二.数据汇总三.使用CASEWHEN和GROUPBY将数据分组1.使用CASEWHEN自定义分组练习15练习162.CASEWHEN中ELSE的使用练习17练习18练习193.在GROUPBY中使用CASEWHEN练习20练习214.CASEWHEN和COUNT练习22练习235.GROUPBY和CASEWHEN组合使用练习246.SUM中使用CASEWHEN练习257.SUM
- prometheus监控k8s的metric详解-01(apiserver部分)
玄德公笔记
#常用服务-Prometheus监控prometheuskubernetesmetrick8s监控apiserver容器
文章目录1.apiserveradmission(准入)和audit(审计)1.1准入控制器调用次数1.1.1`apiserver_admission_controller_admission_duration_seconds_count`1.1.2`apiserver_admission_controller_admission_duration_seconds_bucket`1.1.3`api
- 利用Python的jieba和wordcloud第三方库制作精美词云
博客冲浪
Pythonpython
一:《红楼梦》高频中文词语统计importjiebaf=open('红楼梦.txt','r')txt=f.read()f.close()words=jieba.icut(txt)counts={}forwordinwords:iflen(word)==1:continueelse:counts[word]=counts.get(word,0)+1items=list(counts.items())
- 判断列表中是否存在一个元素
baner4853
python
name=['alex','java',3,65,3,2,6,8,2,4,7,xiao,mike]判断列表中是否存在一个元素:if3inname:print("3inname")统计元素个数:name.count(3)#判断列表中元素3的个数全部替换:#将3替换成33333333foriinrange(name.count(3)):#统计元素3的个数并做为循环次数ele_of_name=name.
- Python中判断列表是否包含某个元素的方法
五月天的尾巴
python判断列表是否包含元素
文章目录1、成员运算符in和notin2、使用count()方法3、使用any()函数4、使用set转换5、使用numpy库6、使用any()和生成器表达式7、使用index()方法8、使用itertools.chain()函数9、使用collections.Counter类10、使用pandas库以下整理几种判断列表中是否包含某个元素的方法。以下代码基于python2.7执行。1、成员运算符in
- python enumerate函数
进击的铁甲小宝
pythonpython开发语言
pythonenumerate函数枚举(enumerate)是Python内置函数。1.允许我们遍历数据并自动计数。2.创建包含索引的元组列表。1.遍历数据代码1:#enumerate简单例程my_list=['apple','banana','grapes','pear']forcounter,valueinenumerate(my_list):print(counter,value)输出1(0
- python cursor游标重置位置scroll_Python中使用MySQLdb连接MySQL ...
贺开
python
‘’‘#选择数据库conn.select_db('python');提交操作:conn.commit()回滚操作:conn.rollback()获取最近查询表的字段个数:conn.field_count上次查询或更新所发生行数:cursor.rowcountexcute(sql,单挑数据元组)、executemany(sql,序列)插入一条记录:executevalue=[1,"inserted?
- SQLmap 自动注入 -02
shenghuiping2001
网络安全sqlmapsql注入webmysql
1:如果想获得SQL数据库的信息,可以加入参数:-dbssqlmap-u"http://192.168.56.133/mutillidae/index.php?page=user-info.php&username=xiaosheng&password=abc&user-info-php-submit-button=View+Account+Details"--batch-pusername-db
- RabbitMQ精讲5:深入RabbitMQ高级特性-限流、ACK、TTL和死信队列
琦彦
RabbitMQ:可靠安全性能高rabbitmq限流ACKTTL死信队列
目录前言1.自定义消费者1.1消费端自定义监听1.2代码演示1.2.1生产者1.2.2消费者1.2.3自定义类:MyConsumer2.消费端限流2.1什么是消费端的限流?为什么不在生产端进行限流呢?BasicQos(uintprfetchSize,ushortprefetchCount,boolglobal);2.2代码演示2.2.1生产者2.2.2消费者2.2.3自定义类:MyConsumer
- 1052. 爱生气的书店老板
xiaolin0333
#滑动窗口算法滑动窗口
【题目】:1052.爱生气的书店老板classSolution{public:intmaxSatisfied(vector&customers,vector&grumpy,intminutes){intmaxAddCount=0;//在minutes长度内,还能增加的最大顾客满意人数intcurAddCount=0;//当前窗口内还能增加的顾客满意数intcurCount=0;//原本有的顾客满意
- 用Python实现概率语言模型(2-元语法模型)
peanutwang
python语言模型
首先构造一个语料库,由6句话组成,每句话3个字。corpus='她很香她很菜她很好他很菜他很好菜很好'.split()构造一个字典,存储一元的字数Count1={}遍历语料库,把每个字出现的次数存储在字典中。forsentenceincorpus:forwordinsentence:ifwordinCount1:Count1[word]+=1#如果word在字典中存在else:Count1[wor
- Psutil模块
-MaoKe-
Python模块python
文章目录Psutil模块一、模块介绍二、模块下载三、模块导入四、模块函数1.psutil.cpu_percent()2.psutil.cpu_count()3.psutil.cpu_times()4.psutil.swap_memory()5.psutil.virtual_memory()6.psutil.disk_usage()7.psutil.disk_partitions()8.psutil
- 已完结:C语言经典100题目(满足所有C程序基础)
ChillCoding
c语言开发语言
C练习实例1-组无重复数字的数题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4,组成所有的排列后再去掉不满足条件的排列。#include#defineMAX5intmain(){inti,j,k;intcount=0;for(inti=1;i#defineLAC100000//将10w定义为一个常用数int
- python元组+字典
学IT的那些年
python
#案例#访问元组#aTuple=(23,35,56,34,11,21)#下标为2#print(aTuple[2])#索引值不存在#print(aTuple[20])#查询个数#aTuple=('b','c','d','e','f','g')#print(aTuple.count('d'))#查询索引#print(aTuple.index('d',0,4))#无对应元素#print(aTuple.i
- Python的元组和字典
汤姆666
测试工具测试软件测试python
1.元组Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。格式:变量名=(,,,,)案例aTuple=(23,35,56,34,11,21)1.1访问元组通过索引取数据索引值存在aTuple=(23,35,56,34,11,21)print(aTuple[2])结果561.2查询个数count查询出现的个数aTuple=('b','c','d','e',
- Prometheus监控数据类型
xianyuLuo.
kubernetesprometheus
Prometheus监控数据类型类型特点常用命名常用函数Counter计数器,只增不减*_total*_sum*_countrate:求增长率topk:Top前N的信息Gauge反映当前状态,可增可减一般不带后缀直接使用指标,表示当前状态delta:可以获取样本在一段时间返回内的变化情况predict_linear:数据的变化趋势进行预测Histogram/Summary数据分区间计算带指标的总和
- 数据库的DQL(3)
比特知识工坊
MySQL专栏数据库
数据库的DQL(3)分组查询在MySQL中,groupby关键字可以根据一个或多个字段对查询结果进行分组groupby字段名1.分组函数有时也叫聚合函数count():查询表中的记录数量avg():求平均值sum():求和max():求最大值min():求最小值案例1:mysql>selectcount(empno),sum(sal),avg(sal)fromemp;+--------------
- 【DAY.2】PHP数据结构与算法_排序_冒泡排序
我是妖怪_
天天学习冒泡排序算法php
思路分析:循环逐个对比,从第一个开始,与下一个数字进行对比,若大于则交换位置,每循环一遍将最大的一个排到最后。(依次比较相邻的元素,两两比较,就可以最终将最大(小)的元素调整到最顶端、次顶端、、、)$arr=array(3,2,5,6,1,8,4,9);functionbubble_sort($arr){$len=count($arr);//判断数组是否为空if($len$arr[$i+1]){$
- aws s3仅允许cloudfront访问_配置跨账户S3存储桶的访问
weixin_39839478
awsawss3查看accesskeysecretkey我们无法刷新此账户的凭据
【Domain1的组织复杂性设计(DesignforOrganizationalComplexity)】——-配置跨账户S3存储桶的访问(CrossAccountS3BucketConfiguration)Hello大家好,欢迎回来,我们今天的课程内容是跨账户S3存储桶的访问。当前,在很多组织中,应用跨账户S3存储桶访问的架构组成是非常普遍的,同样,对于AWSSAP认证考试,掌握跨账户存储桶的访问
- STLG_02_32_SQL Server常用函数
魔都天健
数据库mssql
SQLServer提供了丰富的内置函数,用于处理数据、执行计算、格式化输出、日期操作等。以下是一些常用的SQLServer函数,按类别进行分类:1.聚合函数这些函数用于对一组值进行计算并返回单个值。COUNT():计算行数。SELECTCOUNT(*)FROMEmployees;SUM():计算数值列的总和。SELECTSUM(Quantity)FROMOrders;AVG():计算数值列的平均值
- python期末题库和答案,python 期末卷及答案
www55597
人工智能
大家好,给大家分享一下python期末题库和答案,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!6.foriinrange(2,n):ifn%i==0:breakifi==n-1:print('是素数')else:print('不是素数')7.'abcabcabc'.count('abc')的值为__3__。8.对于有else子句的for循环和while循环,但循环因循环条件不成立而自
- 旋转编码器驱动-标准库和HAL库
末时清
单片机stm32嵌入式硬件
一、标准库Encoder.c-标准库#include"stm32f10x.h"//Deviceheader#include"Delay.h"int8_tEncoder_Count;/***函数:旋转编码器初始化*参数:无*返回值:无*/voidEncoder_Init(void){/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE)
- Windows 窗口置顶工具推荐 如何始终置顶窗口 窗口前置 窗口固定 窗口钉在桌面 始终保持在其他窗口前端 在其他窗口之上 PowerToys MouseInc
七星关雎
Windows疑难杂症Windowswindows开源软件
工具一:微软PowerToysReleases·microsoft/PowerToys·GitHubWindowssystemutilitiestomaximizeproductivity.Contributetomicrosoft/PowerToysdevelopmentbycreatinganaccountonGitHub.https://github.com/microsoft/PowerT
- 国产编辑器EverEdit - 合并行
彩虹小黑馬
妙用编辑器编辑器EverEditEmEditornotepad++
1合并行1.1应用场景 在编写代码或其他场景下,有时需要把多行的内容缩减成一行,或者纯粹减少行数进行合并,比如:下面的字典的定义,每个元素占了一行,有点浪费,现在需要把它们缩减行数。typeDict={"姓名":"name","出生日期":"passport_dob","职位":"job","手机号":"phone_number","身份证":"ssn","国家":"country","地址":
- HTML<blockquote>标签
新生派
html前端
例子引用自其他来源的部分:For50years,WWFhasbeenprotectingthefutureofnature.Theworld'sleadingconservationorganization,WWFworksin100countriesandissupportedby1.2millionmembersintheUnitedStatesandcloseto5millionglobal
- 在Linux中修改vm.max_map_count参数的步骤
行路见知
linux运维
使用docker安装es时报错,Elasticsearch需要更多的虚拟内存区域ERROR:[1]bootstrapchecksfailed.Youmustaddressthepointsdescribedinthefollowing[1]linesbeforestartingElasticsearch.bootstrapcheckfailure[1]of[1]:maxvirtualmemorya
- 存储过程报错ORA-01031 权限不足 ORA-00942 解决办法
学无止境的小一
oracledba数据库
昨天有客户在执行存储过程的时候出现了报错,具体报错信息如下存储过程中的内容很简单,就是普通的select,update语句。但是操作的表是在另一个用户下。并且用户表示在外部单独执行这条语句是可以执行的。这是oracle的一个经典案例。下面在测试环境来模拟一下此问题。测试环境创建用户并赋予dba权限SYS@orcl>createuserpro_testidentifiedbytestaccountu
- Go 语言 map源码分析及图解(一)(查找、写入、删除K/V值)
Mr.禾
Gogolang数据结构源码分析图解
文章目录map基本结构hash值定位K/V值map创建计算桶的数量申请buckets内存空间tophash标记位介绍查找K/V值(mapaccess1)写入K/V值(mapassign)删除K/V值(mapdelete)map扩容的源码分析见下一节map基本结构hmap是map的核心数据结构:typehmapstruct{countint//当前的元素个数flagsuint8Buint8//桶的数
- leetcode 6058. 统计打字方案数java
奔跑的废柴
LeetCodeleetcodejava动态规划
https://leetcode-cn.com/problems/count-number-of-texts/classSolution{//int[]buttons={0,0,3,3,3,3,3,4,3,4};longres=1;intmod=1000000007;long[][]dp;//dp[0]是3字符可能性的,dp[1]是4字符可能性的。dp[][i]表面长度为i的重复字符串的信息种类数
- 创建您的第一个Angular应用:实现路由
cunjie3951
pythonjavavuehtmllinuxViewUI
在继续本教程之前,最好总结一下到目前为止已经完成的所有工作,以免造成任何混乱和错误。如果您错过了前三篇教程中的任何步骤,则最好返回并进行必要的更改。在第二个教程中,我们创建了三个不同的文件,分别名为country.ts,country-data.ts和country.service.ts。country.ts文件用于存储Country类定义,因此我们可以将其导入到其他文件中。country-dat
- 算法 单链的创建与删除
换个号韩国红果果
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较早的版本都自带,