自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Netty系列(1):Netty架构及分析

最近在开发分布式调度系统,采用的Netty+protobuf实现master和work之间通信的,与此同时也看了下Netty的源码,现在系统也开发完了但是总觉得有点不够,不够在哪里?就是产出还不够,所以才有了这篇文章,根据自己的理解画了Netty的架构并对服务端启动和读写数据流程做了解析一、架构二、流程解析...

2019-07-01 19:42:00 321

原创 Hive如何根据表中某个字段动态分区

使用hive储存数据时,需要对做分区,如果从kafka接收数据,将每天的数据保存一个分区(按天分区),保存分区时需要根据某个字段做动态分区,而不是傻傻的将数据写到某一个临时目录最后倒入到某一个分区,这是静态分区。 Hive动态分区步骤如下:1、建立某一个源表模拟数据源并插入一些数据create table t_test_p_source ( id string, ...

2018-11-12 15:34:00 2674

原创 2018年阅读书籍清单

2018年阅读书籍清单 2018年阅读书籍清单深入分布式缓存Scala编程Kafka技术内幕HIVE编程指南快学ScalaHbase实战Hbase权威指南 《未完》 posted @ 2018-11-09 15:02 健身男儿挑灯夜读 阅读(...) 评论(...) ...

2018-11-09 15:02:00 378

原创 【转】Hive over HBase和Hive over HDFS性能比较分析

转载:http://lxw1234.com/archives/2015/04/101.htm 环境配置:hadoop-2.0.0-cdh4.3.0 (4 nodes, 24G mem/node)hbase-0.94.6-cdh4.3.0 (4 nodes,maxHeapMB=9973/node)hive-0.10.0-cdh4.3.0 一、查询性能比较:query1:se...

2018-09-27 16:41:00 377

原创 Hive和Hbase整合

Hive只支持insert和delete操作,并不支持update操作,所以无法实施更新hive里的数据,而HBASE正好弥补了这一点,所以在某些场景下需要将hive和hbase整合起来一起使用。 整合步骤:1、编辑hive-site.xml配置文件, 添加hive.zookeeper.quorum, hbase.zookeeper.quorum属性  2、编辑hive-en...

2018-09-25 09:57:00 1305

原创 【转】怎么把本地项目和远程git仓库相连通

1. 打开在你的项目文件夹,输入下面的命令git init 输完上面的命令,文件夹中会出现一个.git文件夹,如下图所示,其他的的文件也会出现蓝色小问号的标志  2. 添加所有文件git add .注意最后的点是有用的哦 输入完成后,文件夹如下所示 3. 提交所有文件git commit -m "这里是备注信息" -a 完成后,文件夹显示如下都...

2018-09-04 10:13:00 246

原创 kafka异常问题汇总

1、报错:: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. 报错原因:producer在向kafka broker...

2018-08-27 10:08:00 17315 1

原创 【转】数据仓库ODS、DW和DM概念区分

今天看了一些专业的解释,还是对ODS、DW和DM认识不深刻,下班后花时间分别查了查它们的概念。ODS——操作性数据DW——数据仓库DM——数据集市1.数据中心整体架构  数据中心整体架构数据仓库的整理架构,各个系统的元数据通过ETL同步到操作性数据仓库ODS中,对ODS数据进行面向主题域建模形成DW(数据仓库),DM是针对某一个业务领域建立模型,具体用...

2018-06-27 15:02:00 81174

原创 【转】ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。一般可通过log_error设置mysql> select @@log_error;+---------------------+| @@log_error |+-...

2018-06-21 11:33:00 181

原创 【转】4w+1h 教你如何做用户画像


 记得14年开始做用户画像的时候,对于用户画像完全没有概念,以为是要画一幅幅图画,经过两年多的学习和理解,渐渐的总结出了一些方法和技巧,在这里就通过4个W英文字母开头和1个H英文字母开头的单词和大家分享一下我关于用户画像的理解。 本文框架一、什么是用户画像(What)       用户画像最早是由交互设计之父Alan Cooper提出perso...

2018-06-20 17:02:00 3408

原创 2018年阅读书籍清单

2018年阅读书籍清单_** 深入分布式缓存** _** Scala编程** _**Kafka技术内幕:图文详解Kafka源码设计与实现** _**HIVE编程指南**<<未完>>

2018-06-08 09:29:26 1458

原创 【博客搬家】博客搬家至优快云

【博客搬家】博客搬家至优快云, 地址:https://blog.youkuaiyun.com/zhu592665411

2018-05-28 19:36:00 703

原创 Canal的安装与使用

一、Canal介绍  Canal的原理就是它自己伪装成slave, 向mysql发送dump协议,MySQL master接收到dump请求之后推送binlog文件给slave, 也就是canal。   二、Canal安装  1. 下载Canal    wget https://github.com/alibaba/canal/releases/download/canal-1...

2018-05-28 11:52:00 2690

原创 Canal使用报错解决办法

1、 [destination = test_cancal , address = /127.0.0.1:3306 , EventParser] WARN c.a.o.s.a.i.setl.zookeeper.termin.WarningTerminProcess - nid:1[1:canal:test_cancal:java.lang.NullPointerExceptionat c...

2018-05-28 11:43:00 25939 1

原创 Linux环境安装git

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。而国外的GitHub和国内的Coding都是项目的托管平台。但是在使用Git工具的时候,第一步要学会如何安装git,本教程就手把手教大家如何手动编译安装git。1、介绍  使用Coding管理项目,上面要求使用的git版本为1.8.0以上,而很多yum源上自动安装的git版本为1.7,所以需要...

2018-05-26 19:06:00 321

原创 Zookeeper安装与配置

一、下载Zookeeper  wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.0/zookeeper-3.4.5.tar.gz 二、配置  1、配置zoo.cfgcp zoo_template.cfg zoo.cfgvim zoo.cfg      2、配置myid   在zoo.cfg中...

2018-05-22 23:39:00 205

原创 【转】Unable to load native-hadoop library for your platform(已解决)

1、增加调试信息寻找问题2、两种方式解决unable to load native-hadoop library for you platform附:libc/glibc/glib简介 参考:1、http://my.oschina.net/swuly302/blog/515853【66号公路: Hadoop Unable to load­ ­n­­ati­v­e­-­h­a­­...

2018-05-21 14:39:00 473

原创 IDEA中远程Debug调试

一、设置JVM支持远程Debug调式  由于我的应用是springboot, 所以直接使用java -jar的方法将服务启动起来。java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8006 -jar dmeo.jar --spring.profiles.active=product  注意...

2018-05-21 14:29:00 1531

原创 虚拟机如何设置静态IP

一、本机环境  Mac、VMware Fusion 10, CentOS6.8 二、设置静态IP地址  1、选择网络连接模式,选择NAT模式  注意:  1)必须要选择NAT模式,否则你的虚拟机与主机始终会在同一个网段,主机IP变了之后,虚拟机IP也会自动变化,达不到静态IP的目的  2)在虚拟机关闭状态下,点击“生成“按钮重新一个新的MAC地址   2、修改ifcf...

2018-05-20 12:30:00 3496

原创 Binlog详解

 一、介绍  binlog, 即二进制文件,他记录了MySQL所有数据的变更,并以二进制的形式存储在磁盘上 二、binlog模式  binlog有三种模式:ROW(行模式),   Statement(语句模式),   Mixed(混合模式)  ROW(行模式):记录那条数据修改了,注意:记录的是这条记录的全部数据,即使只更新了一个字段,binlog里也会记录所有字段的数据 ...

2018-05-17 20:49:00 24018

原创 什么是用户画像呢?一般用户画像的作用是什么?

什么是用户画像?简而言之,用户画像是根据用户社会属性、生活习惯和消费行为等信息而抽象出的一个标签化的用户模型。构建用户画像的核心工作即是给用户贴“标签”,而标签是通过对用户信息分析而来的高度精炼的特征标识。举例来说,如果你经常购买一些玩偶玩具,那么电商网站即可根据玩具购买的情况替你打上标签“有孩子”,甚至还可以判断出你孩子大概的年龄,贴上“有 5-10 岁的孩子”这样更为具体...

2018-05-04 16:42:00 4089

原创 【转】深度解析京东个性化推荐系统演进史

“本文摘自《决战618:探秘京东技术取胜之道》,两位作者时任京东推荐系统负责人和系统架构师。”在电商领域,推荐的价值在于挖掘用户潜在购买需求,缩短用户到商品的距离,提升用户的购物体验。京东推荐的演进史是绚丽多彩的。京东的推荐起步于2012年,当时的推荐产品甚至是基于规则匹配做的。整个推荐产品线组合就像一个个松散的原始部落一样,部落与部落之前没有任何工程、算法的交集。2013年,...

2018-04-28 17:53:00 500

原创 线程状态及他们之前如何切换

                                           

2018-04-15 22:45:00 170

原创 【转载】什么是Zero-Copy

转载:https://blog.youkuaiyun.com/u013256816/article/details/52589524 概述考虑这样一种常用的情形:你需要将静态内容(类似图片、文件)展示给用户。那么这个情形就意味着你需要先将静态内容从磁盘中拷贝出来放到一个内存buf中,然后将这个buf通过socket传输给用户,进而用户或者静态内容的展示。这看起来再正常不过了,但是实际上这是很低...

2018-04-13 11:51:00 127

原创 【转载】Hadoop NameNode 高可用 (High Availability) 实现解析

转载:https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-name-node/NameNode 高可用整体架构概述在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDFS NameNode 和 JobTracker 都存在着单点问题,这其中以 NameNode 的单点问题尤为严重。因为 NameNo...

2018-04-12 23:05:00 184

原创 【读书笔记】深入分布式缓存 第一章

什么是缓存?  缓存就是存储在计算机上的一个原始数据的复制集,以便于访问 为什么使用缓存  因为从缓存中读取数据非常,能有效的提升用户体验 系统的性能指标  指标一般包括响应时间、延迟时间、吞吐量、并发用户数和资源利用率等  响应时间是指系统对用户请求做出响应的时间,它完整的记录了整个系统处理请求时间。由于一个系统有很多的功能,而不同的功能的处理逻辑也是千差万别,因而b不...

2018-04-12 00:39:00 239

原创 【面试题】LRU算法及编码实现LRU策略缓存

概念  LRU(least recently used)就是将最近不被访问的数据给淘汰掉,LRU基于一种假设:认为最近使用过的数据将来被使用的概率也大,最近没有被访问的数据将来被使用的概率比较低。 原理  LRU一般通过链表形式来存放缓存数据,新插入或被访问的数据放在链表头部,超过一定阈值后,自动淘汰链表尾部的数据。下图很形象的说明了LRU缓存淘汰过程。(图片来自网络)步骤:...

2018-04-12 00:37:00 1826

原创 空循环导致CPU使用率很高

业务背景  业务背景就是需要将多张业务表中的数据增量同步到一张大宽表中,后台系统基于这张大宽表开展业务,所以就开发了一个数据同步工具,由中间件采集binlog消息到kafka里,然后我去消费,实现增量同步。生产环境发现的现象    在程序发布到生产环境时候,机器的CPU使用率立马被打到100%, load还在不停的上升,开始机器的配置是4核心8G内存,load可以到21,通过top...

2018-04-10 20:12:00 1133

原创 理解ZAB协议

ZAB协议  介绍  1、zab协议是为分布式协调服务zookpeer专门设计的一种支持崩溃恢复的原子广播协议  2、在zookeeper中主要依赖ZAB协议来实现数据一致性,基于该协议zk实现了一种主备模式的系统架构来保证集群中各个副本之间数据的一致性。具体就是zk使用一个单一的主进程来接收并处理客户端的事务请求(就是写请求),并采用ZAB的原子广播协议,将服务器数据的状态变更以...

2018-04-04 00:14:00 344

原创 【面试题】实现一个队列数据结构,并使用这个队列实现一个生产者消费者模式...

一、采用链表实现队列public class MyQueue { private class Node { public Node before; public Object data; public Node after; public Node(Node before, Object data, Node...

2018-03-28 21:28:00 785

原创 4. GC 算法(实现篇) - GC参考手册

您应该已经阅读了前面的章节:垃圾收集简介 - GC参考手册Java中的垃圾收集 - GC参考手册GC 算法(基础篇) - GC参考手册学习了GC算法的相关概念之后, 我们将介绍在JVM中这些算法的具体实现。首先要记住的是, 大多数JVM都需要使用两种不同的GC算法 —— 一种用来清理年轻代, 另一种用来清理老年代。我们可以选择JVM内置的各种算法。如果不通过参数明确指定垃圾...

2018-03-27 23:23:00 126

原创 2. Java中的垃圾收集 - GC参考手册

标记-清除(Mark and Sweep)是最经典的垃圾收集算法。将理论用于生产实践时, 会有很多需要优化调整的地点, 以适应具体环境。下面通过一个简单的例子, 让我们一步步记录下来, 看看如何才能保证JVM能安全持续地分配对象。您应该已经阅读了前一章: 1. 垃圾收集简介 - GC参考手册碎片整理(Fragmenting and Compacting)每次执行清除(sweepin...

2018-03-27 17:37:00 106

原创 1. 垃圾收集简介 - GC参考手册

说明:在本文中, Garbage Collection 翻译为 “垃圾收集”, garbage collector 翻译为 “垃圾收集器”;一般认为, 垃圾回收 和 垃圾收集 是同义词。Minor GC 翻译为: 小型GC; 而不是 次要GCMajor GC 翻译为: 大型GC; 而不是 主要GC原因在于,大部分情况下, 发生在年轻代的 Minor GC 次数会很多,翻译为次...

2018-03-27 16:32:00 118

原创 【转载】分布式系列文章——Paxos算法原理与推导

转载:http://linbingdong.com/2017/04/17/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E5%88%97%E6%96%87%E7%AB%A0%E2%80%94%E2%80%94Paxos%E7%AE%97%E6%B3%95%E5%8E%9F%E7%90%86%E4%B8%8E%E6%8E%A8%E5%AF%BC/Paxos算法...

2018-02-10 14:22:00 150

原创 【转载】适合程序员的画图技法

转载地址:http://www.cnblogs.com/mindwind/p/5561609.html 之前写一些技术文章时,经常有读者留言问我是用什么工具画图的。其实我感觉他们很可能问错了问题,因为我曾经为了画好图尝试过各种不同的画图工具软件,但最后发现能不能画好图和工具的关系并不大。为何?程序员不是写代码的么,为什么需要画图?很多程序员会认为写好代码就好,画好图有什么用?程...

2018-02-10 13:31:00 2041

原创 Hadoop2.x异常总结

问题1: 在执行bin/hdfs namenode -format格式化HDFS命令时,抛出异常,异常如下:16/10/26 18:32:45 ERROR namenode.NameNode: Failed to start namenode. java.lang.IllegalArgumentException: URI has an authority component ...

2018-02-08 00:01:00 229

原创 vim常用命令总结 (转)

vim常用命令总结 (转)   在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。   vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑...

2017-12-16 14:18:00 113

原创 MapReduce架构与执行流程

一、MapReduce是用于解决什么问题的?每一种技术的出现都是用来解决实际问题的,否则必将是昙花一现,那么MapReduce是用来解决什么实际的业务呢?首先来看一下MapReduce官方定义: 总结一句话:MapReduce就是批量处理海量数据的分布式计算框架。在数据规模比较小时,如果要批量处理一些数据,通常都是在凌晨跑一个或者多个定时任务,定时任务直接连接业务库,从业务库...

2017-11-12 14:02:00 274

原创 Java线上应用故障排查

 线上故障主要2种: CPU利用率很高, 内存占用率很大 一、CPU利用率很高1. top查询那个进程CPU使用率高2. 显示进程列表ps -mp pid -o THREAD,tid,time 找到了耗时最高的线程28802,占用CPU时间快两个小时了!其次将需要的线程ID转换为16进制格式:printf "%x\n" tid最后打印线程的堆栈信息:jsta...

2017-11-07 21:26:00 476

原创 原码, 反码, 补码 详解

本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式,  叫做这个数的...

2017-11-07 20:38:00 120

空空如也

空空如也

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

TA关注的人

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