bigdata
两点一刻
如有疑问,请发邮件:[email protected]
请关注:github:https://github.com/wangrui0/
我是一个java和大数据工程师!
展开
-
hadoop笔记第一天
1:安装虚拟机(略)2:安装必要的环境:安装jdk3:安装hadoop 3.1上传hadoop包 3.2解压hadoop包 首先在目录~创建一个app目录 mkdir /app 解压: tar -zxvf hadoop-1.1.2.tar.gz -C /app/bin :执行的脚本etc:配置文件share:jar包doc:文档(可...原创 2018-07-08 07:18:31 · 137 阅读 · 0 评论 -
第17 节 剖析Elasticsearch并发冲突问题
深度图解剖析Elasticsearch并发冲突问题原创 2019-01-21 10:39:35 · 198 阅读 · 0 评论 -
第18 节 剖析悲观锁与乐观锁两种并发控制
深度图解剖析悲观锁与乐观锁两种并发控制方案原创 2019-01-21 10:41:21 · 112 阅读 · 0 评论 -
第19节 Elasticsearch内部如何基于_version进行乐观锁并发控制
1、图解Elasticsearch内部如何基于_version进行乐观锁并发控制 (1)_version元数据 PUT /test_index/test_type/6{ "test_field": "test test"} { "_index": "test_index", "_type": "test_type", "原创 2019-01-21 10:43:22 · 181 阅读 · 0 评论 -
第20节:基于_version进行乐观锁并发控制
(1)先构造一条数据出来 PUT /test_index/test_type/7{ "test_field": "test test"} (2)模拟两个客户端,都获取到了同一条数据 GET test_index/test_type/7 { "_index": "test_index", "_type": "test_type"原创 2019-01-21 15:29:59 · 117 阅读 · 0 评论 -
第21节:elasticsearch 基于external version进行乐观锁并发控制
课程大纲 1、上机动手实战演练基于external version进行乐观锁并发控制 external version es提供了一个feature,就是说,你可以不用它提供的内部_version版本号来进行并发控制,可以基于你自己维护的一个版本号来进行并发控制。举个列子,加入你的数据在mysql里也有一份,然后你的应用系统本身就维护了一个版本号,无论是什么自己生成的,程序...原创 2019-01-21 15:32:16 · 155 阅读 · 0 评论 -
Elasticsearch 第1篇 入门
课程大纲 大白话、什么是Elasticsearch Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 1、什么是搜索?2、如果用数据库做搜索会怎么样?3、什么是全文检索、倒排索引和Lucene?4、什么是Elasticsearch?1、什么是搜索? 百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自...原创 2019-01-16 07:35:52 · 110 阅读 · 0 评论 -
Elasticsearch 第02节:Elasticsearch 介绍
课程大纲 1、Elasticsearch的功能,干什么的2、Elasticsearch的适用场景,能在什么地方发挥作用3、Elasticsearch的特点,跟其他类似的东西不同的地方在哪里 ---------------------------------------------------------------------------------------------...原创 2019-01-16 07:51:25 · 81 阅读 · 0 评论 -
第22节:partial update实现原理和动手实战演练
1、什么是partial update? PUT /index/type/id,创建文档&替换文档,就是一样的语法 一般对应到应用程序中,每次的执行流程基本是这样的: (1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改(2)用户在前台界面修改数据,发送到后台(3)后台代码,会将用户修改的数据在内存中进行执行,然...原创 2019-01-22 10:59:13 · 133 阅读 · 0 评论 -
第23节 实战演练基于groovy脚本进行partial update
es,其实是有个内置的脚本支持的,可以基于groovy脚本实现各种各样的复杂操作基于groovy脚本,如何执行partial updatees scripting module,我们会在高手进阶篇去讲解,这里就只是初步讲解一下 PUT /test_index/test_type/11{ "num": 0, "tags": []} (1)内置脚本...原创 2019-01-22 11:01:47 · 144 阅读 · 0 评论 -
第24节:图解partial update乐观锁并发控制原理以及相关操作讲解
(1)partial update内置乐观锁并发控制(2)retry_on_conflict(3)_version post /index/type/id/_update?retry_on_conflict=5&version=6原创 2019-01-22 11:06:18 · 160 阅读 · 0 评论 -
第25节:演练mget批量查询api
课程大纲 1、批量查询的好处 就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍 2、mget的语法 (1)一条一条的查询 GET /test_index/test_type/1GET /test_index/te...原创 2019-01-22 13:52:45 · 99 阅读 · 0 评论 -
第26节:bulk批量增删改
课程大纲 1、bulk语法 POST /_bulk{ "delete": { "_index": "test_index", "_type": "test_type", "_id": "3" }}{ "create": { "_index": "test_index", "_t原创 2019-01-22 13:55:45 · 152 阅读 · 0 评论 -
第27节:document数据路由原理
课程大纲 (1)document路由到shard上是什么意思? (2)路由算法:shard = hash(routing) % number_of_primary_shards 举个例子,一个index有3个primary shard,P0,P1,P2 每次增删改查一个document的时候,都会带过来一个routing number,默认就是这个document的...原创 2019-01-22 13:58:21 · 114 阅读 · 0 评论 -
第28节 分布式文档系统_document增删改内部原理图解揭秘
课程大纲 (1)客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点)(2)coordinating node,对document进行路由,将请求转发给对应的node(有primary shard)(3)实际的node上的primary shard处理请求,然后将数据同步到replica node(4)coordinating nod...原创 2019-01-22 14:00:07 · 96 阅读 · 0 评论 -
第16 节 es document的全量替换、强制创建 和 图解lazy delete
课程大纲 1、document的全量替换2、document的强制创建3、document的删除 ------------------------------------------------------------------------------------------------------------------------ 1、document的全量替...原创 2019-01-21 10:37:40 · 118 阅读 · 0 评论 -
第15 节 document的 source元数据 和 定制返回结果
课程大纲 1、_source元数据 put /test_index/test_type/1{ "test_field1": "test field1", "test_field2": "test field2"} get /test_index/test_type/1 { "_index": "test_index", &qu原创 2019-01-21 10:34:37 · 115 阅读 · 0 评论 -
zookeeper 第 1 篇 简介
Zookeeper概念简介:Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务A、zookeeper是为别的分布式程序服务的B、Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)C、Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务……D、虽然说可以提供各种服务,但...原创 2018-11-03 22:08:05 · 94 阅读 · 0 评论 -
zookeeper 第 2篇 安装
安装1.1. 机器部署安装到3台虚拟机上安装好JDK1.2. 上传上传用工具。1.3. 解压su – hadoop(切换到hadoop用户)tar -zxvf zookeeper-3.4.5.tar.gz(解压)1.4. 重命名mv zookeeper-3.4.5 zookeeper(重命名文件夹zookeeper-3....原创 2018-11-03 22:12:02 · 62 阅读 · 0 评论 -
zookeeper 第 3篇 zookeeper结构和命令
zookeeper结构和命令 zookeeper特性1、Zookeeper:一个leader,多个follower组成的集群2、全局数据一致:每个server保存一份相同的数据副本,client无论连接到哪个server,数据都是一致的3、分布式读写,更新请求转发,由leader实施4、更新请求顺序进行,来自同一个client的更新请求按其发送顺序依次执行5、数据更新原子性,...原创 2018-11-03 22:18:23 · 139 阅读 · 0 评论 -
zookeeper 第 4 篇 zookeeper原理
zookeeper原理Zookeeper虽然在配置文件中并没有指定master和slave但是,zookeeper工作时,是有一个节点为leader,其他则为followerLeader是通过内部的选举机制临时产生的 zookeeper的选举机制(全新集群paxos)以一个简单的例子来说明整个选举的过程.假设有五台服务器组成的zookeeper集群,它们的id从1-5,同时它...原创 2018-11-03 22:19:49 · 59 阅读 · 0 评论 -
第05节 商品管理:文档操作
课程大纲 1、document数据格式2、电商网站商品管理案例:背景介绍3、简单的集群管理4、商品的CRUD操作(document CRUD操作) ----------------------------------------------------------------------------------------------------------------...原创 2019-01-18 22:53:26 · 240 阅读 · 0 评论 -
第06节:网站商品管理:多种搜索方式
课程大纲 1、query string search2、query DSL3、query filter4、full-text search5、phrase search6、highlight search -------------------------------------------------------------------------------...原创 2019-01-19 10:28:17 · 282 阅读 · 0 评论 -
第07节 电商网站商品管理:嵌套聚合,下钻分析,聚合分析
第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search{ "aggs": { "group_by_tags": { "terms": { "field": "tags" } } }} 将文本field的fielddata属性设置为true PUT /ecommerce/_...原创 2019-01-19 10:30:52 · 122 阅读 · 0 评论 -
第08 Elasticsearch的基础分布式架构
课程大纲 1、Elasticsearch对复杂分布式机制的透明隐藏特性2、Elasticsearch的垂直扩容与水平扩容3、增减或减少节点时的数据rebalance4、master节点5、节点对等的分布式架构 -------------------------------------------------------------------------------...原创 2019-01-19 10:33:09 · 103 阅读 · 0 评论 -
第09 Elasticsearch shard&replica机制 单node环境中创建index图解
课程大纲 1、shard&replica机制再次梳理2、图解单node环境下创建index是什么样子的 ------------------------------------------------------------------------------------------------ shard&replica机制再次梳理 (1)i...原创 2019-01-19 10:36:02 · 142 阅读 · 0 评论 -
第10 el node环境下replica shard 的 分配
课程大纲 图解2个node环境下replica shard是如何分配的 (1)replica shard分配:3个primary shard,3个replica shard,1 node(2)primary ---> replica同步(3)读请求:primary/replica...原创 2019-01-19 10:44:15 · 107 阅读 · 0 评论 -
第11节 elasticsearch 横向扩容过程,超出扩容极限?提升容错性?
课程大纲 图解横向扩容过程,如何超出扩容极限,以及如何提升容错性 (1)primary&replica自动负载均衡,6个shard,3 primary,3 replica(2)每个node有更少的shard,IO/CPU/Memory资源给每个shard分配更多,每个shard性能更好(3)扩容的极限,6个shard(3 primary,3 replica),最多扩...原创 2019-01-19 10:47:46 · 168 阅读 · 0 评论 -
第12节 elasticsearch 横向扩容过程,超出扩容极限?提升容错性?
课程大纲 1、图解Elasticsearch容错机制:master选举,replica容错,数据恢复 (1)9 shard,3 node(2)master node宕机,自动master选举,red(3)replica容错:新master将replica提升为primary shard,yellow(4)重启宕机node,master copy replica到该nod...原创 2019-01-19 10:49:29 · 196 阅读 · 0 评论 -
第13 节 document的核心元数据 图解剖析index创建反例
课程大纲 1、_index元数据2、_type元数据3、_id元数据 { "_index": "test_index", "_type": "test_type", "_id": "1", "_version": 1, "found": true, "_source":原创 2019-01-19 10:53:12 · 97 阅读 · 0 评论 -
第14 节 document id的手动与自动方式
课程大纲 1、手动指定document id2、自动生成document id ------------------------------------------------------------------------------------------------------------ 1、手动指定document id (1)根据应用情况来说,是否满...原创 2019-01-21 10:00:35 · 117 阅读 · 0 评论 -
第29节 :分布式文档系统_图解写一致性原理以及quorum机制深入剖析
课程大纲 (1)consistency,one(primary shard),all(all shard),quorum(default) 我们在发送任何一个增删改操作的时候,比如说put /index/type/id,都可以带上一个consistency参数,指明我们想要的写一致性是什么?put /index/type/id?consistency=quorum on...原创 2019-01-22 14:02:45 · 107 阅读 · 0 评论