
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
这里不去分析哪种日志采集方式最好,不对flume、logstash等其他软件做比较,我这边只会介绍适合我们公司使用的系统。由于我们公司部署的项目采用的都是java或者scala项目,日志的框架是log4j或者logback。日志的采集应该是不侵入或者最少侵入对接系统,所以我们使用轻量级的方式,自定义log4j和logback的kafka appender,将log输出的日志同时走kafkaa
在平时的工作中如果将数据库进行了分库分表,那么肯定需要分布式唯一ID的生成策略。rpc trace跟踪模块也需要一个分布式唯一ID的生成器,本文介绍基于snowflake改造的分布式唯一ID生成策略。根据snowflake的算法,做了些许改变,唯一ID是一个int64的值,第一位占位,接下来40位为毫秒级的时间,接下来13位(支持8192个)为app和host组合的分配的值(即在N个服务器上每个服
1. hive中join就是一条select语句,其个性
1. order by Hive中的
1. 我们知道mapreduce天生适合作排序,由于他有一个shuffer的过程,当数据量很少的时候我们可以把reduce的num设置成1来进行排序,但是如果数据量很大,在一个reduce上处理不过来或者处理时间太长,那么我们就需要重新考虑这个排序(需要设置多个reduce)2. 假设我们现在的数据是这样的,每个数字占一行,如:6156436515549347562
1. 我们知道mapreduce天生适合作排序,由于他有一个shuffer的过程,当数据量很少的时候我们可以把reduce的num设置成1来进行排序,但是如果数据量很大,在一个reduce上处理不过来或者处理时间太长,那么我们就需要重新考虑这个排序(需要设置多个reduce)2. 假设我们现在的数据是这样的,每个数字占一行,如:6156436515549347562
为了做持续的集成和部署,引入了jenkins,利用jenkins来构建应用的docker镜像并push到私有仓库,然后再基于应用的docker镜像来发布项目,这样减少了很多的手动操作,基本能实现持续集成和持续部署。项目基本骨架该项目是gradle的项目,代码类似于https://github.com/JThink/SkyEye/tree/master/skyeye-alarm,这里除了源码和gra
docker部署一个服务将会有多种方式,本文将一步步介绍。创建应用镜像(简单的取队列发邮箱的项目,见:https://github.com/JThink/SkyEye/tree/master/skyeye-alarm)Dockerfile# build the base image: jdk# this is the docker file, use the ubuntu 14.04-jdk7#
接上文介绍docker的编排工具来部署,这里采用原生的compose方式,以后再介绍k8s如何做。本文介绍的例子为:https://github.com/JThink/SkyEye,4个服务提供了一组完整的应用。直接上docker-compose.ymlversion: '3'services: skyeye-alarm: image: 192.168.xx.xx:5000/xxx/sky







