自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小城我家

菜鸟成长记

  • 博客(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

redis-desktop-manager-0.8.8.384.rar

redis-desktop-manager

2021-12-08

expert+one-on-one+j2ee+development+without+ejb中文版.rar

expert+one-on-one+j2ee+development+without+ejb中文版 e

2020-04-27

design-pattern-java.rar

design-pattern-java

2020-04-24

数据结构与算法 Python语言描述_裘宗燕.rar

数据结构与算法 Python语言描述_裘宗燕

2019-06-03

七周七并发模型.rar

七周七并发模型

2019-06-03

图解Java多线程设计模式.rar

图解Java多线程设计模式

2019-06-03

淘宝十年产品事 带书签目录 完整版.rar

淘宝十年产品事 带书签目录 完整版

2019-05-09

需求:缔造伟大商业传奇的根本力量完整版带.rar

需求:缔造伟大商业传奇的根本力量完整版带

2019-05-09

TCP IP详解卷1:协议 原书第2版

TCP IP详解卷1:协议 原书第2版TCP

2019-05-07

TCP IP详解卷1:协议 原书第2版

TCP IP详解卷1:协议 原书第2版

2019-05-07

C Primer Plus 第6版 非扫描版 中文版

C Primer Plus 第6版 非扫描版 中文版

2019-05-07

Netty实战 电子版

Netty实战 电子版

2019-05-07

Unix编程艺术--完整书签版

Unix编程艺术--完整书签版

2019-04-29

Go语言学习笔记

Go语言学习笔记

2019-04-04

Go实战

Go实战

2019-04-04

Go并发编程实战 第2版

Go并发编程实战 第2版

2019-04-04

GoWeb编程GoWeb编程

GoWeb编程GoWeb编程

2019-04-04

【Go程序设计语言】(详细书签、清晰完整版)

【Go程序设计语言】(详细书签、清晰完整版)

2019-04-04

Mybatis技术内幕

Mybatis技术内幕

2019-04-04

疯狂python讲义下载

疯狂python讲义下载

2019-04-04

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

TA关注的人

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