整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

CodeAnalysis服务端详细部署文档

CodeAnalysis服务端详细部署文档

文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star

CodeAnalysis详细部署文档

官方GitHub仓库:https://github.com/Tencent/CodeAnalysis

腾讯云代码分析(Tencent Cloud Code Analysis,简称TCA,内部曾用研发代号 CodeDog )是集众多分析工具的云原生、分布式、高性能的代码综合分析跟踪平台,包含服务端、Web端和客户端三个组件,已集成一批自研工具,同时也支持动态集成业界各编程语言的分析工具。

官方支持2种部署方式

  1. 源代码部署
  2. docker部署

今天我们用源代码方式进行部署服务端,根据文档你一定能成功部署。因为其中的坑已经替搭建踩过了。

官方部署链接为: 部署 Server 和 Web

我碰到的问题是mysql的问题以及web端部署的问题

CentOS安装 Python3.7

该部署文档没什么问题,按照命令部署就行

安装好后的路径:/usr/local/python3/bin/

CentOS安装 MySQL

该部署文档也没有问题,一次性安装通过,如果本地有mysql切记需要删除,请正确使用指定版本 5.7.38。

我第一次安装错了数据库版本导致后面程序无法读取mysql

CentOS 安装 Redis

按照命令运行就行没什么问题

CentOS 安装 Nginx

该部署需要注意,官网有些需要修复的地方 已经标记红色

安装好的路径:/usr/local/nginx

nginx.conf 修改

nginx的pid需要添加 标记的2处地方

根据上面的编译安装地址为:/usr/local/nginx

nginx.service 修改

需要添加标记的1处地方 ,这样systemctl top nginx 才能正常关闭

根据上面的编译安装地址为:/usr/lib/systemd/system/nginx.service

命令为:ExecStop=/usr/local/bin/nginx -s quit

CentOS 安装 Server端

我的下载压缩包地址 /opt

参考文档地址:https://tencent.github.io/CodeAnalysis/zh/quickStarted/deploySever.html#%E9%80%9A%E8%BF%87%E6%BA%90%E4%BB%A3%E7%A0%81

解压缩

修改配config.sh端配置文件

/opt/CodeAnalysis/server/scripts/config.sh

修改配init_config.sh端配置文件

/opt/CodeAnalysis/server/scripts/init_config.sh

python3里面的 celery 与 gunicorn 建立连接

ln -s /usr/local/python3/bin/celery  /usr/local/bin/celery
ln -s /usr/local/python3/bin/gunicorn /usr/local/bin/celery

初始化DB、安装依赖和运行初始化脚本

在目录 /opt/CodeAnalysis/server 下面执行下面的命令

 bash ./scripts/deploy.sh init

使环境变量生效,避免出现 unknown command 错误

export PATH=/usr/local/bin:$PATH

启动/停止服务

命令执行目录: /opt/CodeAnalysis/server

# 启动服务
bash ./scripts/deploy.sh start
# 停止服务
bash ./scripts/deploy.sh stop

部署Web端

默认目录地址: /opt/CodeAnalysis/web/tca-deploy-source

参考连接:https://tencent.github.io/CodeAnalysis/zh/quickStarted/deploySever.html 部署web

修改配置文件 config.sh

修改为自己nginx实际地址

标红2处

部署/更新前端服务

命令执行目录 /opt/CodeAnalysis/web/tca-deploy-source

bash ./scripts/deploy.sh init -d

完成部署

访问80端口即可打开CodeAnalysis界面

TCA 平台初始登录账号是CodeDog,密码是admin

entOS node环境安装

进入下载安装包存放目录
cd /usr/local/
  
 下载安装包
wget https://npm.taobao.org/mirrors/node/v11.15.0/node-v11.15.0-linux-x64.tar.gz

解压安装包
tar -zxvf node-v11.15.0-linux-x64.tar.gz

重命名为node
mv node-v11.15.0-linux-x64 node

配置环境变量
vi /etc/profile

export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

使环境变量生效
source /etc/profile

验证是否安装配置成功
node -v

镜像安装

npm install -g cnpm --registry=https://registry.npm.taobao.org

PC后台管理前端部署

1、 使用WinSCP工具上传,PC后台管理前端工程到服务器自定义的目录下

如:/usr/local/project/test-vue

2、进入工程目录下,执行命令

      npm install(第一次 需要执行)

如果npm install 错误 安装 chromedriver 失败的解决办法

首先经过npm install后,会生成node_modules,先清除它

rm -rf node_modules

可以使用下面的命令安装:

npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver    

如果是root用户进行安装则使用下面的命令安装:

npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver --unsafe-perm

--unsafe-perm 参数说明:

npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要权限的操作,比如写文件(尤其是写 /root/.node-gyp),就会崩掉了。

为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;要么加 --unsafe-perm 参数,这样就不会切换到 nobody 上,运行时是哪个用户就是哪个用户,即使是 root。

3、编译工程,执行命令

     npm run build

4、在工程的目录下会生成dist目录,目录中会config、2009231158(随机生成)、index.html

拷贝到/usr/local/project/adminvue 目录下。

用户前端部署

1、项目打包

使用hbuilder导入用户前端项目,hbuilder的右上方 【文件】【导入】选择【本地导入】

2、这里比如:打包H5网站,在hubilder中选择网站-h5手机版发行

3、在hbuilder控制台查看打包进度,打包完成后点击进入目录

4、H5网站添加文件夹中的文件上传到服务器对应目录下

如:/usr/local/project/uservue

配置nginx

安装nginx略过,不是重新介绍,主要介绍如果结合nginx配置运行,配置参考如下:

1、添加用户前端访问配置

server {
        listen      80;
        server_name user.你的域名.com;
        root /usr/local/project/uservue;
        index index.html;
  
        # 服务器端api接口
        location ^~/api{
            proxy_pass http://localhost:8080/api;
       
        }
        # 图片代理
        location ^~/img{
           proxy_pass https://xianyunb.oss-cn-hangzhou.aliyuncs.com/;
       
        }
        # 用户前端访问对应目录
        location / {
            try_files $uri $uri/ /index.html last;
            add_header Access-Control-Allow-Origin *;
            alias  /usr/local/project/uservue/$1;
        }
        
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|html|txt|p12)$ {
            expires      30d;
            error_log off;
            access_log /dev/null;
        }
    
    }


2、添加管理后台前端访问配置

server {
        listen      80;
        server_name admin.你的域名.com;
        root /usr/local/project/uservue;
        index index.html;
  
        # 服务器端api接口
        location ^~/api{
            proxy_pass http://localhost:8080/api;
       
        }
        # 图片代理
        location ^~/img{
           proxy_pass https://xianyunb.oss-cn-hangzhou.aliyuncs.com/;
       
        }
        # 管理后台前端访问对应目录
        location / {
            try_files $uri $uri/ /index.html last;
            add_header Access-Control-Allow-Origin *;
            alias  /usr/local/project/adminvue/$1;
        }
        
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|html|txt|p12)$ {
            expires      30d;
            error_log off;
            access_log /dev/null;
        }
    
    }

3、重启nginx

 /usr/local/nginx/sbin/nginx -s reload

到此部署完成,上面主要介绍vue前端生产环境的部署,服务端部署和域名绑定配置不作介绍。

文档编写目的

在前面的文章中,Fayson介绍了《如何获得Cloudera的Flink Parcel包》和《0733-7.0.3-如何在Redhat7.6中安装CDP DC7.0.3》,基于前面的集群环境,本篇文章Fayson主要介绍如何在CDP DC7.0.3集群中使用Parcel的方式安装Flink1.9.1。

  • 文档概述

1.如何在CDP DC集群安装FLink1.9.1

2.运行一个Flink示例验证

  • 测试环境

1.操作系统Redhat7.2

2.CDP DC7.0.3

3.使用root用户操作


安装Flink

1.准备Flink1.9.1的csd文件,并放置到Cloudera Manager Server服务器的/opt/cloudera/csd目录下,然后重启Cloudera Manager Server服务

[root@cdh1 csd]# pwd
/opt/cloudera/csd
[root@cdh1 csd]# ll
total 40
-rw-r--r-- 1 root root 39506 Feb 11 16:59 FLINK-1.9.1-csa1.1.0.0-cdh7.0.3.0-79-1753674.jar
[root@cdh1 csd]#



2.下载Flink1.9.1的Parcel并部署到httpd服务的/var/www/html/flink1.9.1目录下

[root@cdh4 flink1.9.1]# ll
total 135664
-rw-r--r-- 1 root root 138867394 Feb 11 14:44 FLINK-1.9.1-csa1.1.0.0-cdh7.0.3.0-79-1753674-el7.parcel
-rw-r--r-- 1 root root        41 Feb 11 14:43 FLINK-1.9.1-csa1.1.0.0-cdh7.0.3.0-79-1753674-el7.parcel.sha
-rw-r--r-- 1 root root      1065 Feb 11 14:43 manifest.json
[root@cdh4 flink1.9.1]#



3.CM重启完成以后,添加服务页面可以看到有Flink服务。


4.登录CM,在左侧菜单栏点击“Parcel”按钮,进入Parcles管理界面进行配置

进入Parcles管理界面后如下界面:

点击“Parcel Repositories & Network Settings”菜单配置Flink的本地parcel库

完成配置后,点击“Save & Verify Configuration”,关闭配置配置界面可以看到Flink的信息

分别进行 “下载、分配、激活”操作,完成后显示如下:


5.进入CM主页点击“添加服务”。


6.选择添加Flink服务,点击继续。


7.选择Flink History Server以及Gateway节点,点击继续


8.点击继续


9.等待Flink History Server启动成功,完成后点击继续


10.安装完成,点击完成回到CM主页

发现Flink的状态为灰色,CMS有重启提示,按照提示重启CMS服务,重启过程略。重启完成后显示Flink服务正常。


Flink示例运行

1.执行Flink自带的example的wordcount例子。

hadoop fs -mkdir -p wordcount/input
hadoop fs -mkdir -p wordcount/output
hadoop fs -put dfclear wordcount/input
flink run -m yarn-cluster -yn 3 -yjm 1024 -ytm 1024 /opt/cloudera/parcels/FLINK/lib/flink/examples/streaming/WordCount.jar --input hdfs:///user/root/wordcount/input/dfclear --output hdfs:///user/root/wordcount/output


2.查看输出结果。


3.在YARN和Flink的界面上分别都能看到这个任务。


总结

1.在CDP DC上基于Parcel的方式安装Flink1.9.1与CDH5和CDH6集群下安装Kafka、Spark等服务方式一致。

2.对于CDP DC中不自带的服务需要将csd添加的CM节点的/opt/cloudera/csd目录下,并重启cloudera-scm-server服务。

3.Flink是依赖Yarn、HDFS、Zookeeper服务运行,所以在CDP DC集群中至少要确保这个几个服务都已安装。