写在前面的话:本文严格意义上讲不属于纯粹的原创文章,某些步骤与网上的安装教程相同。但是我在按照网上的一篇被浏览最多的部署教程安装时,还是遇到了许多坑,于是这篇blog属于pinpoint界的填坑半原创文。(如有雷同,请按照本教程执行,因为本教程在突出本人原创填坑的基础上,囊(chao)括(xi)了网上最优秀的安装教程)
1.1准备两台服务器,分别用来安装pinpoint和pinpoint-agent
我安装它用到的2台服务器,一台主要部署pinpoint的主程序,一台主要部署pinpoint-agent。配置如下:
1.2下载需要的资源
我将需要的资源都整合起来了,上传至百度网盘
百度网盘: < 链接: https://pan.baidu.com/s/1pLNUuyZ 密码: ucpg
1.3获取需要的依赖包
进入/usr/local目录,创建一个pp_res的资源目录,用来存放需要安装的包
cd /usr/local mkdir pp_res
将需要的文件上传到115服务器pp_res文件夹下:
jdk7 — Java运行环境
hbase-1.0 — 数据库,用来存储监控信息
tomcat8.0 — Web服务器
pinpoint-collector.war — pp的控制器
pinpoint-web.war — pp展示页面
pp-collector.init — 用来快速启动pp-col,不要也可以
pp-web.init — 用来快速启动pp-web,不要也可以
1.1 配置jdk
cd /usr/local/pp_res/ tar -zxvf jdk-7u79-linux-x64.tar.gz mkdir /usr/java mv jdk1.7.0_79/ /usr/java/jdk17
配置java环境变量
vi /etc/profile
将下列复制到profile的最后一行中
export JAVA_HOME=/usr/java/jdk17 export PATH=$PATH:$JAVA_HOME/bin
让环境变量生效
source /etc/profile
测试java的环境变量是否配置好了
[root@localhost pp_res]# java -version java version "1.7.0_79"
**
**
pinpoint收集来的测试数据,主要是存在Hbase数据库的。所以它可以收集大量的数据,可以进行更加详细的分析。
3.1 将Hbase解压,并且放入指定目录
cd /usr/local/pp_res/ tar -zxvf hbase-1.0.3-bin.tar.gz mkdir -p /data/service mv hbase-1.0.3/ /data/service/hbase
2.2 修改hbase-env.sh的JAVA_HOME环境变量位置
cd /data/service/hbase/conf/ vi hbase-env.sh
在27行左右的位置,修改如下
export JAVA_HOME=/usr/java/jdk17/
注意:如果你的服务器已配置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中。
hbase.rootdir file:///data/service/hbase
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' for list of supported commands. Type "exit " 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.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进行更改
部署pinpoint-collector.war包
如果没有unzip命令,可以 “yum install unzip”
cd /usr/local/pp_res/ rm -rf /data/service/pp-col/webapps/* unzip pinpoint-collector-1.5.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.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的Tomcat的端口冲突。我在原本默认的端口前都加了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.5.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