自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

看了就会

走过路过不要错过

  • 博客(21)
  • 资源 (8)
  • 收藏
  • 关注

原创 Dropwizard-metric的使用

介绍dropwizard-metric的使用方式和一些自己的理解

2023-12-05 11:14:27 1102

原创 Ratis学习(五): StateMachine

StateMachine 负责执行分布式系统中的命令和操作,确保在不同节点上的数据状态保持一致。它通过在各个节点上应用相同的操作序列来达到这一目的。分布式系统中的节点可以接收来自客户端或其他节点的命令和操作请求。StateMachine 会根据这些命令执行相应的操作,然后将结果应用到本地状态中,从而确保系统在不同节点上的状态保持一致。在分布式系统中,节点可能会发生故障,因此需要能够进行故障检测和恢复。StateMachine 能够在节点故障后重新同步状态,确保数据的一致性和完整性。

2023-08-10 15:27:51 213

原创 Ratis学习(四):StateMachineUpdater

具体来说,StateMachineUpdater 在 Raft 中扮演以下角色:日志应用:Raft 算法通过日志的复制和应用来确保一致性。Leader 节点将客户端的请求转换为日志条目,并将这些日志条目复制到其他节点。一旦大多数节点都确认接收并持久化了日志,Leader 就可以提交这些日志。StateMachineUpdater 接收提交的日志,将其应用到本地状态机中,从而实现状态机的状态更新。确保一致性:Raft 算法保证了复制日志的一致性,这意味着所有节点最终会在相同的日志条目上达成共识。

2023-07-20 16:07:08 137

原创 Ratis学习(三): Raft Log管理

为了记录集群中所有操作的状态变化,确保状态机可以保证一致性。在 Raft 中,集群中的每个节点都维护一个日志,用于记录节点接收到的指令或命令。这些指令可能来自客户端的请求或其他节点的广播。日志的内容是有序的,并且按照顺序进行追加。每个日志条目都包含一个索引和对应的指令。Raft 算法通过日志来保持一致性。当节点收到新的指令时,它将指令追加到自己的日志末尾,并向其他节点发送追加日志的请求。一旦大多数节点都确认接收了该指令并将其追加到自己的日志中,该指令被视为已提交。

2023-06-21 14:11:15 251

原创 Ratis学习(二): Ratis peer身份管理

ratis服务中,每一个节点可能有三种身份,Leader,Candidate,Follower. Ratis在org.apache.ratis.server.impl.RoleInfo中实现身份管理。

2023-06-20 14:33:53 187

原创 ratis学习(一):Ratis客户端

Client是一个发起请求到服务端的模块,ratis是嵌入在系统中运行的,要想使用ratis中的功能,就需要继承ratis的类文件,实现其中的方法。ratis的源码RATIS中给出了几个使用的例子,如Counter, Arithmetic, Filestore等,本文中我们可以从简单的Counter例子入手来观察和使用ratis。

2023-06-19 14:10:43 299

原创 Ratis介绍

基于Raft实现的共识协议还有许多种,例如有各种语言的实现方案如 jraft,goraft,还有许多KV数据库同样使用了raft协议,但目前看来,ratis的实现和使用更为普遍,Ozone项目中就使用了ratis做为HA的实现方案,并且还作为DN 副本之间的数据同步。StateMachine: 是Ratis Server上层构筑的状态机,实现了多个接口的Api,负责处理和返回客户端的请求,如读写数据等等,statemachine中的数据是由updater负责更新的。client: 用于发起不同的数据请求。

2023-06-15 11:25:49 435

原创 ozone集成fuse的使用方式

使用fuse挂载磁盘,将数据存储到ozone集群上。1.安装fuse1)下载安装包(从github上下载)https://github.com/libfuse/libfuse/releases 下载随意版本2)解压安装包 tar -zxvf lib fuse***.tar.gz3)安装fuse 进入解压后的路径执行 ./configure makelsmod | grep fuse 查看fuse是否安装成功modprobe fuse 挂载成功...

2021-06-23 17:24:09 242

原创 ansible使用记录

近期使用了ansible,在这简单记录一下ansible的使用使用ansible-playbook的方式执行,首先编写剧本,定义好剧本中需要的变量ansible-playbook -i vars test.ymltest.yml剧本中编写详细的操作,例如- name:first ansible hosts: all gather_facts: no tasks: - name: mkdir # become: yes # become_user: "test"

2021-04-20 17:51:55 510

原创 hadoop、ozone或者其他的java项目的debug远程调试

开发中,使用IDEA远程调试测试集群可以方便快速的定位问题,为了实现本地IDEA调试向上或者测试集群的机器一般都会在jvm的参数配置中加上-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1234(port)来实现。但是在配置好之后还是不能远程debug,甚至服务启动失败。记录下报错信息以及解决方案:Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactA...

2021-04-09 17:31:01 386

原创 computeIfAbsent() 的使用

变成中经常遇到这种数据结构,判断一个map中是否存在这个key,如果存在则处理value的数据,如果不存在,则创建一个满足value要求的数据结构放到value中。以前常用的方法如下:public class TestComputeIfAbsent { static HashMap<String, Set<String>> hashMap = new HashMap<>(); public static void main(String[] args) {.

2020-12-03 14:40:28 89539 10

原创 HADOOP 编译过程中报错

1.java: 程序包com.sun.javadoc不存在出现这个错误考虑本地环境中使用的jdk版本问题出现这个问题后我从jdk11换成了jdk8,这个错误成功跳过2 Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1:enforce (enforce-banned-dependencies) on project hadoop-client-check-test-invariants: S

2020-09-24 18:14:25 971 1

原创 MAC解决连接服务器,一段时间不操作导致断开连接,卡顿一段时间的问题。

mac上进行如下操作:cd /etc/sshvim ssh_config在最后插入两条命令ServerAliveInterval 30ServerAliveCountMax 2操作完成,愉快的开始coding吧!!!!!

2020-09-24 11:52:35 1093 2

原创 关于页眉的奇偶页不同设置和奇数页页眉展示每一章名称的设置方法

在论文的写作中可能会遇到对于页眉的格式要求:比如奇偶页不同,奇数页页眉显示每一章的章节名称,偶数页固定显示********学位论文等等...经过简单的研究之后,总结以下步骤:以下为wps的设置方法,office应该也是大同小异1.先选择页眉页脚选项,勾选奇偶页不同2.当前能展示奇偶页页眉不同,接下来设置奇数页的页眉。选择插入---》分页----》连续分节符3.点...

2020-03-27 09:38:05 6864

原创 idea中上方类名的tab的多行展示

为了方便类文件的多行展示,防止调程序的过程中打开的类文件转眼间就被其他类文件给顶掉了设置如下:1)在类文件右击,如图取消单行展示但此时默认最多显示10个类文件,所以需要再设置点击file->setting->editor->General->Editor Tabs如图:至此设置成功,马上开始愉快的编程吧!!!...

2019-09-09 17:08:50 3791 2

原创 算法——反转链表

链表的反转并输出每个节点:方法一:递归法public ListNode reverseList(ListNode head) { if (head == null || head.next == null) { return head; } ListNode next = head.next; ListNode newHead = reve...

2019-07-19 10:25:26 146

原创 设计模式之代理模式(静态代理)

代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。废话少说,先上代码,码上说话!!!// 一个service的接口public interface ISomeService { String doFirst(); void doSecond();}// 接口的实现类,其中实现了两个方...

2019-04-26 10:34:25 145

原创 剑指offer算法题,输入一个链表,反转链表后,输出新链表的表头。

链表的算法题一直做的浑浑噩噩的,为了避免忘记以及能够及时的温故知新,所以将本次的解答记录如下:话不多说,先贴代码:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class ...

2019-03-04 11:13:06 144

原创 散列(hash)表以及解决冲突的方式

把查找表中的关键字映射成该关键字对应地址的函数,散列函数可能会把两个或两个以上的不同关键字映射到同一地址,称这种情况为冲突,这些发生碰撞的不同关键字成为同义词。1散列函数的构造方法    1)直接定址法    直接取关键字的摸个现行函数值为散列地址,散列函数为H(key)=a*key+b,其中a和b是常数,这种方法最简单,并且不会产生冲突,适合关键字分布基本连续的情况。    2)除留余数法   ...

2018-05-30 10:24:42 856

原创 快速排序算法java

快速排序算法public static void quickSort(int[] arr){ qsort(arr, 0, arr.length-1);}private static void qsort(int[] arr, int low, int high){ if (low &lt; high){ int pivot=partition(arr, low,...

2018-05-23 17:56:53 149

原创 冒泡排序的for循环

最近打算找找实习岗位,当然算法这样的基本功可不能松懈,首先上手就是人尽皆知的冒泡算法,看了好多的冒泡算法感觉每个人写的for循环都不一样(当然中心思想还是一样的), 清楚算法思想固然重要,但是搞清楚for循坏同时也是十分必要的,所以查看了网上的资源之后再次总结几种for循坏的方式,方便以后自己查看学习:第一种:(个人最喜欢用,比较容易记)for(i=0;i&lt;n;i++){ f...

2018-05-23 16:45:40 2859

apache-tomcat-7.0.85-src.zip

apach7.0.85源代码,能够很好的帮助初学者了解和使用apach服务器,了解其中的原理。

2018-05-21

java开发实战1200例

《Java开发实战1200例(第1卷)》简介:《Java开发实战1200例》包括第I卷、第II卷共计1200个例子,《Java开发实战1200例(第1卷)》是第I卷,共计603个例子。《Java开发实战1200例(第1卷)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型应用和数据库应用。全书分5篇24章,共计603个实例和603个经验技巧。每个实例都是经过笔者精心筛选的,具有很强的实用性,其中一些实例是开发人员难于寻觅的解决方案。 《Java开发实战1200例两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;《Java开发实战1200例(第1卷)》实例来源于多位工程师的多年积累,具有很强的实用性。 《Java开发实战1200例(第1卷)》附带有配套DVD光盘,光盘中提供有部分实例的视频和大部分源代码,读者可以稍加修改应用。 《Java开发实战1200例(第1卷)》适合Java的初学者,如高校学生、求职人员作为练习、速查、学习使用,也适合Java程序员参考、查阅。

2018-05-21

java入门经典

《Java入门经典》按照学习Java的最佳顺序来分配章节,共分为4篇20章。其中,前3篇可以使读者掌握Java的编程知识,第4篇可以使读者学习实际项目的开发过程。《Java入门经典》以初中级程序员为对象,从了解Java和搭建开发环境讲起,然后介绍Java开发的基础技术,接着讲解Java开发的高级内容,最后解读如何开发一个完整项目。讲解步骤详尽,版式新颖,使读者在阅读时一目了然,从而快速掌握Java开发技术。《Java入门经典》在讲解Java开发技术时,提供了丰富的实例,以便读者随学随练,真正做到学有所用。另外,为了便于读者更好地学习和使用《Java入门经典》,书中所有的代码都提供了详尽的注释。《Java入门经典》光盘提供了明日科技数十年的资源积累的程序开发资源库,包括海量实例资源库、模块资源库、项目案例资源库、测试题库系统、面试资源库等内容。

2018-05-21

兼职offer题目及源代码(java)

《剑指Offer:名企面试官精讲典型编程题》剖析了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。全书分为7章,主要包括面试的流程,讨论面试流程中每一环节需要注意的问题;面试需要的基础知识,从编程语言、数据结构及算法三方面总结了程序员面试的知识点;高质量的代码,讨论影响代码质量的3个要素(规范性、完整性和鲁棒性),强调高质量的代码除了能够完成基本的功能之外,还能考虑到特殊情况并对非法输入进行合理的处理;解决面试题的思路,总结在编程面试中解决难题的常用思路,如果在面试过程中遇到了复杂的难题,应聘者可以利用画图、举例和分解复杂问题3种方法化繁为简,先形成清晰的思路再动手编程;优化时间和空间效率,介绍如何优化代码的时间效率和空间效率,读完这一章读者将学会常用的优化时间效率及空间换时间的常用算法,从而在面试中找到最优的解法;面试中的各种能力,本章总结应聘者在面试过程中如何表现学习能力和沟通能力,并通过具体的面试题讨论如何培养知识迁移能力、抽象建模能力和发散思维能力;两个面试案例,这两个案例总结了应聘者在面试过程中哪些举动是不好的行为,而哪些表现又是面试官所期待的行为。

2018-05-21

软件工程考试题库

软件工程成考试题库,1. 软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计 C程序编制 D软件维护 2. 软件是一种逻辑产品,它的开发主要是(A )。 A研制 B拷贝 C再生产 D复制 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型 C瀑布模型 D螺旋模型 4. 在软件生存周期中,( B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划 C概要设计 D软件测试

2018-04-16

Python Deep Learning - Valentino Zocca

作者: Valentino Zocca / Gianmario Spacagna / Daniel Slater / Peter Roelants 出版社: Packt Publishing - ebooks Account 出版年: 2017-5-4 页数: 368 ISBN: 9781786464453 Take your machine learning skills to the next level by mastering Deep Learning concepts and algorithms using Python. About This Book Explore and create intelligent systems using cutting-edge deep learning techniques Implement deep learning algorithms and work with revolutionary libraries in Python Get real-world examples and easy-to-follow tutorials on Theano TensorFlow H2O and more Who This Book Is For This book is for Data Science practitioners as well as aspirants who have a basic foundational understanding of Machine Learning concepts and some programming experience with Python. A mathematical background with a conceptual understanding of calculus and statistics is also desired. What You Will Learn Get a practical deep dive into deep learning algorithms Explore deep learning further with Theano Caffe Keras and TensorFlow Learn about two of the most powerful techniques at the core of many practical deep learning implementations: Auto-Encoders and Restricted Boltzmann Machines Dive into Deep Belief Nets and Deep Neural Networks Discover more deep learning algorithms with Dropout and Convolutional Neural Networks Get to know device strategies so you can use deep learning algorithms and libraries in the real world In Detail With an increasing interest in AI around the world deep learning has attracted a great deal of public attention. Every day deep learning algorithms are used broadly across different industries. The book will give you all the practical information available on the subject including the best practices using real-world use cases. You will learn to recognize and extract information to increase predictive accuracy and optimize results. Starting with a quick recap of important machine learning concepts the book will delve straight into deep learning principles using Sci-kit learn. Moving ahead you will learn to use the latest open source libraries such as Theano Keras Google's TensorFlow and H20. Use this guide to uncover the difficulties of pattern recognition scaling data with greater accuracy and discussing deep learning algorithms and techniques. Whether you want to dive deeper into Deep Learning or want to investigate how to get more out of this powerful technology you'll find everything inside. Style and approach Python Machine Learning by example follows practical hands on approach. It walks you through the key elements of Python and its powerful machine learning libraries with the help of real world projects.

2018-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除