Centos 7部署大众点评CAT(一)——单服务器部署

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 前一篇拙作上传的时间已经过去2个月了,中间并不是闲着。。。主要是忙着学习各种组件的安装,写了几篇安装心得存在硬盘里。最近尝试了点评开源的CAT监控平台的安装,并且希望能够引入到工作中。在部署实践的过程中,参考了前辈和其他论坛上的大作,在成功的同时,也记录一下自己的足迹。

前一篇拙作上传的时间已经过去2个月了,中间并不是闲着。。。主要是忙着学习各种组件的安装,写了几篇安装心得存在硬盘里。

最近尝试了点评开源的CAT监控平台的安装,并且希望能够引入到工作中。在部署实践的过程中,参考了前辈和其他论坛上的大作,在成功的同时,也记录一下自己的足迹。

以下为安装部署的过程,希望也能够给其他朋友带来帮助:

系统和软件:

CAT GitHub网址:https://github.com/dianping/cat

Centos 7

jdk-8u131-linux-x64.gz

mysql57-community-release-e17-8

apache-maven-3.3.9

apache-tomcat-8.5.16.tar.gz:经测试多个版本的Tomcat均可用,包括Tomcat 9

cat-master.zip

 

简述安装过程:

(1)系统准备:安装git、jdk、maven、mysql、tomcat(可以不装)

(2)CAT部署:

1、Clone CAT:git clone https://github.com/dianping/cat.git

2、在CAT目录下,用maven构建项目:mvn clean install -DskipTests

3、配置CAT的环境:进入CAT目录,运行:mvn cat:install

注(需要对/data/appdatas/cat和/data/applogs/cat有读写权限)

4、运行CAT,进入cat-home目录,运行:mvn jetty:run

 

一、系统准备

1. Yum安装基础工具:

# yum install -y git wget unzip
# git --version
git version 1.8.3.

2. 安装JDK

先查看系统中是否存在openJDK,如果存在,将其删除:

rpm -qa | grep java

如果显示如下信息:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

卸载:

rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

还有一些其他的命令:
rpm -qa | grep gcj
rpm -qa | grep jdk

如果出现找不到openjdk source的话,那么还可以这样卸载

yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

<1># rpm -qa|grep jdk ← 查看jdk的信息或直接执行
或
# rpm -q jdk
或
# java -version

<2># rpm -qa | grep gcj ← 确认gcj的版本号

<3># yum -y remove java-1.4.2-gcj-compat ← 卸载gcj

 

确保系统中没有OpenJDK后,下载JDK 1.8.0.tar.gz文件,上传到VM,再执行以下内容:

# mkdir /usr/local/jdk
# tar -xvf jdk-8u131-linux-x64.tar.gz -C /usr/local/jdk/

配置环境变量:

# vim /etc/profile

增加以下配置:
#java
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

执行以下语句,使环境变量生效;避免重启系统:

# source /etc/profile

验证Java安装成功:

# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

3. 安装Maven

下载Maven,上传到VM,再执行以下内容:

# mkdir /usr/local/maven
# tar -xvf apache-maven-3.3.9-bin.tar.gz -C /usr/local/maven

配置maven环境变量

# vim /etc/profile

添加以下内容:
#Maven
export M2_HOME=/usr/local/maven/apache-maven-3.3.9
export M2=$M2_HOME/bin
export PATH=$PATH:$M2
 
# source /etc/profile

Maven验证:

# mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/maven/apache-maven-3.3.9
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: /usr/local/jdk/jdk1.8.0_131/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-514.16.1.el7.x86_64", arch: "amd64", family: "unix"

4. 安装MySQL

Mysql数据库安装过程如下:

下载mysql的repo源(CentOS 7.2的yum源中默认没有mysql,要先下载mysql的repo源):

# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

安装mysql57-community-release-el7-8.noarch.rpm包:

# rpm -ivh mysql57-community-release-el7-8.noarch.rpm  --nodeps --force

安装这个包后,会获得两个mysql的yum repo源:

# cd /etc/yum.repos.d
# ls -l

确认存在下列两个repo源文件:
mysql-community.repo
mysql-community-source.repo

安装mysql:

# yum install -y mysql-server

设置mysql服务开机启动:

# systemctl enable mysqld

启动mysql服务:

# systemctl start mysqld

查看MySQL服务是否已启动:

# systemctl status mysqld

重置root密码:

MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。

下面用随机密码方式:

MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:

# grep 'temporary password' /var/log/mysqld.log

# mysql -u root -p
mysql> Enter password: (输入刚才查询到的随机密码)

修改root用户密码:(MySQL的密码策略比较复杂,过于简单的密码会被拒绝)。首先修改安全策略,避免密码被拒绝:

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;

重置用户密码:

mysql> alter user 'root'@'localhost' identified by 'root-1234';

完成后,保存退出:

mysql> flush privileges;
mysql> quit;

使用刚刚设置的新密码登录:

# mysql -u root -p

如果进行操作出现下面的提示:
You must reset your password using ALTER USER statement before executing this statement.

就再设置一遍密码:
mysql> set password = password('root-1234');

开放3306端口

允许使用用户名root密码root-1234从任何主机连接到mysql服务器。

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root-1234' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;
mysql> quit;

5. 安装Tomcat

在官网下载Tomcat 8.5,上传VM。

# mkdir /usr/local/tomcat
# tar -xvf apache-tomcat-8.5.16.tar.gz -C /usr/local/tomcat/

# cd /usr/local/tomcat/
# ln -sv apache-tomcat-8.5.16 tomcat8

 

 二. 安装CAT

上面已经把所需要的环境准备好,现在来处理CAT。

注:可以直接从第11行(# git clone https://github.com/dianping/cat.git)开始操作,此操作会自动下载cat文件夹及里面的内容。

为了避免直接安装CAT报错,先操作下面的命令创建文件夹,并赋予读写权限。

# mkdir -p /data/appdatas/cat
# chmod 777 /data/appdatas/cat
 
# mkdir -p /data/applogs/cat
# chmod 777 /data/applogs/cat

解压下载的cat-master.zip,开始安装:

# unzip cat-master.zip
# cp -r cat-master /opt/cat
# cd /opt/cat/

在CAT目录下,用maven构建项目:

# mvn clean install -DskipTests

[INFO] Scanning for projects...

[WARNING]

[WARNING] Some problems were encountered while building the effective model for com.dianping.cat:cat-home:war:1.3.6

[WARNING] The expression ${version} is deprecated. Please use ${project.version} instead.

[WARNING] ..............................略

如果mvn clean install -DskipTests不成功,使用下面命令将mvn-repo下的jar包复制到本机maven仓库,直到最后显示100%

# cd /opt/
# git clone https://github.com/dianping/cat.git Initialized empty Git repository in /cat/cat/.git/ remote: Counting objects: 153895, done. remote: Total 153895 (delta 0), reused 0 (delta 0), pack-reused 153895 Receiving objects: 100% (153895/153895), 77.30 MiB | 32 KiB/s, done. Resolving deltas: 100% (69288/69288), done.

再次用maven构建项目,提示100%,完成:

# cd cat

# mvn clean install -DskipTests

.............略

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 01:07 h

[INFO] Finished at: 2016-05-19T16:47:05+08:00

[INFO] Final Memory: 33M/173M

[INFO] ------------------------------------------------------------------------

配置CAT的环境,填写数据库地址、用户名、密码;如果无须更改,直接按回车键:

# mvn cat:install

Please input jdbc url:[jdbc:mysql://127.0.0.1:3306]

Please input username:root

Please input password:[]root-1234

最后,在cat-home下运行mvn jetty:run &:

# cd cat-home

# pwd
/opt/cat/cat-home

# mvn jetty:run &

在浏览器中输入:http://localhost:2281/cat,来访问CAT。

 

 三. 下面是tomcat下运行cat的操作:

在/cat-home/target下有个cat-alpha-1.4.0.war,将此文件复制到Tomcat的webapps目录下,并重命名为cat.war

# cd target

# pwd
/opt/cat/cat-home/target

# cp cat-alpha-1.4.0.war /usr/local/tomcat/tomcat8/webapps/cat.war

进入tomcat的bin文件夹,启动tomcat:

# cd /usr/local/tomcat/tomcat8/bin

# ./startup.sh
Using CATALINA_BASE:   /usr/local/tomcat/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat/tomcat8/temp
Using JRE_HOME:        /usr/local/jdk/jdk1.8.0_131/jre
Using CLASSPATH:       /usr/local/tomcat/tomcat8/bin/bootstrap.jar:/usr/local/tomcat/tomcat8/bin/tomcat-juli.jar
Tomcat started.

在浏览器中输入:http://localhost:8080/cat,来访问CAT。

 

 

 

 

 

 

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
1月前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
1月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
|
1月前
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
1月前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
490 3
|
2月前
|
NoSQL Linux PHP
|
2月前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
214 1
|
数据采集 SQL 弹性计算
使用云服务器ECS部署了自己的第一个爬虫
云服务器部署爬虫爬取网站最新通告并推送
使用云服务器ECS部署了自己的第一个爬虫
|
4天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式