11 2021 档案
摘要:HDFS 机架感知与副本放置策略 机架感知(RackAwareness) 通常,大型 Hadoop 集群会分布在很多机架上,在这种情况下, 希望不同节点之间的通信能够尽量发生在同一个机架之内,而不是跨机架。 为了提高容错能力,名称节点会尽可能把数据块的副本放到多个机架上。 综合考虑这两点的基础上 H
阅读全文
摘要:HDFS Shell 操作 HDFS Shell 命令行格式 格式一:hadoop fs –命令名 参数 格式二:hdfs dfs –命令名 参数 HDFS 常用命令及参数 ls:查看 hdfs 中的目录信息 [root@node-01 ~]# hadoop fs -ls / put或copyFro
阅读全文
摘要:HDFS 内部工作机制 HDFS集群分为两大角色:NameNode、DataNode (Secondary Namenode) NameNode 负责管理整个文件系统的元数据 DataNode 负责管理用户的文件块(Block) 文件会按照固定的大小(默认 128 M)切成若干文件块(Block)后
阅读全文
摘要:HDFS 简介 集群与分布式 集群 集群是由多个完成相同功能的服务器节点组成的集合 集群中每个服务器节点处理相同的任务或存储相同的数据 集群的关键特性是可扩展性和高可用性(支持负载均衡、错误恢复) 分布式 分布式是将一个系统拆分为多个不同的子系统,每个子系统运行在一个服务器节点上,最终共同完成系统的
阅读全文
摘要:Hadoop 简介 Hadoop 是什么 Hadoop 是一个提供分布式存储和计算的开源软件框架,它具有无共享、高可用(HA)、弹性可扩展的特点,非常适合处理海量数量。 Hadoop 是一个开源软件框架 Hadoop 适合处理大规模数据 Hadoop 被部署在一个可扩展的集群服务器上 Hadoop
阅读全文
摘要:Sharding (分片模式) 副本集可以解决主节点发生故障导致数据丢失或不可用的问题,但遇到需要存储海量数据的情况时,副本集机制就束手无策了。副本集中的一台机器可能不足以存储数据,或者说集群不足以提供可接受的读写吞吐量。这就需要用到 MongoDB 的分片(Sharding)技术,这也是 Mong
阅读全文
摘要:副本集(Replica Set) 副本集概念 此集群拥有一个主节点(Master)和多个从节点(Slave),与主从复制模式类似,但是副本集与主从复制的区别在于:当集群中主节点发生故障时,副本集可以自动投票,选举出新的主节点,并引导其余的从节点连接新的主节点。 **MongoDB 的副本集是自带故障
阅读全文
摘要:MongoDB 用户与权限管理 MongoDB 权限管理 MongoDB 提供了各种特性,比如身份验证、访问控制、加密,以确保 MongoDB 的部署安全。 只要涉及安全一般考虑如下两个方面: 权限管理 = 认证( Authentication ) + 授权( Authorization ) 认证:
阅读全文
摘要:MongoDB MapReduce MapReduce 简介 MongoDB 中的 MapReduce 可以用来实现更复杂的聚合命令,使用 MapReduce 主要实现两个函数:map 函数和reduce函数 map 函数(分组):用来生成键值对序列,map 函数的结果作为 reduce 函数的参数
阅读全文
摘要:MongoDB 聚合管道 为什么需要聚合 一般查询可以通过 find() 方法,但如果是比较复杂的查询或者数据统计的话,find() 方法可能就无能为力,这时需要聚合(aggregate)。 聚合操作处理数据文档并返回计算结果。聚合操作将来自多个文档的值分组在一起,可以对分组的数据执行各种操作以返回
阅读全文
摘要:MongoDB shell 基本操作 MongoDB bin目录结构 mongo:MongoDB 客户端程序 mongod:MongoDB 服务器程序 MongoDB Shell 客户端 [root@node-01 mongodb-4.2.7]# bin/mongo --host node-01 -
阅读全文
摘要:MongoDB 更新文档 updateOne 函数 基于过滤器更新集合中的单个文档 db.collection.updateOne( <filter>, <update>, { upsert: <boolean>, arrayFilters: [ <filterdocument1>,...] } )
阅读全文
摘要:MongoDB 数据类型 数据类型 中文名称 Number 英文名称 备注 Double 双精度浮点数 1 “double” String 字符串 2 “string” Object 对象 3 “object” Array 数组 4 “array” Binary data 二进制数据 5 “binD
阅读全文
摘要:MongoDB 查询文档 find 函数:查询集合文档 db.collection.find(query, projection) collection:替换成需要查询的集合名称 query:查询条件(可选)使用查询操作符指定查询筛选器。若要返回集合中的所有文档,请省略此参数或传递一个空文档({})
阅读全文
摘要:MongoDB 简介 关系数据库的不足 最近几年在开发互联网 Web 应用中,越来越多的企业在生产环境中从关系数据库(如 MySQL)迁移到非关系数据库(如 MongoDB)。 那么,企业这样做的动机是什么?为何开发互联网 Web 应用的企业要抛弃 MySQL,而青睐 MongoDB 呢? 互联网有
阅读全文
摘要:MongoDB 基本概念 MongoDB 数据模型 在 MongoDB 中,多个文档(document)组成集合(collection),多个集合可以组成数据库(database)。 文档(document) 文档是 MongoDB 中数据的基本单元(类似关系型数据库 MySQL 中的行),由字段(
阅读全文
摘要:Redis 集群 什么是 Redis 集群 Redis 集群是 Redis 处理大数据而提供的分布式数据库方案,集群通过分片(sharding)的方式来保存数据库中的键值对。 Redis 集群中的节点分为主节点(Master)和从节点(Slave),其中主节点用于处理槽,而从节点则用于复制主节点,并
阅读全文
摘要:Redis 主从复制 主从复制的概念 就是将一台 redis 服务器的数据,复制到其他的 redis 服务器,前者为主节点(master/leader),后者称为从节点(slave/follower),数据的复制是单向的,只能从主节点到从节点,一般 master 以写为主,slave 以读为主。 R
阅读全文
摘要:Redis AOF 持久化 AOF 持久化简介 除了 RDB 持久化之外,Redis 还提供了 AOF(Append Only File,即只允许追加不允许改写的文件)持久化。 与 RDB 持久化通过保存数据库中的键值对来记录数据库状态不同,AOF 持久化是通过保存 Redis 服务器所执行的写命令
阅读全文
摘要:Redis 哨兵机制 为什么要有哨兵(sentinel)机制 在 Redis 主从架构中,当主服务器宕机,需要手动将从服务器切换为主服务器,这需要人工干预,不仅费时费力而且还会造成一段时间内服务不可用。 哨兵机制就是为了解决主从复制的缺点,以实现自动故障转移 什么是哨兵机制 Redis 的哨兵(Se
阅读全文
摘要:Redis 内存回收策略 Reids 所有的数据都是存储在内存中的,在某些情况下需要对占用的内存空间进行回收,内存回收主要分为两类: key 过期删除策略 内存淘汰回收策略 Key 过期删除策略 定时过期(主动淘汰) 每个设置过期时间的 key 都需要创建一个定时器,到过期时间就会立即清除。该策略可
阅读全文
摘要:Redis RDB 持久化 RDB 持久化简介 RBD 持久化数据库 RDB 持久化是将 Redis 在内存中的数据库状态保存到磁盘中,以避免数据意外丢失,是一种快照式的持久化方法。 RDB 还原数据库 RDB 持久化将生成一个 RDB 文件(经过压缩的二进制文件),通过该文件可以还原生成 RDB
阅读全文
摘要:Redis 缓存问题 缓存穿透问题 什么是缓存穿透 缓存穿透就是指当用户在 Redis 缓存系统查询一条数据时,而 MySQL 数据库和 Redis 缓存里却没有关于这条数据的任何记录。这条数据在 Redis 缓存中查询不到自然会向 MySQL 数据库请求获取数据,MySQL 数据库也获取不到数据,
阅读全文
摘要:Redis 事务处理 Redis 事务处理概念 众所周知,事务是指 “一个完整的动作,要么全部执行,要么什么也没有做”。 在聊 redis 事务处理之前,要先和大家介绍四个redis指令,即MULTI、EXEC、DISCARD、WATCH。这四个指令构成了redis事务处理的基础。 MULTI:用来
阅读全文
摘要:Linux 计划任务 计划任务类型 计划任务包括两种类型: 周期性计划任务(crontab 命令) :每到指定时间点就执行指定的任务,周期性重复执行 一次性计划任务 (at 命令):未来某个时间执行一次指定任务 crontab 定时器 定时器 crontab 命令允许用户提交、编辑或删除相应的作业。
阅读全文
摘要:Shell 模式匹配 变量赋值模式匹配 模式匹配在 Shell 脚本中的运用很广泛 举例 [root@node-01 ~]# vim mod.sh #!/bin/bash x=${1:-"no parameter"} echo $x 在上述例子中,x=${1:-"no parameter"} 中的
阅读全文
摘要:Shell 基础知识 什么是 Shell Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给
阅读全文
摘要:Shell 脚本编程 同传统的编程语言一样,shell 提供了很多特性,这些特性可以使你的 shell 脚本编程更为有用。 创建 Shell 脚本 一个 shell 脚本通常包含如下部分:首行+注释+内容 首行 第一行内容在脚本的首行左侧,表示脚本将要调用的shell解释器,内容如下: #!/bin
阅读全文
摘要:idea 破解方法 破解包下载链接:https://pan.baidu.com/s/1rFXzSipEz8bFJykEo7-ZnQ 提取码:zktr 1、第一步,启动软件,进入试用(能直接进入操作界面的,则忽略此步) 2、 进入软件后将ide-eval-resetter-2.1.6.zip 这个包直
阅读全文
摘要:Redis 单线程架构 单线程模型 Redis 客户端对服务端的每次调用都经历了发送命令、执行命令和返回结果三个过程。其中执行命令阶段,由于 Redis 是单线程来处理命令的,到达 Redis 服务端的每一条命令都不会立刻执行,所有的命令都会进入一个队列中,然后逐个执行。并且多个 Redis 客户端
阅读全文
摘要:Redis 事务处理 Redis 事务处理概念 众所周知,事务是指 “一个完整的动作,要么全部执行,要么什么也没有做”。 在聊 redis 事务处理之前,要先和大家介绍四个redis指令,即MULTI、EXEC、DISCARD、WATCH。这四个指令构成了redis事务处理的基础。 MULTI:用来
阅读全文
摘要:Redis 简介 Redis 是什么 Redis是一种基于键值对(key-value)的 NoSQL 数据库。 Redis 的特点 速度极快 Redis 的所有数据都是存放在内存中,这是 Redis 速度快的最主要原因 Redis 是用 C 语言实现的,一般来说 C 语言实现的程序“距离”操作系统更
阅读全文
摘要:Redis 数据结构 Redis 多数据库 Redis 服务器拥有16 个数据库(0~15),默认使用 0 号数据库,可以使用 select 命令来切换数据库 注:16 个数据库之间是完成独立的,可以保存相同的键值对 清空当前数据库的数据,可以使用 flushdb 命令 清空 Redis 所有数据库
阅读全文
摘要:JSON 网络数据传输 计算机网络通信本质就是相互传输数据,而传输数据就涉及到数据存储格式。所谓数据存储格式就是将数据先按照一定的格式存储,然后再传输到网络的另一端。另一端接收到数据后,就可以按照存储的格式将数据解析出来。 常见的两种网络数据存储格式 XML 格式 JSON 格式 XML 格式 曾经
阅读全文
摘要:AJAX 什么是 AJAX AJAX(Asynchronous JavaScript and XML,异步 JavaScript 和 XML,中文读音:”阿贾克斯 ”) 是 一种 Web 交互的新方法 AJAX 这个概念是 Jesse James Garrett (AJAX之父) 于2005年2月提
阅读全文

浙公网安备 33010602011771号