HDFS文件系统中,Fsimage和Edits 当客户端对HDFS中的文件进行新增或者修改操作,操作记录首先被记入Edits日志文件中,当客户端操作成功后,相应的元数据会更新到内存数据中。文件块位置信息只存储在内存中,是在DataNode加入集群的时候,NameNode询问DataNode得到的,并且间断的更新。Fsimage和Edits文件都是经过序列化的,在NameNode启动时,它会将Fsimage文件中的内容加载到内存中,之后再执行Edits文件中的各项操作,使得内存中的元数据和实际的同步,存在内存中的元数据支持客户端读操作,也是完整的元数据。
HDFS的文件块大小(重点) 对于一般硬盘来说,传输速率为100M/s,一般设置块的大小128M,因为128是2的7次方,最接近于100M。比如,块的大小是1TB,传输这个1TB的数据会非常慢,并且程序处理这个1TB的数据时,也非常的慢。不是的,它只占用文件本身大小的空间,其它空间别的文件也可以用,所以这128M的含义是HDFS数据块的大小,和每个文件的大小没有关系。HDFS的块设置太小,会增加寻址时间。例如,块的大小是1KB,文件大小是100KB,这时候要分100个块来存储文件,读取文件时要找到100个块的地址,会大大增加寻址时间。
springboot基于quartz实现自定义时间的定时调度 Quartz是一套轻量级的任务调度框架,只需要定义了 Job(任务),Trigger(触发器)和 Scheduler(调度器),即可实现一个定时调度能力。
flink根据checkpoints状态恢复数据 说明flink消费kafak数据至ES在程序中已经启用了checkpoints1、启动flink程序[bigdata@cdh03 /bigdata/flink-1.7.2-client/sh]$cat submit-flink-yarn-merge.sh#!/bin/bash#-m 运行模式,这里使用yarn-cluster,即yarn集群模式。#-ys slot个数。#-ynm Yarn application的名字。#-yn task manager 数量。-yn
Elasticsearch更新mapping 概述Elasticsearch 的 mapping 在创建 indices 时即已确定,无法更改。那么,当我们需要更新 mapping 时,该如何是好呢?基本思路当我们在创建一条索引时,添加好 mapping 后,可设置一个 alias 指向该索引,然后生产环境采用该 alias 来索引数据。当然,如果没有这样做的话,建议趁早备份,修改 API 。既然已创建的 indices 无法修改,我们可以重新创建一个新的 indices, 然后将原 indices 上的数据复制到新的 indices 上
springboot2.x集成elasticsearch6.x 概述本博客基于SpringBoot-2.1.6.RELEASE、elasticsearch-6.5.4版本整理。1、maven依赖 <!-- elasticsearch启动器 (必须) 不能使用自带的es-start--> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch
linux安装Oracle11G linux安装Oracle11G0、下载Orcle11Goracle10G/11G官方下载地址合集(直接迅雷下载)说明一下:[root@myYUn install]#中的myYUn等价于[root@iz2f570bi1k56uz install]#中的iz2f570bi1k56uz;这是为了界面效果调整的,但是有些没调整到,理解一哈。1、上传文件到服务器...
Elasticsearch 基于原有动态模板新增字段 概述记录一次自己在操作Elasticsearch数据库新增一个字段出现的问题,由于业务需求,我们需要往ES中新增了一个字段,该字段不能使用keyword类型,因为查询的时候需要对该字段进行模糊查询,这就要求我们在ES原来的模板中新增一个字段设置分词。1、设置分词ES自带了一些分词器,即在默认情况下,如果不对自己创建的索引做任何的设置和修改,ES会按照standard进行分词我业务中...
Elasticsearch6.5.4破解x-pack 概要我们常常用kibana界面化操作ES数据库,这样就使得任何人只要知道我们ES数据库的地址和端口就可以任意操作我们的数据库,这样非常不安全,由此一个基于用户认证是否有权限访问和操作我们的数据库的的需求就诞生了,然后我们找到了这个X-pack插件,它能做什么呢?X-Pack 提供以下几个级别保护elastic集群1)用户验证2)授权和基于角色的访问控制3)节点/客户端认证和信道加密...
Elasticsearch cardinality存在误差 概述cardinality 度量是一个近似算法。 它是基于 HyperLogLog++ (HLL)算法的。 HLL 会先对我们的输入作哈希运算,然后根据哈希运算的结果中的 bits 做概率估算从而得到基数。优点:性能快,亿级别的记录在1秒内完成 缺点:存在只能保证最大40000条记录内的精确,超过的存在5%的误差,不适合需要精确去重场景1、示例:GET ...
Elasticsearch settings管理 概述在工作中,我们常常需要对setting做一些微调,这个时候我们应该如何处理?settings是针对索引库而言修改分片和副本数的。一个索引库的setting如下{ "poc2" : { "settings" : { "index" : { "refresh_interval" : "10s", "number_of_sha...
Elasticsearch 别名管理 概述记录自己在工作中将ES数据库从5.2.0升级到6.X版本,ES的索引库type发生变化,由于ES6.x版本只有一种type(tyep为doc),造成数据存在两个不同的type中,我们把ES6.x中的数据存在其他索引表中,通过建立索引名称关联5.x和6.x的数据。1、添加别名#添加别名 index :poc2 添加别名为:pocPOST /_aliases?pretty{ ...
Elasticsearch 索引模板 概述记录自己在工作中将生产的数据按月保存在ES中(通过logstash采集kafka数据到ES),由于生产环境数据量比较庞大(一天的日志量大概在2500万条左右),为了后期减轻服务器压力,方便我们维护,所以需要对我们的日志进行处理,按月建立不同的ES索引库,能够查询最近6个月的日志,关闭前6个月不用的日志。创建模板如果用户每次新建一个索引的时候都需要手动创建mapping非常麻烦,es...
shell脚本一键安装kafka集群 shell脚本一键安装kafka集群#!/bin/bash#在脚本的位置存放安装包kafka_2.11-0.10.2.1.tgzcurrentTime=$(date '+%Y-%m-%d %H:%M:%S')echo -e "请输入kafka的安装目录,不存在脚本自动创建,最后一个/不要写 /bigdata/install"read kafkainstallpath#创建KAFKA安...