摘要: 除特别注明外,本站所有文章均为原创,转载请注明地址 一.优先队列的应用 优先队列在程序开发中屡见不鲜,比如操作系统在进行进程调度时一种可行的算法是使用优先队列,当一个新的进程被fork()出来后,首先将它放到队列的最后,而操作系统内部的Scheduler负责不断地从这个优先队列中取出优先级较高的进程 阅读全文
posted @ 2017-04-24 21:54 _fred 阅读(1160) 评论(0) 推荐(2) 编辑
摘要: 一.前言 之前有个需求,是使ElasticSearch支持使用SQL进行简单查询,较新版本的ES已经支持该特性(不过貌似还是实验性质的?) ,而且git上也有elasticsearch-sql 插件,之所以决定手写一个,主要有两点原因: 1. 目前用的ES版本较老 2. elasticsearch- 阅读全文
posted @ 2019-11-01 09:53 _fred 阅读(7624) 评论(5) 推荐(3) 编辑
摘要: 1. 基础组件: Server, Service: Connector(http, https, ajp用于Apache反向代理), Engine Engine: Realm用于安全配置等,如UserDatabaseRealm Host:Valve链,比如自带的AccessLogValve可以记录访 阅读全文
posted @ 2019-10-30 17:17 _fred 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 内存回收: 有时候发现10g的Redis删掉1g的key,内存占用没啥变化,因为内存页分配,有的页面可能还存在key,整个页面不能回收。 主从同步: CAP原理:一致性 可用性 分区容忍性 redis主从是异步同步数据的,所以并不满足一致性要求(redis是最终一致性),主节点修改后,立即返回,即使 阅读全文
posted @ 2019-10-30 11:29 _fred 阅读(174) 评论(0) 推荐(0) 编辑
摘要: hash: 渐进式rehash:同时查询新旧两个hash,然后在后续定时任务以及hash的子指令中,循序渐进将旧的迁移到新的hash表 Redis应用: 1.分布式锁: 实现1:setnx+expire+del,setnx后客户端宕机怎么办,根本原因在于没有原子性 解决:redis2.8引入了原子性 阅读全文
posted @ 2019-10-30 10:12 _fred 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 上文主要介绍了Graylog的功能与架构,本篇我们来看看Graylog的源码 一. 项目启动(CmdLineTool) 启动基本做了这几件事:初始化logger,插件加载(这里用到了Java SPI机制),性能度量Metrics初始化(用的是codahale metrics,这个在开源软件中用的 还 阅读全文
posted @ 2019-10-30 09:59 _fred 阅读(1721) 评论(0) 推荐(0) 编辑
摘要: 格式:<REST Verb>/<Index>/<Type>/<ID> 集群健康:curl -u lases:1fw@2soc#3vpn -XGET 'localhost:9200/_cat/health?v&pretty' 节点:curl -u lases:1fw@2soc#3vpn -XGET ' 阅读全文
posted @ 2018-10-26 14:15 _fred 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 启动nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties &nohup ./bin/kafka-server-start.sh config/server.properties & 创建topickafka-topics. 阅读全文
posted @ 2018-10-26 14:10 _fred 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://blog.jobbole.com/102645/ 我们使用spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程。根据你使用的部署模式(deploy-mode)不同,Driver进程可能在本地启动,也可能在集群中某个工作节点上启动。Dr 阅读全文
posted @ 2018-04-04 11:33 _fred 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 1. 避免重复加载RDD 比如一份从HDFS中加载的数据 val rdd1 = sc.textFile("hdfs://url:port/test.txt"),这个test.txt只应该在你的程序中被加载一次,避免多次加载造成的性能开销。 2. 重复使用的RDD需要被缓存 Spark有数据持久化的几 阅读全文
posted @ 2018-04-04 11:11 _fred 阅读(1015) 评论(0) 推荐(0) 编辑
摘要: 一.核心概念: Kafka是一个分布式消息中间件,以集群的方式运行,可以由多个服务组成,每个服务叫做一个broker Kafka中每条消息是由一个key,一个value和时间戳构成。 Kafka会对其数据分区,每个分区都由一系列有序的、不可变的消息组成,这些消息被连续的追加到分区中。每个消息都有一个 阅读全文
posted @ 2018-04-02 10:47 _fred 阅读(171) 评论(0) 推荐(0) 编辑