logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

从零到日志采集索引可视化、监控报警、rpc trace跟踪-自定义日志框架

这里不去分析哪种日志采集方式最好,不对flume、logstash等其他软件做比较,我这边只会介绍适合我们公司使用的系统。由于我们公司部署的项目采用的都是java或者scala项目,日志的框架是log4j或者logback。日志的采集应该是不侵入或者最少侵入对接系统,所以我们使用轻量级的方式,自定义log4j和logback的kafka appender,将log输出的日志同时走kafkaa

#kafka
从零到日志采集索引可视化、监控报警、rpc trace跟踪-分布式唯一ID生成

在平时的工作中如果将数据库进行了分库分表,那么肯定需要分布式唯一ID的生成策略。rpc trace跟踪模块也需要一个分布式唯一ID的生成器,本文介绍基于snowflake改造的分布式唯一ID生成策略。根据snowflake的算法,做了些许改变,唯一ID是一个int64的值,第一位占位,接下来40位为毫秒级的时间,接下来13位(支持8192个)为app和host组合的分配的值(即在N个服务器上每个服

MapReduce实现hive join操作

1. hive中join就是一条select语句,其个性

#mapreduce#hive
hive安装配置

1. hive是基于hdfs的一个数据仓库

#hive#大数据
Hadoop MapReduce做大数据排序

1. 我们知道mapreduce天生适合作排序,由于他有一个shuffer的过程,当数据量很少的时候我们可以把reduce的num设置成1来进行排序,但是如果数据量很大,在一个reduce上处理不过来或者处理时间太长,那么我们就需要重新考虑这个排序(需要设置多个reduce)2. 假设我们现在的数据是这样的,每个数字占一行,如:6156436515549347562

#mapreduce#hadoop#大数据
Hadoop MapReduce做大数据排序

1. 我们知道mapreduce天生适合作排序,由于他有一个shuffer的过程,当数据量很少的时候我们可以把reduce的num设置成1来进行排序,但是如果数据量很大,在一个reduce上处理不过来或者处理时间太长,那么我们就需要重新考虑这个排序(需要设置多个reduce)2. 假设我们现在的数据是这样的,每个数字占一行,如:6156436515549347562

#mapreduce#hadoop#大数据
基于jenkins构建应用的docker镜像做持续集成和部署

为了做持续的集成和部署,引入了jenkins,利用jenkins来构建应用的docker镜像并push到私有仓库,然后再基于应用的docker镜像来发布项目,这样减少了很多的手动操作,基本能实现持续集成和持续部署。项目基本骨架该项目是gradle的项目,代码类似于https://github.com/JThink/SkyEye/tree/master/skyeye-alarm,这里除了源码和gra

#docker#jenkins
基于docker的应用服务部署

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
基于docker compose的应用服务部署

接上文介绍docker的编排工具来部署,这里采用原生的compose方式,以后再介绍k8s如何做。本文介绍的例子为:https://github.com/JThink/SkyEye,4个服务提供了一组完整的应用。直接上docker-compose.ymlversion: '3'services:  skyeye-alarm: image: 192.168.xx.xx:5000/xxx/sky

#docker
    共 14 条
  • 1
  • 2
  • 请选择