- 博客(29)
- 资源 (20)
- 问答 (1)
- 收藏
- 关注
原创 IDEA 试用
删除C:\Users\Administrator\AppData\Roaming\JetBrains\IntelliJIdea2020.2目录删除C:\Users\Administrator\AppData\Roaming\JetBrains\IntelliJIdea2020.2\eval目录下的所有文件删除C:\Users\Administrator\AppData\Roaming\JetBrains\IntelliJIdea2020.2\options 目录下的other.xml文件删除注
2020-10-10 13:40:21 2219
原创 Guava Cache原理
基本用法构建 public static void initCache(LoadingCache cache) throws ExecutionException { for(int i =1;i<=3;i++){ //连接数据源 ,如果缓存没有就读取数据源 cache.get(String.valueOf(i)); } } /** * 获得当前缓存的记录 * @pa
2020-10-27 10:16:07 485
原创 redis-Cluster-环境搭建
官方cluster分区Redis3.0之后,Redis官方提供了完整的集群解决方案。方案采用去中心化的方式,包括:sharding(分区)、replication(复制)、failover(故障转移)。称为RedisCluster。Redis5.0前采用redis-trib进行集群的创建和管理,需要ruby支持Redis5.0可以直接使用Redis-cli进行集群的创建和管理去中心化RedisCluster由多个Redis节点组构成,是一个P2P无中心节点的集群架构,依靠Gossip协议传播
2020-10-24 11:05:30 317
原创 redis-哨兵模式-搭建
哨兵模式哨兵(sentinel)是Redis的高可用性(High Availability)的解决方案:由一个或多个sentinel实例组成sentinel集群可以监视一个或多个主服务器和多个从服务器。当主服务器进入下线状态时,sentinel可以将该主服务器下的某一从服务器升级为主服务器继续提供服务,从而保证redis的高可用性系统centos 7下载随便找个地方下载cd /usr/local/rediswget https://download.redis.io/releases/r
2020-10-23 11:07:14 4879 6
原创 redis-官方cluster分区
分区与集群https://blog.csdn.net/ko0491/article/details/109218004proxy分区https://blog.csdn.net/ko0491/article/details/109218776官方cluster分区Redis3.0之后,Redis官方提供了完整的集群解决方案。方案采用去中心化的方式,包括:sharding(分区)、replication(复制)、failover(故障转移)。称为RedisCluster。Redis5.0前采用r
2020-10-22 12:18:34 459
原创 redis-proxy端分区
分区https://blog.csdn.net/ko0491/article/details/109218004proxy端分区在客户端和服务器端引入一个代理或代理集群,客户端将命令发送到代理上,由代理根据算法,将命令路由到相应的服务器上。常见的代理有Codis(豌豆荚)和TwemProxy(Twitter)部署架构Codis由豌豆荚于2014年11月开源,基于Go和C开发,是近期涌现的、国人开发的优秀开源软件之一Codis 3.x 由以下组件组成:Codis Server:基于 redis
2020-10-22 11:52:08 629 1
原创 redis-集群与分区
集群与分区分区是将数据分布在多个Redis实例(Redis主机)上,以至于每个实例只包含一部分数据分区的意义性能的提升单机Redis的网络I/O能力和计算资源是有限的,将请求分散到多台机器,充分利用多台机器的计算能力可网络带宽,有助于提高Redis总体的服务能力。存储能力的横向扩展即使Redis的服务能力能够满足应用需求,但是随着存储数据的增加,单台机器受限于机器本身的存储容量,将数据分散到多台机器上存储使得Redis服务可以横向扩展分区的方式根据分区键(id)进行分区:范围分
2020-10-22 11:33:25 778
原创 redis-高可用方案-主从-哨兵
redis-高可用方案“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。CAP的A AP模型单机的Redis是无法保证高可用性的,当Redis服务器宕机后,即使在有持久化的机制下也无法保证不丢失数据。所以我们采用Redis多机和集群的方式来保证Redis的高可用性。单进程+单线程 + 多机 (集群)主从复制Redis支持主从复制功能,可以通过执行slaveof(Redis5以后改成replicaof)或者在配置文件中
2020-10-22 11:07:03 467
原创 redis-Redis扩展功能
Redis扩展功能Lua脚本lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua应用场景:游戏开发、独立应用脚本、Web应用脚本、扩展和数据库插件。OpenRestry:一个可伸缩的基于Nginx的Web平台,是在nginx之上集成了lua模块的第三方服务器OpenResty是一个通过Lua扩展Nginx实现的可伸缩的Web平台,内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便地搭
2020-10-21 18:30:19 639
原创 redis-发布与订阅
发布与订阅Redis提供了发布订阅功能,可以用于消息的传输Redis的发布订阅机制包括三个部分,publisher,subscriber和Channel发布者和订阅者都是Redis客户端,Channel则为Redis服务器端。发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息频道/模式的订阅与退订subscribe:订阅 subscribe channel1 channel2 …Redis客户端1订阅频道1和频道2127.0.0.1:6379> subscribe
2020-10-21 18:11:03 1444
原创 Redis持久化
Redis持久化为什么要持久化Redis是内存数据库,宕机后数据会消失。Redis重启后快速恢复数据,要提供持久化机制Redis有两种持久化方式:RDB和AOF注意:Redis持久化不保证数据的完整性。当Redis用作DB时,DB数据要完整,所以一定要有一个完整的数据源(文件、mysql)在系统启动时,从这个完整的数据源中将数据load到Redis中数据量较小,不易改变,比如:字典库通过info命令可以查看关于持久化的信息# Serverredis_version:5.0.9redi
2020-10-20 16:29:47 109
原创 Redis -通讯协议及事件处理机制
通讯协议及事件处理机制##通信协议Redis是单进程单线程的。应用系统和Redis通过Redis协议(RESP)进行交互。请求响应模式Redis协议位于TCP层之上,即客户端和Redis实例保持双工的连接串行的请求响应模式(ping-pong)串行化是最简单模式,客户端与服务器端建立长连接连接通过心跳机制检测(ping-pong) ack应答客户端发送请求,服务端响应,客户端收到响应后,再发起第二个请求,服务器端再响应telnet和redis-cli 发出的命令 都属于该种模式特点
2020-10-20 15:46:38 454 1
原创 redis 缓存过期和淘汰策略
缓存过期和淘汰策略Redis性能高:官方数据读:110000次/s写:81000次/s长期使用,key会不断增加,Redis作为缓存使用,物理内存也会满内存与硬盘交换(swap) 虚拟内存 ,频繁IO 性能急剧下降maxmemory不设置的场景Redis的key是固定的,不会增加Redis作为DB使用,保证数据的完整性,不能淘汰 , 可以做集群,横向扩展缓存淘汰策略:禁止驱逐 (默认)设置的场景Redis是作为缓存使用,不断增加Keymaxmemory : 默认为0 不限制问题:
2020-10-19 15:47:27 386
原创 Redis 底层数据结构
底层数据结构Redis作为Key-Value存储系统,数据结构如下RedisDB结构Redis中存在“数据库”的概念,该结构由redis.h中的redisDb定义。当redis 服务器初始化时,会预先分配 16 个数据库所有数据库保存到结构 redisServer 的一个成员 redisServer.db 数组中redisClient中存在一个名叫db的指针指向当前使用的数据库RedisDB结构体源码:typedef struct redisDb {int id; //id是数据库序号,
2020-10-19 15:34:12 228
原创 Redis 数据类型
数据类型与底层数据结构Redis数据类型和应用场景Redis是一个Key-Value的存储系统,使用ANSI C语言编写。key的类型是字符串。value的数据类型有:常用的:string字符串类型、list列表类型、set集合类型、sortedset(zset)有序集合类型、hash类型。不常见的:bitmap位图类型、geo地理位置类型。Redis5.0新增一种:stream类型注意:Redis中命令是忽略大小写,(set SET),key是不忽略大小写的 (NAME name)Red
2020-10-19 14:52:21 126
原创 缓存基本思想
缓存的使用场景DB缓存,减轻服务器压力一般情况下数据存在数据库中,应用程序直接操作数据库。当访问量上万,数据库压力增大,可以采取的方案有:读写分离,分库分表当访问量达到10万、百万,需要引入缓存。将已经访问过的内容或数据存储起来,当再次访问时先找缓存,缓存命中返回数据。不命中再找数据库,并回填缓存提高系统响应数据库的数据是存在文件里,也就是硬盘。与内存做交换(swap)在大量瞬间访问时(高并发)MySQL单机会因为频繁IO而造成无法响应。MySQL的InnoDB是有行锁将数据
2020-10-19 14:25:28 534 1
原创 HBase原理-介绍
HBase原理HBase读数据流程HBase读操作1)首先从zk找到meta表的region位置,然后读取meta表中的数据,meta表中存储了用户表的region信息2)根据要查询的namespace、表名和rowkey信息。找到写入数据对应的region信息3)找到这个region对应的regionServer,然后发送请求4)查找对应的region5)先从memstore查找数据,如果没有,再从BlockCache上读取HBase上Regionserver的内存分为两个部分一部分
2020-10-19 11:35:53 368
原创 HBase shell 基本操作
HBase shell 基本操作进入Hbase客户端命令操作界面 hbase shell查看帮助命令help查看当前数据库中有哪些表list创建一张lagou表, 包含base_info、extra_info两个列族create 'lagou', 'base_info', 'extra_info'或者create 'lagou', {NAME => 'base_info', VERSIONS => '3'},{NAME => 'extra_info',VERSI
2020-10-19 10:42:04 810
原创 HBase 简介
HBase是什么HBase 基于 Google的BigTable论文而来,是一个分布式海量列式非关系型数据库系统,可以提供超大规模数据集的实时随机读写。如下MySQL存储机制,空值字段浪费存储空间如果是列存储的话,可以这么玩…rowkey:1 name:小明rowkey:1 age:23rowkey:1 job:学生rowkey:2 name :小红rowkey:2 salary:10wrowkey:2 job:律师…列存储的优点:1)减少存储空间占用。2)支持好多列H
2020-10-19 10:14:59 201 1
原创 YARN资源调度
YARN架构ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;ApplicationMaster(am):数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、
2020-10-16 11:04:25 254
原创 MapReduce原理分析
MapReduce原理分析MapTask运行机制详解详细步骤:首先,读取数据组件InputFormat(默认TextInputFormat)会通过getSplits方法对输入目录中文件进行逻辑切片规划得到splits,有多少个split就对应启动多少个MapTask。split与block的对应关系默认是一对一。将输入文件切分为splits之后,由RecordReader对象(默认LineRecordReader)进行读取,以\n作为分隔符,读取一行数据,返回<key,value>。
2020-10-16 10:47:05 647
原创 MapReduce编程框架-简述
MapReduce编程框架MapReduce思想MapReduce思想在生活中处处可见。我们或多或少都曾接触过这种思想。MapReduce的思想核心是分而治之,充分利用了并行处理的优势。即使是发布过论文实现分布式计算的谷歌也只是实现了这种思想,而不是自己原创。MapReduce任务过程是分为两个处理阶段:Map阶段:Map阶段的主要作用是“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。Map阶段的这些任务可以并行计算,彼此间没有依赖关系。Reduce阶段:Reduce阶段的主要作用
2020-10-15 17:51:53 1180
原创 HDFS NN与2NN
HDFS元数据管理机制问题1:NameNode如何管理和存储元数据?计算机中存储数据两种:内存或者是磁盘元数据存储磁盘:存储磁盘无法面对客户端对元数据信息的任意的快速低延迟的响应,但是安全性高元数据存储内存:元数据存放内存,可以高效的查询以及快速响应客户端的查询请求,数据保存在内存,如果断点,内存中的数据全部丢失。解决方案:内存+磁盘;NameNode内存+FsImage的文件(磁盘)新问题:磁盘和内存中元数据如何划分两个数据一模一样,还是两个数据合并到一起才是一份完整的数据呢?一模一样:
2020-10-13 15:25:21 362
原创 HDFS读写解析
HDFS读写解析HDFS读数据流程客户端通过Distributed FileSystem向NameNode请求下载文件,NameNode通过查询元数据,找到文件块所在的DataNode地址。挑选一台DataNode(就近原则,然后随机)服务器,请求读取数据。DataNode开始传输数据给客户端(从磁盘里面读取数据输入流,以Packet为单位来做校验)客户端以Packet为单位接收,先在本地缓存,然后写入目标文件HDFS写数据流程客户端通过Distributed FileSystem模
2020-10-13 15:12:13 73
原创 HDFS分布式文件系统-简介
HDFS分布式文件系统HDFS 简介HDFS (全称:Hadoop Distribute File System,Hadoop 分布式文件系统)是 Hadoop 核心组成,是分布式存储服务。分布式文件系统横跨多台计算机,在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。HDFS是分布式文件系统中的一种HDFS的重要概念HDFS 通过统一的命名空间目录树来定位文件; 另外,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色(分布式本质是拆分,各司
2020-10-13 15:04:12 572
原创 Apache Hadoop 完全分布式集群 搭建
centos7实现免密登录在node01上生产一对钥匙(公钥和私钥)首先在root用户下,执行ssh-keygen -t rsa,一路回车,接着会产生在/root目录下会产生.ssh目录查看 .ssh 目录,会发现它下面生成了两个 id_rsa , id_rsa.pub文件ssh-copy-id node01ssh-copy-id node02ssh-copy-id node03同理其它节点也一样虚拟机环境准备三台虚拟机(静态IP,关闭防火墙,修改主机名,配置免密登录,集群时间同步)
2020-10-12 17:16:44 317 1
原创 Apache Hadoop的重要组成
Hadoop的广义和狭义之分狭义的Hadoop:指的是一个框架,Hadoop是由三部分组成:HDFS:分布式文件系统–》存储;MapReduce:分布式离线计算框架–》计算;Yarn:资源调度框架广义的Hadoop:广义Hadoop是不仅仅包含Hadoop框架,除了Hadoop框架之外还有一些辅助框架。Flume:日志数据采集,Sqoop:关系型数据库数据的采集;Hive:深度依赖Hadoop框架完成计算(sql),Hbase:大数据领域的数据库(mysql)Sqoop:数据的导出广义Hado
2020-10-10 20:11:56 316
原创 GraphicsMagick+NGINX生成缩略图
1.安装GraphicsMagickwget http://ftp.icm.edu.pl/pub/unix/graphics/wget http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/1.3/GraphicsMagick-1.3.18.tar.gztar -xvf GraphicsMagick-1.3.18.tar.gzcd GraphicsMagick-1.3.18./configure -enable-shared
2020-10-10 09:43:15 422
原创 Nginx-Lua-FastDFS-GraphicsMagick
Nginx-Lua-FastDFS-GraphicsMagickFastDFS安装单机与Nginxhttps://blog.csdn.net/ko0491/article/details/108884243集群与Nginxhttps://blog.csdn.net/ko0491/article/details/108888445LuaJIThttp://luajit.org/download.html安装lua环境 tar -zxvf LuaJIT-2.0.5.tar.gz cd Lua
2020-10-09 10:19:16 450 1
expert+one-on-one+j2ee+development+without+ejb中文版.rar
2020-04-27
Eclipse如何导入web项目,导入后项目显示红叉,也无法在tomcat中运行
2015-01-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人