ZooKeeper

kafka server/broker 服务端的参数配置说明

白昼怎懂夜的黑 提交于 2020-10-03 01:54:25
一、Kafka概述 关于Kafka,我们在之前的文章里也介绍,简而言之Kafka是一个分布式消息引擎与流处理平台,经常用做企业的消息总线、实时数据管道,有时还可以当做存储系统来用。Kafka的设计遵循生产者消费者模式,其中生产者和消费者都属于客户端,服务端则是由多个broker实例组成,broker主要负责接收和处理来自客户端的请求,以及对消息进行持久化。基本架构如下: 二、broker端核心参数 1. broker.id 参数说明:broker的唯一标识id,默认值为-1,如果不指定Kafka会自动生成一个id。生产环境推荐设置从0开始,按1递增的数字,比如0,1,2,3...等。 2. log.dirs 参数说明:设置Kafka持久化消息的数据目录,如果不设置Kafka会将消息持久化到/tmp/kafka-logs,通常都需要我们手动设置。多个目录逗号分隔,也就是一个csv列表。 调优建议:这是必须要上线前规划好的,建议设置成挂载不同磁盘的多个数据目录。创建topic时分区会自动均匀的分布到不同目录里,磁盘的io请求与空间占用也会负载均衡。 3. zookeeper.connect 参数说明:指定Kafka依赖的ZK连接信息,这个参数同样是一个csv列表,比如:zk1:2181,zk2:2181,zk3:2181。因为Kafka依靠Zookeeper做分布式协调服务

hbase2.1.9 centos7 完全分布式 搭建随记

荒凉一梦 提交于 2020-10-02 21:55:45
hbase2.1.9 centos7 完全分布式 搭建随记 这里是当初在三个ECS节点上搭建hadoop+zookeeper+hbase+solr的主要步骤,文章内容未经过润色,请参考的同学搭配其他博客一同使用,并记得根据实际情况调整相关参数 1. 指定位置解压 2. vi /etc/profile export HBASE_HOME=/opt/hbase/hbase-2.1.9 export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH source /etc/profile 3. vi /.../hbase-2.1.9/conf/hbase-env.sh export JAVA_HOME=/opt/jdk/jdk1.8.0_191 export HADOOP_HOME=/opt/hadoop/hadoop-2.7.7 export HBASE_HOME=/opt/hbase/hbase-2.1.9 export HBASE_CLASSPATH=ls /opt/hadoop/hadoop-2.7.7/etc/hadoop/ export HBASE_PID_DIR=/opt/DonotDelete/hbasepid export HBASE_MANAGES_ZK=false ### export

超值干货 | 值得收藏:精选BATJ面试突击500题详解:JVM篇!

笑着哭i 提交于 2020-10-02 15:24:30
JVM Java内存区域 说一下 JVM 的主要组成部分及其作用? 说一下 JVM 运行时数据区 深拷贝和浅拷贝 说一下堆栈的区别? 队列和栈是什么?有什么区别? HotSpot虚拟机对象探秘 对象的创建 为对象分配内存 处理并发安全问题 对象的访问定位 句柄访问 直接指针 内存溢出异常 Java会存在内存泄漏吗?请简单描述 垃圾收集器 简述Java垃圾回收机制 GC是什么?为什么要GC 垃圾回收的优点和原理。并考虑2种回收机制 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? Java 中都有哪些引用类型? 怎么判断对象是否可以被回收? 在Java中,对象什么时候可以被垃圾回收 JVM中的永久代中会发生垃圾回收吗 说一下 JVM 有哪些垃圾回收算法? 标记-清除算法 复制算法 标记-整理算法 分代收集算法 说一下 JVM 有哪些垃圾回收器? 详细介绍一下 CMS 垃圾回收器? 新生代垃圾回收器和老年代垃圾回收器都有哪些?有什么区别? 简述分代垃圾回收器是怎么工作的? 内存分配策略 简述java内存分配与回收策率以及Minor GC和Major GC 对象优先在 Eden 区分配 大对象直接进入老年代 长期存活对象将进入老年代 虚拟机类加载机制 简述java类加载机制? 描述一下JVM加载Class文件的原理机制 什么是类加载器

我终于搞懂了微服务,太不容易了...

我是研究僧i 提交于 2020-10-02 13:43:28
微服务是什么?抛去教条性质的解释,从巨石应用到微服务应用,耦合度是其中最大的变化。 图片来自 Pexels 或是将多个模块中重复的部分进行拆分,或是纯粹为了拆分膨胀的单体应用,这些拆分出来的部分独立成一个服务单独部署与维护,便是微服务了。 拆分后自然而然会催生出一些必要的需求: 从本地方法调用的关系衍变成远程过程调用的关系,那么可靠的通信功能是首要的。 随着拆分工作的推进,资源调度关系会变得错综复杂,这时候需要完善的服务治理。 调用关系网的整体复杂化还会给我们带来更大的风险,即链式反应导致服务雪崩的可能性,所以如何保障服务稳定性也是微服务架构中需要考虑的。 这点就不是内需而算是自我演进了,服务化后,如果能结合容器化、Devops 技术实现服务运维一体化,将大大降低微服务维护的成本,不管是现在还是将来。 微服务是什么样的 从目前常见网站架构的宏观角度看,微服务处在中间的层次。红框圈出的部分都属于微服务的范畴。 包括最基础的 RPC 框架、注册中心、配置中心,以及更广义角度的监控追踪、治理中心、调度中心等。 从微服务自身角度来看,则大致会包含以下这些模块: 服务注册与发现 RPC 远程调用 路由与负载均衡 服务监控 服务治理 服务化的前提 是不是只要套上微服务框架就算是一个微服务了呢?虽然这样有了微服务的表,但却没有微服务的实质,即“微”。 微服务化的前提是服务拆分到足够”微“

Spark原理详解

£可爱£侵袭症+ 提交于 2020-10-02 07:24:03
Hadoop存在缺陷: 基于磁盘,无论是MapReduce还是YARN都是将数据从磁盘中加载出来,经过DAG,然后重新写回到磁盘中 计算过程的中间数据又需要写入到HDFS的临时文件 这些都使得Hadoop在大数据运算上表现太“慢”,Spark应运而生。 Spark的架构设计: ClusterManager负责分配资源,有点像YARN中ResourceManager那个角色,大管家握有所有的干活的资源,属于乙方的总包。 WorkerNode是可以干活的节点,听大管家ClusterManager差遣,是真正有资源干活的主。 Executor是在WorkerNode上起的一个进程,相当于一个包工头,负责准备Task环境和执行Task,负责内存和磁盘的使用。 Task是施工项目里的每一个具体的任务。 Driver是统管Task的产生与发送给Executor的,是甲方的司令员。 SparkContext是与ClusterManager打交道的,负责给钱申请资源的,是甲方的接口人。 整个互动流程是这样的: 1 甲方来了个项目,创建了SparkContext,SparkContext去找ClusterManager申请资源同时给出报价,需要多少CPU和内存等资源。ClusterManager去找WorkerNode并启动Excutor,并介绍Excutor给Driver认识。 2

Nacos Go微服务生态系列(一) | Dubbo-go 云原生核心引擎探索

梦想与她 提交于 2020-10-02 00:01:28
作者:李志鹏, Github账号:Lzp0412,开源社区爱好者,Nacos Committer,Nacos-SDK-go作者,现就职于阿里云云原生应用平台,主要参与服务发现、CoreDNS、ServiceMesh相关工作,负责推动Nacos Go微服务生态建设。 近几年,随着Go语言社区逐渐发展和壮大,越来越多的公司开始尝试采用Go搭建微服务体系,也涌现了一批Go的微服务框架,如go-micro、go-kit、Dubbo-go等,跟微服务治理相关的组件也逐渐开始在Go生态发力,如Sentinel、Hystrix等都推出了Go语言版本,而作为微服务框架的核心引擎--注册中心,也是必不可缺少的组件,市面已经有多款注册中心支持Go语言,应该如何选择呢?我们可以对目前主流的支持Go语言的注册中心做个对比。 根据上表的对比我们可以从以下几个维度得出结论: 生态: 各注册中心对Go语言都有支持,但是Nacos、 Consul、Etcd 社区活跃,zookeeper和Eureka社区活跃度较低; 易用性: Nacos、Eureka、Consul都有现成的管控平台,Etcd、zookeeper本身作为kv存储,没有相应的管控平台,Nacos支持中文界面,比较符合国人使用习惯; 场景支持: CP模型主要针对强一致场景,如金融类,AP模型适用于高可用场景,Nacos可以同时满足两种场景,Eureka

「网易官方」极客战记(codecombat)攻略-山峰-动物园管理员-zoo-keeper

梦想的初衷 提交于 2020-10-01 18:40:57
(点击图片进入关卡) 保护雪人的笼子免遭食人魔的蓄意破坏。 简介 不要让食人魔打开盒子! 默认代码 # 保护笼子。 # 放一个士兵在每一个 X 的位置 points = [] points[0] = {"x": 33, "y": 42} points[1] = {"x": 47, "y": 42} points[2] = {"x": 33, "y": 26} points[3] = {"x": 47, "y": 26} # 1.收集80金币。 # 2.建造4个士兵。 for i in range(4): hero.summon("soldier") # 3.派你的士兵到特定的位置上。 while True: friends = hero.findFriends() for j in range(len(friends)): point = points[j] friend = friends[j] enemy = friend.findNearestEnemy() if enemy and enemy.team == "ogres" and friend.distanceTo(enemy) < 5: # 命令友方攻击。 pass else: # 命令的朋友移动到特定点上。 pass 概览 这个关卡显示了如何在 for 循环中使用一系列数字来访问多个相关数组。

面试进阶必备:JVM+Redis+设计模式+SpringBoot.pdf文档资料

邮差的信 提交于 2020-10-01 14:28:56
今天给大家分享下我整理的Java架构面试专题及答案,其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过也希望能对即将找工作的朋友起到一些帮助! Java面试的重点: 数据结构与算法,JVM内存结构、垃圾回收器、回收算法、GC、并发编程相关(多线程、线程池等)、NIO/BIO、性能优化、设计模式、Spring框架:分布式相关:Redis缓存、一致Hash算法、分布式存储、负载均衡等,微服务以及Docker容器等。 在这由于文字很多,小编已将金九银十的面试高频考点都整理为了一份PDFJava面经文档,同时还会有对应的书籍pdf资料。 三连之后查看下图中免费获取 Java面经。pdf文档资料 部分面试常问的面试专题 一、JVM与性能优化 描述一下 JVM 加载 Class 文件的原理机制? 什么是类加载器? 类加载器有哪些? 什么是tomcat类加载机制? 类加载器双亲委派模型机制? Java 内存分配? Java 堆的结构是什么样子的? 简述各个版本内存区域的变化? 说说各个区域的作用? Java 中会存在内存泄漏吗,简述一下? Java 类加载过程?什么是GC? 为什么要有 GC? 简述一下Java 垃圾回收机制? 如何判断一个对象是否存活? 垃圾回收的优点和原理,并考虑 2 种回收机制? 基本原理是什么? 深拷贝和浅拷贝?

成功入职京东薪资30k:拿到京东offer经验分享「面试经历+面试真题」,我感觉你也行

与世无争的帅哥 提交于 2020-10-01 12:53:15
前言 正逢金三银四,很多大型互联网公司都采用线上面试的方法来挑选人才,也有很多幸运的小伙伴也是拿到大厂的offer,今天给大家分享的是我一位幸运拿到京东offer的朋友的面试经历,疫情刚有好转,相信还有很多朋友是在线上办公的,我也闲来无事,问到了我朋友京东面试的一些真题,以及我整理的一些真题分享给大家。 由于文章的篇幅有限,面试真题的答案和解析,我会整理在一起,大家有需要可以关注小编+转发文章关注文末公众号获取。附上java核心知识点 三面京东: 一面: 离职原因; Zookeeper在项目中的使用及原理; Springcloud的一些组件介绍; Redis实现方式: 为什么使用setnx,或者说set 和setNx有什么区别 系统在10:05 设置一个值,并给出5分钟的过期时间,系统刚刚set完之后redis集群崩溃,10:11分系统重启成功,那么redis中set的值是否还存在? 多线程的创建方式 服务器CPU数量及线程池数量的关系? 说说Mysql的sql优化 你认为自己的技术怎么样? 二面: Mysql是集群还是单节点;最大的表中数据量大约是多少?3000w-4000w; Mysql主从配置是DBA去做还是自己去做?mysql主从同步的机制的原理?mysql主从复制主要有几种模式? Redis持久化方式:rdb、aof;redis中哪个版本开始可以对分布式使用;

摊牌了!我要手写一个“Spring Boot”

人盡茶涼 提交于 2020-10-01 12:03:10
目前的话,已经把 Spring MVC 相关常用的注解比如 @GetMapping 、 @PostMapping 、 @PathVariable 写完了。我也已经将项目开源出来了,地址: https://github.com/Snailclimb/jsoncat 。 原创开源不易,觉得不错的话,欢迎给良心作者 1 个 star 鼓励一下! 今天是晴天,我像往常一样坐在窗台,看着电脑“发呆”。毕竟是周末,就不分享技术干货了。 简单和小伙伴们聊聊自己最近正在做,已经开始做的事情。 01 重构 JavaGuide 我们经常会对自己早期写的代码感觉恶心,这是导致很多项目烂尾、不好维护很重要的一个原因之一。 写作也是一样,我也经常觉得自己早期写的文章像一坨翔。造成这个现象的原因很简单!我觉得主要可能有两方面原因: 自己沉淀的知识更多,对于某个知识点的理解更加深刻。 不同于其他类型文章,技术类文章本身就需要不断完善,文章内容才会更好。 所以,最近几个月我一直抽空对 JavaGuide 上早期的一些文章进行大篇幅重构,比如 Java基础、Java集合框架、 Zookeeper 、Redis等等。 毕竟,时间有限,自己也还是把主要精力放在写代码上。所以,部分文章还没有开始重构,比如数据结构部分的内容。 就非常期待小伙伴们一起贡献出自己的力量啊!让 Guide哥 能多点时间写代码,嘿嘿! 02