前面的几篇文章我们聊了基于Metrics的监控Prometheus,利用Prometheus和Grafana可以全方位监控你的服务器及应用的性能指标,在出现异常时利用Alertmanager告警及时通知运维处理.今天我们聊聊基于Trace的分布式跟踪系统 - SkyWalking 初识SkyWalking 应用场景 随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个…
上一篇文章我们搭建了基于SkyWalking分布式跟踪环境,今天聊聊使用SkyWalking监控我们的微服务(DUBBO) 服务案例 假设你有个订单微服务,包含以下组件 MySQL数据库分表分库(2台) 生产者(2台) dubbo-provider 消费者 dubbo-consumer 网络拓扑图如下 生产者的关键代码 @Service public class OrderServiceImpl implements OrderService { @Autowired protected Ord…
通过前面2篇文章我们搭建了SW的基础环境,监控了微服务,能了解所有服务的运行情况.但是当出现服务响应慢,接口耗时严重时我们需要立即定位到问题,这就需要我们今天的主角--监控告警,同时此篇也是SW系列的最后一篇. UI参数 首先我们认识一下SW DashBoard上的几个关键参数,如下图所示 告警配置 告警流程 skywalking发送告警的基本原理是每隔一段时间轮询skywalking-collector收集到的链路追踪的数据,再根据所配置的告警规则(如服务响应时间.服务响应时间百分比)等,如果…
摘要: 简单介绍使用Spring+Shiro搭建基于Redis的分布式权限系统. 这篇主要介绍Shiro如何与redis结合搭建分布式权限系统,至于如何使用和配置Shiro就不多说了.完整实例下载地址:https://git.oschina.net/zhmlvft/spring_shiro_redis 要实现分布式,主要需要解决2个大问题. 第一个解决shiro  session共享的问题.这个可以通过自定义sessionDao实现.继承 CachingSessionDao. public cl…
通过上一节<微服务之分布式跟踪系统(springboot+zipkin)>我们简单熟悉了zipkin的使用,但是收集的数据都保存在内存中重启后数据丢失,不过zipkin的Storage除了内存,还有Cassandra.MYSQL.ElasticSearch. 二.zipkin的各种Storage配置简介 zipkin存在一些公用的配置,同时存在一些私有的配置(详细信息地址为:https://github.com/openzipkin/zipkin/tree/master/zipkin-serv…
前言 我们为啥需要全文搜索 首先,我们来列举一下关系型数据库中的几种模糊查询 MySql : 一般情况下LIKE 模糊查询  SELECT * FROM `LhzxUsers` WHERE UserName LIKE '%o%' 模糊查询高效的方法  LOCATE('substr',str,pos)方法  SELECT * FROM `LhzxUsers` WHERE LOCATE('O',UserName) >0 解释:返回 substr 在 str 中第一次出现的位置,如果 substr 在…
一.软件准备 scala-2.11.8.tgz spark-1.6.1-bin-hadoop2.6.tgz 二.Scala 安装 1.master 机器 (1)下载 scala-2.11.8.tgz, 解压到 /opt 目录下,即: /opt/scala-2.11.8. (2)修改 scala-2.11.8 目录所属用户和用户组. ? 1 sudo chown -R hadoop:hadoop scala-2.11.8 (3)修改环境变量文件 .bashrc , 添加以下内容. ? 1 2 3…
HBase分布式集群环境搭建成功后,连续4.5天实验客户端Map/Reduce程序开发,这方面的代码网上多得是,写个测试代码非常容易,可是真正运行起来可说是历经挫折.下面就是我最终调通并让程序在集群上运行起来的一些经验教训. 一.首先说一下我的环境: 1,集群的环境配置请见这篇博文. 2,开发客户机环境:操作系统是CentOS6.5,JDK版本是1.7.0-60,开发工具是Eclipse(原始安装是从google的ADT网站下载的ADT专用开发环境,后来加装了Java企业开发的工具,启动Flas…
1. 搭建前准备 示例共三台主机,主机IP映射信息如下: 192.168.32.101 s1 192.168.32.102 s2 192.168.32.103 s3 2.下载ZooKeeper, 以 zookeeper-3.4.14 为例,下载地址如下: https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz 3.复制下载好的zookeeper-3.4.14.ta…
1. 在Apache官网下载Hadoop 下载地址:http://hadoop.apache.org/releases.html 选择对应版本的二进制文件进行下载 2.解压配置 以hadoop-2.6.5.tar.gz为例 解压文件 tar -zxvf hadoop-2.6.5.tar.gz 移动到/opt 目录下 mv hadoop-2.6.5 /opt 配置JDK环境变量 追加Hadoop的bin和sbin目录到环境变量PATH中,这里不多讲. 使用 source命令使配置立即生效 例如:s…
思路: 先在主机s1上安装配置,然后远程复制到其它两台主机s2.s3上, 并分别修改配置文件server.properties中的broker.id属性. 1. 搭建前准备 示例共三台主机,主机IP映射信息如下: 192.168.32.101 s1 192.168.32.102 s2 192.168.32.103 s3 搭建ZooKeeper 集群,搭建步骤参考: https://www.cnblogs.com/jonban/p/zookeeper.html 2.下载 Kafka 下载地址: h…
基于kubuntu的环境搭建 系统: kubuntu 14.04 中文输入法: SICM ibus fcitx:sougou 中文输入法的安装比较复杂,由于各种的不兼容,可能会出现各种的问题: 终端配置: 默认终端: konsole (需要添加全局快捷键) 其他: yakuake (方便实用) shell: 默认:bash 其他:Zsh (完全兼容bash,其自动补全和重定向功能强大,可以修改为当前用户的默认shell) 记事本: 默认: kate (相当于ubuntu中的gedit) subl…
本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描述,自行百度) 安装JDK1.7(64位). 安装Hadoop2.2(稳定版本64位) 注意:以上三者版本需要统一,必须同为64位/32位 1.安装JDK1.7 下载JDK1.7,然后拷贝到指定目录 cd /usr/local/ 解压缩: 配置环境变量: vim /etc/profile.d/jav…
标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9315560/1901284 0.说明 使用Nginx可以配置基于域名的虚拟主机.基于端口的虚拟主机和基于端口的虚拟主机,比较常用的是基于域名的虚拟主机,这里要做的配置是基于域名的虚拟主机,并且是配置多个基于域名的虚拟主机. 关于Nginx配置文件的说明可以参考官方文档,同时也可以参考老男孩老师的书…
ELK:Elasticsearch  Logstash Kibana Elasticsearch:是基于JSON的分布式搜索和分析引擎,专为实现水平扩展.高可用和管理便捷性而设计 Logstash:是动态数据收集管道,拥有可扩展的插件生态系统 Kibana:能够已图形化呈现数据,并且具有可扩展的用户界面 官网:www.elastic.co 0.自行安装好JDK环境 1.从官网下载这三款产品 版本:6.2.4 这里我选择的是.tar.gz文件 2.解压文件 创建文件夹:/home/holder/z…
Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows:1.系统变量→新建 JAVA_HOME 变量E:\Java\jdk1.7.0 jdk安装目录 2.系统变量→寻找 Path 变量→编辑在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;添加SDK路径下的tools文件夹与platform_tools文件夹 3.系统变量→新建 CLASSPATH 变量变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOM…
一.基于Docker部署GitLab环境搭建 1.下载镜像 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.创建GitLab 的配置 (etc) . 日志 (log) .数据 (data) 放到容器之外, 便于日后升级, 因此先创建这三个目录 mkdir -p /mnt/gitlab/etc mkdir -p /mnt/gitlab/log mkdir -p /mnt/gitlab/data 3.运行GitLab容器 docker run \ --deta…
写在前面 前几个月在公司用vue3和ts写项目,想巩固一下基础,于是我想起了去年基于JavaScript和Jest搭建的刷题环境,不如,给它搞个加强版,结合Typescript和Jest 搞一个刷题环境,下面是我的一些使用心得,分享给大家. 介绍 Typescript是JavaScript的超集,是前端工程师需要掌握的一门语言.Jest是一个测试框架,具体的可以看我早年写的文章https://www.cnblogs.com/cnroadbridge/p/13524099.html, Babel是…
原文传送门(http://blog.csdn.net/bingtianxuelong/article/details/17843111) 版本说明:     V1:         2014-2-13更新,红色字体代表最近一次更新的内容.     V2:             2014-3-30  更新,上一版本有很多读者反应说最后还是无法通过微信 token 认证,此版本特意解决这个问题.红色字体代表最近一次更新的内容.   至读者:     对于版本 v1 不能成功的问题,我对此深表歉意,…
一.JDK安装 1.执行命令:cd Downloads/ 2.上 传:jdk-8u111-linux-x64.tar.gz 到Downloads 3.执行命令:tar -zxvf jdk-8u111-linux-x64.tar.gz 4.执行命令:mv jdk1.8.0_111 ~/soft/jdk1.8 5.执行命令:vim ~/.bash_profile 6.在文件末尾插入如下内容: export JAVA_HOME=/home/redhat/soft/jdk1.8 export JRE_H…
一.简介 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用. 更多介绍,请访问官网: http://www.xuxueli.com/xxl-job/#/ 接下来,本文将详细介绍,如何安装XXL-JOB 本文所使用的操作系统为: ubuntu-16.04.5-server-amd64 二.安装MySQL(docker) 安装方式 xxl-job 依赖 mysql,所以必须要安装mysql才行!安装my…
为解决分布式环境下定时任务的可靠性,稳定性,只执行一次的特性,我找到了个大众点评开源的分布式调度任务解决完整系统,下面我将一步步深入解读该系统,从基本的使用到源码的探究 下载 https://github.com/xuxueli/xxl-job ,该项目目前更新仍然活跃,我使用的是1.9.1版本 搭建 它的文档介绍还是很全面的,这里为了最快的使用并看出效果,我来列出最简洁的搭建步骤 在自己的mysql中执行doc/db/tables_xxl_job.sql该文件,该文件的作用是为quartz搭建…
这篇文章介绍一下在微服务(springboot开发)的项目中使用pintpoint监控的过程及效果展示. 背景 随着项目微服务的进行,微服务数量逐渐增加,服务间的调用也越来越复杂,我们急切需要一个APM工具帮我们监控各个服务的性能及对服务间的调用进行跟踪,而通过调研多个开源APM工具后,最终我们选择了pintpoint.github地址是:pinpoint, 选择它有4个方面原因: pinpoint是基于java开发的,利于项目后期对源代码的修改 集成pinpoint不需要修改一行代码 pinp…
准备: 两台配置CentOS 7.3的阿里云ECS服务器: hadoop-2.7.3.tar.gz安装包: jdk-8u77-linux-x64.tar.gz安装包: hostname及IP的配置: 更改主机名: 由于系统为CentOS 7,可以直接使用‘hostnamectl set-hostname 主机名’来修改,修改完毕后重新shell登录或者重启服务器即可. hostnamectl set-hostname master exit ssh root@master 1 hostnamec…
测试环境:Ubuntu 14.04.5 LTS J2ME背景知识及PhoneME介绍 J2ME相关介绍 在正式开始介绍J2ME之前,这里我列出一些常见名词,方便与下文参照:J2ME(Java2 Platform, Micro Edition) Java2平台微型版CLDC(Connected, Limited Device Configuration) 连接受限设备配置CDC(Connected Device Configuration)连接设备配置MIDP(Mobile Information…
一.引言    本套学习笔记的开发环境是Windows 10 专业版和Android Studio 的最新版1.3.1. Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试.    笔者没有怎么使用过Eclipse做Android学习,但是基于Android Studio类似于VS的项目架构,还是偏爱Android Studio这个IDE,没…
1. 设置免密登录 (1) 新建普通用户hadoop:useradd hadoop(2) 在主节点master上生成密钥对,执行命令ssh-keygen -t rsa便会在home文件夹下生成 .ssh 文件以及id_rsa和id_rsa.pub文件 注意:.ssh文件夹的权限为700,否则会影响其他机器的免密登录(3) 执行命令: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 authorized_keys #修改文件的权…
环境介绍 本文使用虚拟机unbutu18+docker.本unbutu18系统IP地址为:192.168.150.134 大家在使用时记得将此地址换成自己的实际地址. docker的安装可参考:https://www.cnblogs.com/sunyuliang/p/11422674.html Skywalking简单介绍 Skywalking是一个应用性能管理(APM)系统,具有服务器性能监测,应用程序间调用关系及性能监测等功能,Skywalking分为服务端.管理界面.以及嵌入到程序中的探针…
本篇博文中谈及的Hadoop和HBase都是单机版,简单了解. 首先在Ubuntu上搭建Hadoop开发环境,主要参考另外一篇博客,仔细照做并解决出现的问题即可. 地址:http://www.powerxing.com/install-hadoop-2-4-1-single-node/ 这篇文章的思路很清晰,按顺序执行:1 创建Hadoop用户:2 安装SSH server和配置SSH无密码登录:3 安装java环境:4 安装Hadoop(本篇的版本是2.6.0) 然后,搞定完Hadoop环境后…
文章不是简单的的Ctrl C与V,而是一个字一个标点符号慢慢写出来的.我认为这才是是对读者的负责,本教程由技术爱好者成笑笑(博客:http://www.chengxiaoxiao.com/)写作完成.如有转载,请声明出处. 主要内容 Memcache原理及介绍 Memcache安装及使用 C#的Memcache Demo Memcache介绍 假如现在我们的服务器从一台增加到三台.首先需要解决的问题就是如何共享用户的登录的状态.需要解决如上问题我们通常会有如下几个方案: 1.进程外Session…