Hadoop--HDFS-HA高可用
high avilability HA****概述1)所谓HA(High Availablity),即高可用(7*24小时不中断服务)。 2)实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。 3)Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。 4)NameNode主要在以下两个方面影响HDFS集群 NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启 NameNode机器需要升级,包括软件、硬件升级,此时集群也将无法使用 HDFS HA功能通过配置Active/Standby两个NameNodes实现在集群中对NameNode的热备来解决上述问题。如果出现故障,如机器崩溃或机器需要升级维护,这时可通过此种方式将NameNode很快的切换到另外一台机器。 HDFS-HA****工作机制通过双NameNode消除单点故障 *HDFS-HA工作要点* 元数据管理方式需要改变 内存中各自保存一份元数据; Edits日志只有Active状态的NameNode节点...
IDE热加载与热部署
热加载则是在运行时通过重新加载class改变类信息,直接改变程序行为。 **主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳变掉了,则将类重新载入。**对比反射机制,反射是在运行时获取类信息,通过动态的调用来改变程序行为; 热部署就是在服务器运行时重新部署项目, 直接重新加载整个应用,这种方式会释放内存,比热加载更加干净彻底,但同时也更费时间。 JRebel 加载的速度优于 devtools JRebel 不仅仅局限于 Spring Boot 项目,可以用在任何的 Java 项目中。 devtools 方式的热部署在功能上有限制,方法内的修改可以实现热部署,但新增的方法或者修改方法参数之后热部署是不生效的。 JRebelJRebel 可实现热加载,节省了大量重启时间,提高了个人开发效率。 虚拟机插件,即时分别看到类和资源的变化,直接反应在部署好的应用程序上,从而跳过了构建和部署的过程 激活安装之后会提示输入license激活。使用下面的网址生成服务器地址GUID https://www...
ElasticSearch
ElasticSearch的应用场景说明全文检索能力 日志存储分析能力 数据存储(用的比较少) 全文检索什么是全文检索 存在索引关键字,就是命中文档 使用关键字就可以搜索对应的文档数据 检索算法 倒排索引先将非结构化数据转换为结构化数据,之后使用关键字建立索引 全文检索的结构 索引库结构 检索流程 ElasticSearch 实践与集群架构ES 集群架构 ES是如何进行分片存储的? 主分片和副本分片的关系: 数据在主分片上做写入,主从节点都可以进行数据写入和数据的读取。 主分片是读写,从分片只可以读不可以写。 分片和节点是不一样的。 节点类型 ES集群故障转移 ES横向扩容能力 ES 集群脑裂 文档读写路由
Hadoop--HDFS
注意机器启动过之后,同步的时候不要同步data文件夹 一次写入,多次读出,不支持文件修改。适合数据分析,不适合网盘应用 分布式存储,文件系统。 优点: 高容错性。多复制,丢失自动恢复 适合大数据,数据以及文件规模 可以在廉价机器上,多副本来实现高可靠 缺点: 不适合低延时数据访问 无法对小文件高效存储 不支持并发多线程同时写入、文件随机修改,只支持append 组成nn:master, 管理HDFS命名空间; 配置副本策略(放在那个nn节点); 管理数据块Block(DN里面存放的是一个个数据块,不是简单的文件)的映射信息; 处理客户端读写请求 dn:slave,nn下达指令,DN执行操作。 存储实际的数据块,数据块的形式存在 执行读写操作。 client: 文件切块,block大小由此处决定,平衡数据存储 与NN交互,获取文件位置信息 DN交互,获取文件信息 访问和管理HDFS 2NN: NN助手 HDFS文件块: 物理上是分块存储的,大小可以通过配置参数来决定,默认是128M web页面无法新建文件夹权限问题http://hadoop101:98...
Hadoop概念以及安装
Hadoop概论 Hadoop是一个由 Apache基金会所开发的分布式系统基础架构。 主要解决,海量数据的存储和海量数据的分析计算问题。 广义上来说, Hadoop通常是指一个更广泛的概念 Hadoop生态圈。 Hadoop三大发行版本:Apache、Cloudera、Hortonworks。 Apache版本最原始(最基础)的版本,对于入门学习最好。 Cloudera内部集成了很多大数据框架。对应产品CDH。用的最多,方便 Hortonworks文档较好。对应产品HDP。 高可靠性: Hadoop底层维护多个数据副本,所以即使 Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。 2)高扩展性:在集群间分配任务数据,可便的扩展数以千计的节点。 3)高效性:在 MapReduce的思想下, Hadoop是并行工作的,以加快任务处理速度。 4)高容错性:能够自动将失败的任务重新分配 Hadoop组成计算+资源调度+存储 1.x中MapReduce负责计算和资源调度 2.x中MapReduce负责计算,Yarn负责资源调度,解耦 HDFS存储 Hadoop ...
HEAD以及分离头指针
HEAD 是一个对当前检出记录的**符号引用** —— 也就是**指向你正在其基础上进行工作的提交记录**。HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。 HEAD 通常情况下是指向分支名的(如 bugFix)。在你提交时,改变了 bugFix 的状态,这一变化通过 HEAD 变得可见。 1234git checkout c1git checkout master git commit -m "c2"git checkout c2 如果想看 HEAD 指向,可以通过 cat .git/HEAD 查看 分离的 HEAD**分离的 HEAD 就是让其指向了某个具体的提交记录而不是分支名。**在命令执行之前的状态如下所示: HEAD -> master -> C1 HEAD 指向 master, master 指向 C1 1git checkout c1 现在变成了 HEAD -> C1
IO体系
节点流:直接和设别,特定地方读写 过滤流:(装饰器模式)节点流作为输入或者输出,使用一个存在的输入或者输出流来创建(作为参数传递进去) IO流的链:数据–》缓冲输出流–》文件输出流–》文件。装饰器模式的作用,获取一个 装饰器模式NIO–面向块或者缓冲区编程1.4出来的 NIO组件回顾 Java NIO,它不仅仅可以用在网络编程中,还能用在文件读写等其它场景 Channel–桥梁 java.nio.channels.Channel 实体之间的桥梁,实体可以是硬件设备,文件,网络套接字或者可执行IO操作的程序(Linux中一切皆文件) 不同实体(文件)类型对应不同的类型的Channel: FileChannel : 操作普通文件 DatagramChannel:UDP协议 SocketChannel:TCP协议,客户端和服务端之间的Channel ServerSocketChannel:TCP协议,用于服务端的Channel Buffer–数据容器线性有序序列(数组),存储特定的基本类型。Buffer的类型有CharBuffer,ByteBuffer, ShortBuf...
Hadoop-yarn
Yarn资源调度器Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。 Y****arn基本架构YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成。 Y****arn工作机制 (1)MR程序提交到客户端所在的节点。 (2)YarnRunner向ResourceManager申请一个Application。 (3)RM将该应用程序的资源路径返回给YarnRunner。 (4)该程序将运行所需资源提交到HDFS上。 (5)程序资源提交完毕后,申请运行mrAppMaster。 (6)RM将用户的请求初始化成一个Task。 (7)其中一个NodeManager领取到Task任务。 (8)该NodeManager创建容器Container,并产生MRAppmaster。 (9)Container从HDFS上拷贝资源到本地。 (10)MRAppmaster向RM 申请运行MapT...
Istio部署监控
apiVersion: apps/v1kind: Deploymentmetadata: name: productpage-v1 labels: app: productpage version: v1spec: replicas: 1 selector: matchLabels: app: productpage version: v1 template: metadata: labels: app: productpage version: v1 annotations: datakit/prom.instances: | [[inputs.prom]] url = “http://$IP:15020/stats/prometheus” source = “ack-istio-product” me...
JSON字符串转换为Map
利用阿里巴巴封装的FastJSON来转换json字符串 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263package com.zkn.newlearn.json; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import java.util.Map; public class JsonToMapTest01 { public static void main(String[] args){ String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wan...
