摘要: 1. 准备虚拟机(最小化安装) 2. 配置一台纯净版模板机 -- 固定ip地址、修改主机名 -- 用xshell工具连接模板机 -- 通过yum安装方式安装必要的软件 -- 关防火墙 -- 修改hosts文件 -- 创建普通户用(atguigu)并且提升它能拥有root权限 -- 在Linux的/opt目录下创建 software 和 module -- 将software 和 module 目录的所有者和所属组修改为 atguigu 3. 准备hadoop102 机器(通过克隆模板机的方式创建) -- 修改IP -- 修改主机名 阅读全文
posted @ 2022-07-08 22:36 手下留情 阅读(141) 评论(0) 推荐(0) 编辑
摘要: Hadoop的组成,Hadoop的组成主要分为三个部分,分别为最著名的分布式文件系统(HDFS)、MapReduce框架、储存系统(HBase)等组件。 HDFS:数据切割、制作副本、分散储存 MapReduce:拆解任务、分散处理、汇整结果 HBase:分布式储存系统 阅读全文
posted @ 2022-05-12 21:40 手下留情 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 今天在做算法题的时候学习到了一种新的解题方法--摩尔投票法 原题是leetcode上的多数元素问题; "给定一个大小为 n 的数组,找到其中的多数元素.多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素" 解题思路是这样的,暂时选定第一个元素为候选人,给一个初始票数为1,遍历数组每当遇到与候选人相同的数,票数则加一,如果不相同则减一.如果等于0则更换下一个候选人,初始票数为1 遍历完成之后剩下的那个候选人就是这个数组里面的多数元素,因为题目里面规定了多数元素在数组中出现的次数一定是大于n/2的,所有最后候选人的票数一定是大于等于1的(如果数组中存在多数元素); 阅读全文
posted @ 2021-01-06 16:26 手下留情 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 为什么是16384(2^14)个? 在redis节点发送心跳包时需要把所有的槽放到这个心跳包里,以便让节点知道当前集群信息,16384=16k,在发送心跳包时使用bitmap压缩后是2k(2 * 8 (8 bit) * 1024(1k) = 2K),也就是说使用2k的空间创建了16k的槽数。 虽然使用CRC16算法最多可以分配65535(2^16-1)个槽位,65535=65k,压缩后就是8k(8 * 8 (8 bit) * 1024(1k) = 8K),也就是说需要需要8k的心跳包,作者认为这样做不太值得;并且一般情况下一个redis集群不会有超过1000个master节点,所以16k的槽位是个比较合适的选择。 作者原话: 1、普通心跳数据包携带节点的完整配置,该配置可以用旧配置以幂等方式替换,以便更新旧配置。这意味着它们包含原始形式的节点的槽配置,16k的槽配置需要使用2k内存空间,但是使用65k槽将使用8k的内存空间。 2、同时,由于其他设计折衷,Redis集群不可能扩展到超过1000个节点。 阅读全文
posted @ 2020-12-10 19:42 手下留情 阅读(1893) 评论(0) 推荐(1) 编辑
摘要: 缓存机制 一.工作原理 1.为什么redis适合做缓存? 缓存的两个特征,分别是可以快速访问;缓存写满时,数据需要被淘汰。而 Redis 天然就具有高性能访问和数据淘汰机制,正好符合缓存的这两个特征的要求,所以非常适合用作缓存。 2.redis做缓存的两种模式 只读缓存和读写缓存, 读写缓存提供了同步直写和异步写回这两种模式, 同步直写模式侧重于保证数据可靠性, 而异步写回模式则侧重于提供低延迟访问, 我们要根据实际的业务场景需求来进行选择。 举个例子,在商品大促的场景中,商品的库存信息会一直被修改。如果每次修改都需到数据库中处理,就会拖慢整个应用,此时,我们通常会选择读写缓存的模式。而在短视频 App 的场景中,虽然视频的属性有很多,但是,一般确定后,修改并不频繁,此时,在数据库中进行修改对缓存影响不大,所以只读缓存模式是一个合适的选择。 3.只读缓存和使用直写策略的读写缓存有什么区别吗? 只读缓存是牺牲了一定的性能,优先保证数据库和缓存的一致性,它更适合对于一致性要求比较要高的业务场景。 阅读全文
posted @ 2020-12-03 11:14 手下留情 阅读(1455) 评论(0) 推荐(0) 编辑
摘要: 前几天接触了Spring Cloud,了解了Eureka,现在简单的对几个比较重要的点做一个小总结,算是小小的复习; 首先是Eureka的简单的工作原理,Eureka框架包含两个组件,一个是Eureka Server,一个是Eureka Client; Eureka Server叫服务注册中心,每个服务启动后都要注册在这; Eureka Client叫服务实例,分为服务提供者和服务消费者,服务之间是通过REST调用的,Eureka Client内置一个使用负载轮询算法的负载均衡器; 阅读全文
posted @ 2020-11-07 09:50 手下留情 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 解决:Error:java: 无效的源发行版: 12 解决的方法是: 1.shift+ctrl+alt+s打开Project Structure,找到Project Settings下的Project,将Project SDK下的框修改为1.8版本 2.在Modules选择你的项目->选择你的jdk版本为8 3.File->Setting:查找java compiler->Target bytecode version 修改为8(你的jdk版本,同样注意父级项目) 4.重新启动 阅读全文
posted @ 2020-10-17 12:39 手下留情 阅读(2768) 评论(0) 推荐(0) 编辑
摘要: org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load [oracle.xdb.XMLTypeFactory]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access. 阅读全文
posted @ 2020-10-09 10:12 手下留情 阅读(3084) 评论(0) 推荐(0) 编辑
摘要: maven build 的时候报错 Could not find artifact pom:001-SNAPSHOT 异常 阅读全文
posted @ 2020-09-26 13:03 手下留情 阅读(9530) 评论(0) 推荐(1) 编辑
摘要: 题目描述: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 阅读全文
posted @ 2020-09-15 08:44 手下留情 阅读(178) 评论(0) 推荐(0) 编辑