pinpoint是韩国人开源的 APM (Application Performance Management/应用性能管理)工具 - Pinpoint。它基于google Dapper开发,目标就是为n(n>=1)层架构开发新的跟踪平台,为n层架构的系统提供解决方案。pinpoint能够对基于java的大规模分布式系统和应用做调用链的跟踪。pinpoint提供了一个web页面展示分布式系统的拓扑图以及系统这各个组件之间关系。pinpoint 有3个主要组件组成:日志收集器[Collector]、控制台[Web]、代理[Agent],采用HBase进行存储。请结合下文的Pinpoin架构图来理解各组件之间如何分工合作的。
Pinpoint的特点如下:
- 分布式事务跟踪,跟踪跨分布式应用的消息
- 自动检测应用拓扑,帮助你搞清楚应用的架构
- 水平扩展以便支持大规模服务器集群
- 提供代码级别的可见性以便轻松定位失败点和瓶颈
- 使用字节码增强技术,添加新功能而无需修改代码
- 安装探针不需要修改哪怕一行代码及trace server端部署简单,支持hdfs存储
- 具有简单的阀值触发报警功能
- 移植性比较强的,会比较讨人喜欢(相比cat)
- 自定义插件功能(参考https://github.com/naver/pinpoint/wiki/Pinpoint-Plugin-Developer-Guide)
本文的部署方式也适用于最新的1.8.3版。
集群角色规划
IP address |
Hostname |
Service |
10.203.11.2 |
cdh-test-1-4 |
zk,nn1,zkfc,hmaster,pp_collector,pp_web |
10.203.11.3 |
cdh-test-1-5 |
zk,nn2,zkfc,hmaster,pp_agent |
10.203.11.4 |
cdh-test-1-1 |
zk,datanode,nm,hrs,jn |
10.203.11.5 |
cdh-test-1-3 |
datanode,nm,hrs,jn |
10.203.11.6 |
cdh-test-1-2 |
datanode,nm,hrs,jn |
Pinpoint collctor采集器和web服务部署在4号机:
pinpoint agent和测试用的项目(tomcat服务)部署在5号机:
Pinpoint部署步骤
1、在cdh-test-1-4主机配JDK、装hbase、装Pinpoint的collector和web组件
1.1 系统需要安装Java环境
从oracle官网下载、安装jdk-1.8.0后,在/etc/profile文件配置环境变量
export PATH=$PATH:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/bin
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
export HADOOP_HOME=/tony_soft/hadoop-2.8.4
export HBASE_HOME=/tony_soft/hbase-1.4.9
export ZOOKEEPER_HOME=/tony_soft/zookeeper-3.4.14
使配置生效:source /etc/profile
1.2 安装Hbase
解压Hbase放入指定目录
修改 /hbase/conf/hbase-env.sh 中的JAVA_HOME环境变量位置
export JAVA_HOME=/usr/java/jdk8/
在使用JDK8的情况下, hbase-env.sh中这两行可以注释,避免启动警告。
修改Hbase的配置信息
[hadoop@cdh-test-1-4 ~]$ grep --color -C 3 "hbase.rootdir" $HBASE_HOME/conf/hbase-site.xml
-->
<configuration>
<property>
<name>h