您的位置:首页 > 其它

PinPoint安装部署以及我遇上的那点儿坑

2017-07-20 16:56 453 查看
PinPoint安装部署以及我遇上的那点儿坑

PinPoint采集器部署、配置Tomcat和Dubbo服务

PinPoint使用教程

PinPoint踩过的一些坑

HBase和PinPoint分别部署在不同服务器上

PinPoint实现邮件告警

写在前面的话:本文严格意义上讲不属于纯粹的原创文章,某些步骤与网上的安装教程相同。但是我在按照网上的一篇被浏览最多的部署教程安装时,还是遇到了许多坑,于是这篇blog属于pinpoint界的填坑半原创文。(如有雷同,请按照本教程执行,因为本教程在突出本人原创填坑的基础上,囊(chao)括(xi)了网上最优秀的安装教程)

1.前期准备

1.1准备两台服务器,分别用来安装pinpoint和pinpoint-agent

我安装它用到的2台服务器,一台主要部署pinpoint的主程序,一台主要部署pinpoint-agent。配置如下:



1.2下载需要的资源

pinpoint:https://github.com/naver/pinpoint

我将需要的资源都整合起来了,上传至百度网盘

百度网盘: < 链接: https://pan.baidu.com/s/1pLNUuyZ 密码: ucpg

1.3获取需要的依赖包

进入/usr/local目录,创建一个pp_res的资源目录,用来存放需要安装的包

cd /usr/local

mkdir pp_res


将需要的文件上传到115服务器pp_res文件夹下:

jdk-8u131-linux-x64.tar.gz — Java运行环境

hbase-1.2.6-bin.tar.gz — 数据库,用来存储监控信息

apache-tomcat-8.0.36.tar.gz — Web服务器

pinpoint-collector-1.6.2.war — pp的控制器

pinpoint-web-1.6.2.war — pp展示页面

pp-collector.init — 用来快速启动pp-col,不要也可以

pp-web.init — 用来快速启动pp-web,不要也可以

2. 环境配置(如已配置java环境,请直接跳转至第三步)

2.1 配置jdk

cd /usr/local/pp_res/

tar -zxvf jdk-8u131-linux-x64.tar.gz

mkdir /usr/java

mv jdk1.8.0_131/ /usr/java/jdk18


配置java环境变量

vi /etc/profile


将下列复制到profile的最后一行中

export JAVA_HOME=/usr/java/jdk18

export PATH=$PATH:$JAVA_HOME/bin


让环境变量生效

source /etc/profile


测试java的环境变量是否配置好了

[root@localhost pp_res]# java -version

java version "1.8.0_131"


3.安装hbase

pinpoint收集来的测试数据,主要是存在Hbase数据库的。所以它可以收集大量的数据,可以进行更加详细的分析。

3.1 将Hbase解压,并且放入指定目录

cd /usr/local/pp_res/

tar -zxvf hbase-1.2.6-bin.tar.gz

mkdir -p /data/service

mv hbase-1.2.6/ /data/service/hbase


3.2 修改hbase-env.sh的JAVA_HOME环境变量位置

cd /data/service/hbase/conf/

vi hbase-env.sh


在27行左右的位置,修改如下

export JAVA_HOME=/usr/java/jdk18/


注意:如果你的服务器已配置java环境,跳过了第一步直接来到的第二步,请执行如下命令,查看JAVA_HOME环境变量位置

[root@dev-16 conf]# which java
/usr/bin/java

[root@dev-16 conf]# ls -lrt /usr/bin/java
lrwxrwxrwx 1 root root 22 6月   2 2016 /usr/bin/java -> /etc/alternatives/java

[root@dev-16 conf]# ls -lrt /etc/alternatives/java
lrwxrwxrwx 1 root root 46 6月   2 2016 /etc/alternatives/java -> /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64


3.3 修改Hbase的配置信息

vi hbase-site.xml


在结尾修改成如下,这里我们指定Hbase本地来存储数据,生产环境将数据建议存入HDFS中。

<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///data/service/hbase</value>
</property>
</configuration>


3.4 启动hbase

cd /data/service/hbase/bin

./start-hbase.sh


查看Hbase是否启动成功,如果启动成功的会看到”HMaster”的进程

[root@localhost bin]# jps

12075 Jps

11784 HMaster


3.5 初始化Hbase的pinpoint库

执行pinpoint提供的Hbase初始化语句,这时会初始化一会。

./hbase shell /usr/local/pp_res/hbase-create.hbase


执行完了以后,进入Hbase

./hbase shell


进入后可以看到Hbase的版本,还有一些相关的信息

2017-07-05 12:55:44,861 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using built

in-java classes where applicableHBase Shell; enter 'help<RETURN>' for list of supported commands.

Type "exit<RETURN>" to leave the HBase Shell

Version 1.0.3, rf1e1312f9790a7c40f6a4b5a1bab2ea1dd559890, Tue Jan 19 19:26:53 PST 2016

hbase(main):001:0>


输入”status ‘detailed’”可以查看刚才初始化的表,是否存在

hbase(main):001:0> status 'detailed'

version 1.0.3

0 regionsInTransition

master coprocessors: []

1 live servers

localhost:50887 1478538574709

requestsPerSecond=0.0, numberOfOnlineRegions=498, usedHeapMB=24, maxHeapMB=237, numberOfStores=626, numberOfStorefiles=0, storefileUncom

pressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0, readRequestsCount=7714, writeRequestsCount=996, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, coprocessors=[MultiRowMutationEndpoint]        "AgentEvent,,1478539104778.aa1b3b14d0b48d83cbf4705b75cb35b7."

numberOfStores=1, numberOfStorefiles=0, storefileUncompressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0,

readRequestsCount=0, writeRequestsCount=0, rootIndexSizeKB=0, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, completeSequenceId=-1, dataLocality=0.0
...


注意:如果安装hbase时提示如下错误:[main] zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 4 attempts请执行完以下操作后重新初始化

[root@dev-16 ~]# sudo find / -name zookeeper
/data/service/hbase/docs/xref-test/org/apache/hadoop/hbase/zookeeper
/data/service/hbase/docs/xref/org/apache/hadoop/hbase/zookeeper
/data/service/hbase/docs/devapidocs/org/apache/hadoop/hbase/zookeeper
/data/service/hbase/docs/apidocs/org/apache/hadoop/hbase/zookeeper
/tmp/hbase-root/zookeeper

sudo rm -r -f /tmp/hbase-root/zookeeper


也可以登录web,来查看HBase的数据是否初始化成功

HbaseWeb : http://10.168.17.135:16010/master-status



4. 安装pinpoint-collector

4.1 部署war包

解压Tomcat,将Tomcat重命名移动到指定位置

cd /usr/local/pp_res/

tar -zxvf apache-tomcat-8.0.36.tar.gz

mv apache-tomcat-8.0.36/ /data/service/pp-col


修改pp-col的Tomcat的配置,主要修改端口,避免与pp-web的Tomcat的端口冲突。我在原本默认的端口前都加了1,下面是替换的shell命令。

最后一条是将tomcat的私有ip开放,需要将localhost替换成本机的ip,我本机的网卡是默认的,如果你本机的网卡不是eth0,需要进行相关的修改。

cd /data/service/pp-col/conf/

sed -i 's/port="8005"/port="18005"/g' server.xml

sed -i 's/port="8080"/port="18080"/g' server.xml

sed -i 's/port="8443"/port="18443"/g' server.xml

sed -i 's/port="8009"/port="18009"/g' server.xml

sed -i 's/redirectPort="8443"/redirectPort="18443"/g' server.xml

sed -i "s/localhost/`ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'`/g" server.xml


注意:如果不是root用户,执行最后一条命令时,不会将localhost更改,需要手动进入server.xml进行更改

<Host name="10.168.17.135"  appBase="webapps"
unpackWARs="true" autoDeploy="true">

<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->

<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="10.168.17.135_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />

</Host>


部署pinpoint-collector.war包

如果没有unzip命令,可以 “yum install unzip”

cd /usr/local/pp_res/

rm -rf /data/service/pp-col/webapps/*

unzip pinpoint-collector-1.6.2.war -d /data/service/pp-col/webapps/ROOT


启动Tomcat

cd /data/service/pp-col/bin/

./startup.sh


4.2 配置快速启动

配置快速启动需要修改pp-collector.init的路径( pp-collector在网盘里面有 ),可以”vi”进去,大概在18,24,27行处,修改相关的路径。也可以执行如下脚本

cd /usr/local/pp_res

sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/lib\/jvm\/jre-1.8.0-openjdk.x86_64\//g" pp-collector.init

sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-collector\//CATALINA_HOME=\/data\/service\/pp-col\//g" pp-collector.init

sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-collector\//CATALINA_BASE=\/data\/service\/pp-col\//g" pp-collector.init


将文件赋予”执行”的权限,把它放到”init.d”中去。以后就可以restart快速重启了。

chmod 711 pp-collector.init

mv pp-collector.init /etc/init.d/pp-col

# 测试一下restart
[root@localhost pp_res]# /etc/init.d/pp-col restart


5. 安装pinpoint-web

5.1 部署war包

解压Tomcat,将Tomcat重命名移动到指定位置

cd /usr/local/pp_res/

tar -zxvf apache-tomcat-8.0.36.tar.gz

mv apache-tomcat-8.0.36/ /data/service/pp-web


修改pp-web的Tomcat的配置,主要修改端口,避免与pp-col的Tom
ce4a
cat的端口冲突。我在原本默认的端口前都加了2,下面是替换的shell命令

最后一条是将tomcat的私有ip开放,需要将localhost替换成本机的ip,我本机的网卡是默认的,如果你本机的网卡不是eth0,需要进行相关的修改。注意事项参考pp-col

cd /data/service/pp-web/conf/

sed -i 's/port="8005"/port="28005"/g' server.xml

sed -i 's/port="8080"/port="28080"/g' server.xml

sed -i 's/port="8443"/port="28443"/g' server.xml

sed -i 's/port="8009"/port="28009"/g' server.xml

sed -i 's/redirectPort="8443"/redirectPort="28443"/g' server.xml

sed -i "s/localhost/`ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'`/g" server.xml


部署pinpoint-collector.war包

cd /usr/local/pp_res/

rm -rf /data/service/pp-web/webapps/*

unzip pinpoint-web-1.6.2.war -d /data/service/pp-web/webapps/ROOT


启动Tomcat

cd /data/service/pp-web/bin/

./startup.sh


查看日志,Tocmat是否启动成功

tail -f ../logs/catalina.out


日志中出现下面这句话,说明已经启动成功了

org.apache.catalina.startup.Catalina.start Server startup in 79531 ms


这时候我们可以访问一下这个地址,在浏览器中输入”http://10.168.17.135:28080“,就会出现主页面了

注意:如果访问不了,请按下面方法操作关闭防火墙;如果报404错误,请参考pp-col注意事项查看pp-web的server.xml配置是否正确

[root@localhost conf]# /etc/init.d/iptables stop




5.2 配置快速启动

需要修改”pp-web.init”,与上面的步骤一致

cd /usr/local/pp_res

sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/lib\/jvm\/jre-1.8.0-openjdk.x86_64\//g" pp-web.init

sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-web\//CATALINA_HOME=\/data\/service\/pp-web\//g" pp-web.init

sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-web\//CATALINA_BASE=\/data\/service\/pp-web\//g" pp-web.init


将文件赋予”执行”的权限,把让放到”init.d”中去。以后就可以restart快速重启了。

chmod 711 pp-web.init

mv pp-web.init /etc/init.d/pp-web

# 测试一下restart
[root@localhost pp_res]# /etc/init.d/pp-web restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息