Linux下从零开始部署和使用Jaeger

最近在折腾Jaeger,Jaeger官网都是介绍如何通过Docker部署,二进制部署文档基本没有(已咨询过作者,作者说没文档!你参考Docker自己部署好了!!!),所以打算写一篇Linux部署。

Jaeger

Jaeger是Uber推出的一款调用链追踪系统,类似于Zipkin和Dapper,为微服务调用追踪而生。 其主要用于多个服务调用过程追踪分析,图形化服务调用轨迹,便于快速准确定位问题。

Jaeger组成

  • 前端界面展示UI
  • 数据存储Cassandra
  • 数据查询Query
  • 数据收集处理Collector
  • 客户端代理Agent
  • 客户端库jaeger-client-*

Jaeger服务之间关系

Jaeger服务之间关系

打造所需原材料

  • Docker
  • Cassandra
  • Jaeger二进制安装包
  • Jaeger源码
  • Nginx

Docker部署

CenterOS 7 安装Docker

关于Docker部署网上到处都是,我使用的是CentOS 7,其他版本自行查找,这里就用最简单粗暴的方式安装。

yum update -y
yum -y install docker
systemctl start docker
  • 1
  • 2
  • 3

替换Docker镜像源

由于国内下载镜像比较慢,这里我将Docker镜像源替换成阿里云。 
注册一个阿里云用户,访问 https://cr.console.aliyun.com/#/accelerator 获取专属Docker加速器地址。 
如图: 
ali_docker_mirror

针对Docker客户端版本大于1.10.0的用户可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["骚年您老人家的阿里镜像加速器地址"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker

OK!Docker部署到此为止,有人会问我Jaeger用二进制部署了,为啥还需要部署Docker。这里是一个悲伤的故事,Docker是用来部署Cassandra的。因为Cassandra是Java实现的,部署要配置一大堆我不太了解的Java环境,比较麻烦,既然有Docker这种神奇何不好好利用一下呢!部署Cassandra的时候我会把存储挂在到本地硬盘,这样就避免了Docker服务异常关闭导致数据丢失了,所以使用Docker部署无伤大雅,这里又有人会问为何不用Docker部署Jaeger,这又是一件悲伤的故事!!!因为Jaeger本身只有链路跟踪,并没有更高级的业务功能(类似异常告警),所以我们可能会针对Jaeger进行二次开发。So不如自己部署一套,好用来做研究。好了废话不多说让我们继续Jaeger部署之旅吧!

Cassandra部署

Cassandra是一套开源分布式NoSQL数据库系统。由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身. 
Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。

Docker下载Cassandra

前面已经啰嗦过为什么试用Docker部署Cassandra了,这里就简单介绍如何部署.

docker search cassandra
docker pull docker.io/cassandra
  • 1
  • 2

Docker部署Cassandra集群

我准备了3台服务器

10.100.7.46
10.100.7.47
10.100.7.48
  • 1
  • 2
  • 3

10.100.7.46这台服务器作为种子点

docker run --name some-cassandra -v  www.qicaiyulept.cn /httx/cassandra/ www.vboyule.cn  data:/var/lib/cassandra -d -e CASSANDRA_BROADCAST_ADDRESS=10.100.7.www.tkcyl1.com/ 47 -p 7000:7000 -p 9042:9042 -e CASSANDRA_SEEDS=10.100.7.46 cassandra:latest docker run --name some-cassandra -v www.douniuyuLept.com /httx/cassandra/data:/var/lib/cassandra -d -e CASSANDRA_BROADCAST_ADDRESS=10.100.7.48 -p 7000:7000 -p 9042:9042 -e CASSANDRA_SEEDS=10.100.7.46 cassandra:latest docker run --name some-cassandra -v www.caihonyule.com /httx/cassandra/data:/var/lib/cassandra -d -e CASSANDRA_BROADCAST_ADDRESS=10.100.7.48 -p 7000:7000 -p 9042:9042 -e CASSANDRA_SEEDS=10.100.7.46 cassandra:latest
  • 1
  • 2
  • 3

/httx/cassandra/data这个是我的数据本地保存目录,9042:9042是将客户端链接地址暴露出来。简单吧!

导入Jaeger表结构

导入Jaeger表结构,这里不得不吐槽一下Jaeger!Jaeger二进制安装包里根本没有数据sql文件,而且没有任何文档告诉你SQL文件在哪里找,没安装文档!我表示是崩溃的,最终在源码目录的一个角落中找到SQL文件,路径展示一下:

$GOPATH/src/github.com/jaegertracing/jaeger/plugin/storage/cassandra/schema/v001.cql.tmpl
格式:
cqlsh -h HOST -p PORT -f fileName
cqlsh 10.100.7.46 -f $GOPATH/src/github.com/jaegertracing/jaeger/plugin/storage/cassandra/schema/v001.cql.tmpl 

上面的命令是我搜索来的,因为在导入之前我已经手动一条一条加进去了(>﹏<)!如果不好用的话,读者可以直接cqlsh一条一条黏上去!!!! 

Jaeger部署

ok! 现在正式进入主题:Jaeger安装。- Jaeger二进制安装包

tar -zxvf jaeger-1.4.1-linux-amd64.tar.gz mv jaeger-1.4.1-linux-amd64 jaeger
  • 1
  • 2

Collector部署

mkdir collector
mv jaeger-collector collector/collector nohup ./collector --cassandra.keyspace=jaeger_v1_datacenter1 --cassandra.servers=10.100.7.46,10.100.7.47,10.100.7.48 --collector.zipkin.http-port=9411 1>1.log 2>2.log &

Query部署

mkdir query
mv jaeger-query query/query
mv jaeger-ui-build/build query/ cd query nohup ./query www.taohuayuan178.com --cassandra.keyspace jaeger_v1_datacenter1 --cassandra.servers 10.100.7.46,10.100.7.47,10.100.7.48 --query.static-files=./build 1>1.log 2>2.log &ok 访问你Query的地址 htpp://queryIp:16686 就可以看到久违的jaeger的页面了! 

image

Agent部署

Agent 部署就比较简单了,指定collector地址就OK了!

nohup ./jaeger-agent  --collector.host-port=10.100.7.46:14267 1>1.log 2>2.log &
  • 1

See you!

转载于:https://www.cnblogs.com/qwangxiao/p/9008186.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rsync实现负载均衡集群文件同步,搭建线上测试部署环境

此次测试使用三台服务器&#xff0c;CentOS7(1511)版本&#xff1a; 192.168.254.1 web服务器线上测试环境源站 192.168.254.2 web服务器 192.168.254.3 web服务器 其中2 3 服务器作为集群中的web服务器&#xff0c;对外开放&#xff0c;是负载均衡集群的部分。 其中1 服…

python 全栈开发,Day36(作业讲解(大文件下载以及进度条展示),socket的更多方法介绍,验证客户端链接的合法性hmac,socketserver)...

先来回顾一下昨天的内容 黏包现象粘包现象的成因 &#xff1a;   tcp协议的特点 面向流的 为了保证可靠传输 所以有很多优化的机制   无边界 所有在连接建立的基础上传递的数据之间没有界限   收发消息很有可能不完全相等   缓存机制&#xff0c;导致没发过去的消息会在…

Python中xPath技术和BeautifulSoup的使用

xpath基本知识 XPath语法&#xff1a;使用路径表达式来选取XML或HTML文档中的节点或节点集 路径表达式 nodename:表示选取此节点的所有子节点 / &#xff1a; 表示从根节点选取 // &#xff1a;选择任意位置的某个节点。 . &#xff1a;选取当前节点 .. &#xff1a;选…

Redis集群搭建使用

一:关于redis cluster 1:redis cluster的现状 目前redis支持的cluster特性 1):节点自动发现 2):slave->master 选举,集群容错 3):Hot resharding:在线分片 4):进群管理:cluster xxx 5):基于配置(nodes-port.conf)的集群管理 6):ASK 转向/MOVED 转向机制. 2:redis cluster 架…

为Spring Cloud Config Server配置远程git仓库

简介 虽然在开发过程&#xff0c;在本地创建git仓库操作起来非常方便&#xff0c;但是在实际项目应用中&#xff0c;多个项目组需要通过一个中心服务器来共享配置&#xff0c;所以Spring Cloud配置中心支持远程git仓库&#xff0c;以使分散的项目组更方便的进行协作。 基础环境…

Linux一个命令创建多个目录:seq命令

mkdir $(seq -f %g 1 10) 其他seq用法如下&#xff1a; 它還有三個選項-f, --formatFORMAT use printf style floating-point FORMAT (default: %g)-s, --separatorSTRING use STRING to separate numbers (default: \n)-w, --equal-width equalize width by pad…

div水平垂直居中的六种方法

在平时&#xff0c;我们经常会碰到让一个div框针对某个模块上下左右都居中&#xff08;水平垂直居中&#xff09;&#xff0c;其实针对这种情况&#xff0c;我们有多种方法实现。 方法一: 绝对定位方法&#xff1a;不确定当前div的宽度和高度&#xff0c;采用 transform: trans…

Redis集群监控及Redis桌面客户端

之前在生产环境部署了Redis集群&#xff0c;一直苦于没有工具监控&#xff0c;最近找了下网上推荐redmon和Redislive的比较多&#xff0c;查看了两个项目的github,都几年没有更新&#xff0c;这两个项目应该没有人在维护了&#xff0c;如果哪位有更好的替代方案麻烦告知&#x…

phpcms 添加稿件到栏目 add_content

private $db; private $content_model; public function __construct() {parent::__construct ();$this->content_model pc_base::load_model(content_model);$this->siteid 1; }public function add(){$info[title]标题;$info[description]摘要;$info[content]内容;$i…

Python基础学习数值运算之内建函数

1、abs(num) 返回num的绝对值 2、coerce(num1,num2) 将num1和num2转换为同一类型&#xff0c;然后以一个无级的形式返回 3、divmod(num1,num2) 除法取余运算的结合。返回一个元组(num1/num2,num1%num2)。对浮点型和复数的商进行下舍入&#xff08;复数仅取实数部分的商&am…

GIT安装部署

git git简介 Git不仅是一款开源的分布式版本控制系统&#xff0c;而且有其独特的功能特性&#xff0c;例如大多数的分布式版本控制系统只会记录每次文件的变化&#xff0c;说白了就是只会关心文件的内容变化差异&#xff0c;而Git则是关注于文件数据整体的变化&#xff0c;直接…

mac远程桌面登陆windows

找了苹果官方网站&#xff0c;有付费的&#xff0c;找了appstore 还是没有免费使用的&#xff0c;最后找了微软官方非appstore下载的 Microsoft_Remote_Desktop_Beta 在此下载 http://mac.softpedia.com/get/Utilities/Microsoft-Remote-Desktop-Connection.shtml 实在下载不…

牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)

传送门 &#xff1a;B题&#xff1a;点我 C题&#xff1a; 点我 题目描述 有n个队伍&#xff0c;每个队伍的人数小于等于5&#xff0c;每辆车最多坐5个人&#xff0c;要求一个队伍的人都在一辆车上&#xff0c;求最少的车数 输入描述: 第一行n第二行n个数&#xff0c;表示每个队…

分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例

原文地址&#xff1a;http://lxw1234.com/archives/2016/04/643.htm Apache Kylin是一个开源的分布式分析引擎&#xff0c;提供Hadoop之上的SQL查询接口及多维分析&#xff08;OLAP&#xff09;能力以支持超大规模数据&#xff0c;最初由eBay 开发并贡献至开源社区。它能在亚秒…

Apache Kylin原理学习之Cube的创建与Build

原文地址&#xff1a;http://lxw1234.com/archives/2016/05/655.htm Cube是一种典型的多维数据分析技术&#xff0c;一个Cube可以有多个事实表&#xff0c;多个维表构成。如果您还不了解这些概念&#xff0c;建议您搜索下数据仓库、OLAP、Cube、星型模型、事实表、维度表等等。…

5-12

1,每个递归函数都有两部分&#xff0c;基线条件和递归条件 base case and recursive case 2,调用一个函数的时候&#xff0c;其他的函数调用会暂停并处于未完成的状态 3.调用栈会消耗大量的内存&#xff0c;栈很高的时候意味着计算机要存储大量的函数调用信息&#xff0c;此时的…

kylin与superset集成实现数据可视化

原文地址&#xff1a;http://minirick.duapp.com/kylinyu-supersetji-cheng-shi-xian-shu-ju-ke-shi-hua/?utm_sourcetuicool&utm_mediumreferral apache kylin是一个开源分布式引擎&#xff0c;提供Hadoop之上的SQL查询接口及多维分析&#xff08;OLAP&#xff09;能力以…

Ambari离线部署Hadoop集群踩到的坑

1、远程拷贝HDP组件不全导致安装client时缺少rpm包&#xff0c;手动拷贝解决 2、安装HAWQ&#xff0c;启动时报错 passwordlell ssh hawq hosts &#xff0c;hawq master 和其他主机机拷贝文件输入密码受限&#xff0c;两方面原因&#xff1a; 一 root 用户 ssh 无密登录时 权…

2016012026 管凌波 散列函数的应用及其安全性

2016012026 管凌波 散列函数的应用及其安全性 一、散列函数是什么。 散列函数即为Hash函数&#xff0c;就是把任意长度的输入&#xff08;预映射&#xff09;&#xff0c;通过散列算法&#xff0c;变换成固定长度的输出&#xff0c;该输出就是散列值。这种转换是一种压缩映射&a…

Team Foundation Server (TFS) 2015 安装指导

原文地址&#xff1a;http://www.cnblogs.com/danzhang/p/4718035.html http://www.cnblogs.com/danzhang 张洪君 微软ALM MVP 1. 概述 微软于8月6日发布了大家期待已久的TFS 2015正式版&#xff0c; https://www.visualstudio.com/en-us/news/tfs2015-vs.aspx &#xff0c;…