DataKit 搭建手册

环境信息

openEuler 22.03 LTS X86

jdk:java-11-openjdk-devel

服务器配置

1、关闭SELinux

SELinux(Security-Enhanced Linux)是一个由美国国家安全局(NSA)和其他合作伙伴开发的 Linux 内核安全模块。它提供了一种强制访问控制(MAC)机制,用于增强 Linux 系统的安全性。简单来说,SELinux 通过控制应用程序和系统组件的访问权限,确保系统的安全性,防止恶意软件或攻击者利用系统漏洞进行非法操作。

我们这边直接关闭SELinux

检查是否有关闭

sestatus

这样子就是已经关掉了

关闭方式:

1- 临时关闭

setenforce 0

这将把 SELinux 的状态设置为 Permissive,即 SELinux 会允许所有操作,但会记录任何违反策略的行为。

2- 永久关闭SELinux

vim /etc/selinux/config

找到 SELINUX= 这一行,将其修改为:

SELINUX=disabled

修改后重启一下服务器即可

reboot

2、关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

3、创建 OPS 用户(DataKit运行用户)

groupadd ops
useradd -m -g ops ops

设置ops密码

passwd ops

修改 sudoers 文件给 ops 权限

visudo

在root ALL=(ALL) ALL 下面添加一行

ops ALL=(ALL) ALL

部署DataKit

1、DataKit简介

openGauss官方文档:Data Kit (osinfra.cn)

DataKit使用文档和开发文档:content/zh/docs/ToolandCommandReference/DataKit.md · openGauss/docs - Gitee.com

(1)功能介绍

openGauss的开发运维涉及到很多复杂操作,DataKit提供了一个可视化操作的运维界面,可以帮助用户管理,安装,监控运维自己的openGauss数据库以及对应的物理机资源。

DataKit是一个以资源(物理机,数据库)为底座的开发运维工具,将上层的开发运维工具插件化,各插件之间相互独立,方便用户按需引入。各插件围绕DataKit的资源中心进行扩展开,完成数据库的运维,监控,迁移,开发,建模等复杂的操作。

(2)原理简介

DataKit是基于spring-brick开发的插件化的工具,前台使用vue,后台使用spring-boot技术栈。DataKit基座提供资源管理,安全中心,日志中心等基础的公共能力,具体的数据库安装,运维,监控,数据迁移等能力是基于spring-brick开发的插件工具,可以灵活的在基座上面安装卸载,方便客户按需使用。

(3)特性优势

本项目是基于Web的openGauss的可视化的一体化工具:DataKit,目的是方便客户使用和管理openGauss可视化工具,可以为客户降低openGauss数据库安装使用门槛,做到安全中心管理,插件管理,以及其它功能包括一键化部署、卸载、组件化安装、多版本升级和日常运维。

2、下载Jar包

jar包下载有以下两种方式

通过openGauss官网下载:openGauss软件 | openGauss下载 | openGauss软件包 | openGauss社区

通过opengauss官方gitee仓库下载:openGauss/openGauss-workbench

datakit版本需要和迁移套件有版本依赖关系

本文档采用opengauss官网下载最新版本的安装包:https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0/tools/Datakit/Datakit-6.0.0.tar.gz

和opengauss官网下载迁移套件:https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.0/tools/openEuler22.03/PortalControl-6.0.0-x86_64.tar.gz

3、上传Jar包到服务器

mkdir -p /opt/soft/datakit && cd /opt/soft/datakit

上传到这个目录

解压

tar -zxvf Datakit-6.0.0.tar.gz

4、创建DataKit工作目录

mkdir -p /ops/server/openGauss-visualtool/logs /ops/server/openGauss-visualtool/config/visualtool-plugin /ops/ssl /ops/files

把Jar包跟插件拷贝到 /ops/server/openGauss-visualtool/

cd /opt/soft/datakit
cp openGauss-datakit-6.0.0.jar /ops/server/openGauss-visualtool/
cd /opt/soft/datakit &&  cp -r ./visualtool-plugin /ops/server/openGauss-visualtool/

5、修改配置文件 application-temp.yml

cd /opt/soft/datakit
cp application-temp.yml /ops/server/openGauss-visualtool/config
cd /ops/server/openGauss-visualtool/config && vim ./application-temp.yml

修改文件中的数据库ip、port、database、dbuser、dbpassword,test-while-idle配置为false

6、生成SSL文件(需要在root用户下操作)

yum install -y java-11-openjdk
su root
keytool -genkey -noprompt \
    -dname "CN=opengauss, OU=opengauss, O=opengauss, L=Beijing, S=Beijing, C=CN"\
    -alias opengauss\
    -storetype PKCS12 \
    -keyalg RSA \
    -keysize 2048 \
    -keystore /ops/ssl/keystore.p12 \
    -validity 3650 \
    -storepass 123456

ps:

storepass与配置文件application-temp.yml中的key-store-password保持一致

keystore路径与配置文件application-temp.yml中的key-store路径保持一致

7、创建run.sh

cd /ops/server/openGauss-visualtool/ && vim ./run.sh

#!/in/bash
APP_PATH=/ops/server/openGauss-visualtool/
APP_NAME=openGauss-datakit-6.0.0.jar
usage() {
    echo "case: sh run.sh [start|stop|restart|status]"
    echo "请类似这样执行 ./*.sh start   or  ./*sh restart"pwd
    exit 1
}

# 判断当前服务是否已经启动的函数
is_exist(){
    echo "执行 is_exist 方法"
    pid=`ps -ef|grep ${APP_PATH}$APP_NAME|grep -v grep|awk '{print $2}' ` #根据ps 命令查询当前服务的进程号 赋值给pid"
    if [ -z "${pid}" ]; then #判断pid是否为空
        echo "pid 等于null,应用不在运行"
        return 1
    else
        echo "pid 不等于null,${APP_NAME}正在${pid}运行"
        return 0
    fi
}
start(){
    is_exist
    if [ $? -eq "0" ]; then    # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号打印出来
        echo "${APP_NAME} running. pid=${pid}"
    else
        nohup java -Xms2048m -Xmx4096m  -jar ${APP_PATH}${APP_NAME}  --spring.profiles.active=temp --server.port=9494 >/ops/server/openGauss-visualtool/logs/datakit.out 2>&1 &
        # nohup java -jar ../lib/$APP_NAME > log.file 2>log.error &  # 说明pid为空 执行java -jar 命令启动服务
        echo "${APP_PATH}${APP_NAME} started"
    fi
}
stop(){
    echo "执行 stop 方法"
    is_exist
    if [ $? -eq "0" ]; then    # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号杀死
        kill -9 $pid
        echo "${APP_NAME}:${pid} stopped"
    else
        echo "${APP_NAME} not running"
    fi
}
status(){
    echo "执行 status 方法"
    is_exist
    if [ $? -eq "0" ]; then
        echo "${APP_NAME} running. Pid is ${pid}"
    else
        echo "${APP_NAME} not running"
    fi
}
# 重启命令其实就是先执行关闭命令 再执行重启命令
restart(){
    stop
    start
}

# 这里的$1 取的是当前输入命令 的第二个参数 ./start.sh start
case "$1" in
    "start")
        start
        ;;
    "stop")
        stop
        ;;
    "status")
        status
        ;;
    "restart")
        restart
        ;;
    *)
    usage
    ;;
esac

chmod 777 ./run.sh

8、启动DataKit

DataKit在root用户下是启动不了的

所以我们需要切换到ops

在切换之前需要先把 /ops 所有人 换成ops

chown -R ops:ops /ops

然后切换到ops

su ops

启动脚本

sudo ./run.sh start 

查看日志

tail -f ./logs/datakit.out

9、访问平台

启动成功后,可通过浏览器界面访问datakit平台

登录地址:https://192.168.1.149:9494/,其中192.168.1.149为实际ip

初始用户:admin

初始密码:admin123

首次登录需修改初始密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

isuweijie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值