本地部署启动PmHub

news2024/9/29 15:26:02

文章目录

      • 相关配置版本关系
      • 拉取代码
        • 使用`Git clone`
        • 下载源码
      • MYSQL配置
      • Nacos配置
        • Windows本地下载
        • 也可以Docker部署
        • Nacos持久化配置
        • 启动Nacos
        • 访问Nacos
      • Redis配置
      • RocketMQ配置
        • 新建相应目录`rocketmq`, 然后在里面新建`broker`文件夹, 放`broker.conf`
        • 在 `rocketmq` 新建 `data` 文件夹,用来存放持久化数据,防止容器重启数据丢失
        • 新建 `docker-compose` 文件夹,里面新建文件 `docker-compose.yml` 文件
        • 最终文件夹目录如下:
        • 在`docker-compose`目录下执行`cmd`命令, 然后再执行`docker-compose up -d`
        • `docker-compose`相关命令
        • 在`Nacos`中的`application-dev.yml`添加如下配置
      • 修改`bootstrap.yml`配置文件
      • 启动前端UI - `pmhub-ui`
      • 最终结果如下
      • 问题汇总
        • 出现`user not found!`
        • 注入`bean`失败

相关配置版本关系

技术名称版本官网
SpringBoot基础框架2.7.18Spring Boot
SpringCloud微服务框架2021.0.8Spring Cloud
SpringCloud Alibaba阿里微服务框架2021.0.5.0SpringCloud Alibaba
SpringCloud Gateway服务网关3.1.8Spring Cloud Gateway
Redis分布式缓存数据库LatestRedis
RocketMQ消息队列2.2.3RocketMQ · 官方网站
Sentinel流控防护框架1.8.6GitHub - Sentinel
MyBatis-Plus持久层框架3.5.1MyBatis-Plus 🚀
HuTool小而全工具集项目5.8.11Hutool - 🍬

拉取代码

使用Git clone
git clone git@github.com:laigeoffer/pmhub.git
git clone https://gitee.com/laigeoffer/pmhub.git
下载源码
  • GitHub 地址:https://github.com/laigeoffer/pmhub
  • 码云地址:https://gitee.com/laigeoffer/pmhub

MYSQL配置

  • 将下面的**sql文件**都导入到数据库中, 成功后如右图所示
  • **相信大家将来都是进大厂的人, 导入sql数据就不用小的我多说了吧, 嘻嘻~**😄

在这里插入图片描述

image.png

Nacos配置

Windows本地下载

Nacos Server 下载

  • **尽量和苍何老师的Nacos版本同步哦~, 不然改报错要改红温啦~**🤣

image.png
image.png

也可以Docker部署
docker run \
-d -p 8848:8848 \
-p 9848:9848 \
--name nacos2 \
-e MODE=standalone \
-e TIME_ZONE='Asia/Shanghai' \
nacos/nacos-server:v2.1.1
  • *可以参考博客 : 三分钟极速部署Nacos与服务注册_命令创建nacos服务-CSDN博客*
Nacos持久化配置
  • PmHub 通过 nacos 的持久化将数据永久的存储在 MySQL 中,避免每次启动配置丢失。
  • 找到 **/conf/application.properties** 文件,修改数据库连接信息。
  • 可以直接复制 **pmhub/docker/nacos/conf/application.properties** 内容。
  • 对应的数据库配置改成自己的, ip / 端口 / mysql密码等

image.png
image.png

启动Nacos

①、如果你是 macOS 用户,可以直接在终端输入**sh startup.sh -m standalone**启动 Nacos。
②、如果你是 Windows 用户,可以直接双击 **startup.cmd** 启动 Nacos。

访问Nacos
  • **启动成功后访问 http://localhost:8848/nacos **
  • **即可看到 Nacos 控制台。默认用户名密码都是 ****nacos**
  • 登录成功之后如下图所示

image.png

Redis配置

  • 本地启动Redis即可, 如果是云端的Redis记得修改地址, 有密码记得加上密码
  • 下面这些都是带有**redis**配置的配置文件, 如果要启动记得先去**redis**修改ip和端口
  • **pmhub-gateway-dev.yml**** **pmhub-auth-dev.yml** **pmhub-system-dev.yml** ****pmhub-gen-dev.yml**
  • **pmhub-job-dev.yml**** **pmhub-project-dev.yml** ****pmhub-workflow-dev.yml**

image.png

RocketMQ配置

● 官网地址:https://rocketmq.apache.org/****

开源地址:**https://github.com/apache/rocketmq

  • 基于**windows****docker****docker-compose**部署, 有点绕口哈哈~
新建相应目录rocketmq, 然后在里面新建broker文件夹, 放broker.conf
brokerClusterName = DefaultCluster
brokerName = broker
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 你的本机ip, 注意不要写localhost,127.0.0.1等,因为这是放到docker容器中的,我们需要指向mac本机
brokerIP1 = 192.168.200.47
# 禁用 tsl
tlsTestModeEnable = false
rocketmq 新建 data 文件夹,用来存放持久化数据,防止容器重启数据丢失
新建 docker-compose 文件夹,里面新建文件 docker-compose.yml 文件
  • 文件挂载的路径记得换成自己的

image.png

version: '3.8'
services:
  namesrv:
    image: apache/rocketmq:5.1.0
    container_name: rocketmq-pmnamesrv
    command: sh mqnamesrv
    networks:
      - rocketmq
    ports:
      - "9876:9876"

  broker:
    image: apache/rocketmq:5.1.0
    container_name: rocketmq-pmbroker
    command: sh mqbroker -n namesrv:9876 -c /home/rocketmq/rocketmq-5.1.0/conf/broker.conf
    ports:
      - "10911:10911"
      - "10909:10909"
      - "10912:10912"
    depends_on:
      - namesrv
    networks:
      - rocketmq
    volumes:
      - D:/rocketmq/broker/broker.conf:/home/rocketmq/rocketmq-5.1.0/conf/broker.conf
      - D:/rocketmq/data:/home/rocketmq/store

  proxy:
    image: apache/rocketmq:5.1.0
    container_name: rocketmq-pmproxy
    networks:
      - rocketmq
    depends_on:
      - broker
      - namesrv
    ports:
      - 8080:8080
      - 8081:8081
    restart: on-failure
    environment:
      - NAMESRV_ADDR=rocketmq-pmnamesrv:9876
    command: sh mqproxy


  dashboard:
    image: apacherocketmq/rocketmq-dashboard:latest
    container_name: rocketmq-dashboard
    environment:
      - JAVA_OPTS=-Drocketmq.namesrv.addr=rocketmq-pmnamesrv:9876
    ports:
      - "8082:8080"
    networks:
      - rocketmq
    depends_on:
      - namesrv
      - broker
      - proxy

networks:
  rocketmq:
    driver: bridge
最终文件夹目录如下:

image.png

docker-compose目录下执行cmd命令, 然后再执行docker-compose up -d

image.png

docker-compose相关命令
# 一键启动
docker-compose up -d

# 一键停止所有容器
docker-compose stop

# 一键删除所有容器
docker-compose rm

# 一键查看所有启动的容器
docker-compose ps
Nacos中的application-dev.yml添加如下配置
# 企微消息相关
  workWx:
    host: https://laigeoffer.cn:7880
    corpid: ww212312313
    corpsecret: DIPuyCcN7C1231231
    addressSecret: eFTxBtSvzUyBO1JCNTT1jfzzRq1OG123123
    agentid: 1000008
    aeskey: txwiJmdUJlC8T5c8oaXm4G3OiM12312
    path:

 # rocketMQ 配置
  rocketMQ:
   # 配置nameserver代理地址
    addr: 127.0.0.1:8081
    topic:
     # 企微消息topic
      wxMessage: pmhub_local
    # 消费者组  
    group:
      wxMessage: PMHUB_GROUP

image.png

修改bootstrap.yml配置文件

  • 不懂是不是苍何老师忘改nacos的密码
  • 我这**nacos**用的是默认密码不用改, 你们改成自己**nacos**的密码即可

image.png

  • 最后启动对应的服务

image.png

启动前端UI - pmhub-ui

  • **VSCode / WebStorm**打开项目里的**pmhub-ui**
  • **node.js**要在17或以下, 太高会**install**失败的
  • 可以用NVM来切换**Node.js**的版本
  • **安装NVM可以参考: **nvm-下载、安装、使用(2023/07/12更新)-CSDN博客
npm install # 安装node_modules
npm run dev # 启动ui

最终结果如下

image.png

问题汇总

下面的语雀文档会不定期更新碰到的问题, 可以收藏一手哈哈~
https://www.yuque.com/yuqueyonghubra2ax/yncnyp/rc55evxoe5sbt48u?singleDoc#

出现user not found!

image.png

  1. **问题原因 : **
  • 这是因为对应的服务理由**seata**的配置, 同时**nacos**开启了验证
  • 但是没加上**nacos**用户的账号密码, 所以找不到**user**
  1. **解决办法 : **
  • 在对应的服务的Nacos配置文件加上nacos账号密码

image.png

注入bean失败

b0b6f751257ec6b92cda395bb35c29b.png

  1. **问题原因 : **
  • **我也不太清楚, ****redisService**在另一个模块, 估计是启动的模块没有成功注入进来
  1. **解决办法 : **
  • **maven****clean****compile**, 最后再重新构建项目

image.pngimage.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1980334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MRAM FRAM在医疗设备场景的应用

便携式超声波扫描仪是一种检测从物体反射的声波并将其转换为实时图像的设备。通常使用配置存储器和图像/报告存储器两种类型的存储器。配置存储器存储来自外部硬件的标识和配置信息,图像/报告存储器存储图像和相应的报告数据。这些存储器即使在突然断电的情况下&…

MySQL介绍和安装与配置

文章目录 MySQL介绍什么是数据库什么是关系型数据库什么是非关系型数据库MySQL概述和历史 MySQL安装和配置在线安装方式MySQL5.7的安裝1.下载yum Repository2.安装yum Repository3.安装mysql5.7的服务3.后续命令 离线安装方式1、卸载已有的MySQL文件2、安装mysql3、后续命令 修…

详细分析Python生成项目依赖包的工具

目录 前言1. pipreqs2. pip freeze3. poetry4. conda5. 总结 前言 在Python项目开发中,管理依赖包是确保项目正常运行的关键步骤 本博客将详细分析几种流行的依赖管理工具,包括 pipreqs、pip freeze、poetry 和 conda,以及它们的使用场景和…

智能硬件创新实训平台-嵌入式、物联网、移动互联网、人工智能实验实训教学平台

智能硬件是继智能手机之后的一个科技概念,通过软硬件结合的方式,对传统设备进行改造,进而让其拥有智能化的功能。智能化之后,硬件具备连接的能力,实现互联网服务的加载,形成“云端”的典型架构,…

黑马Java零基础视频教程精华部分_11_面向对象进阶(3)_抽象类、接口、适配器

《黑马Java零基础视频教程精华部分》系列文章目录 黑马Java零基础视频教程精华部分_1_JDK、JRE、字面量、JAVA运算符 黑马Java零基础视频教程精华部分_2_顺序结构、分支结构、循环结构 黑马Java零基础视频教程精华部分_3_无限循环、跳转控制语句、数组、方法 黑马Java零基础视…

【Linux】文件变身大作战:Linux下的文件重命名艺术

欢迎来到 CILMY23 的博客 🏆本篇主题为:文件变身大作战:Linux下的文件重命名艺术 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法…

OpenGL3.3_C++_Windows(33)

PBR渲染管线 Physically Based Rendering渲染管线 :使用一种更符合物理学规律的算法模型来模拟光线,由于它与物理性质非常接近,可以直接以物理参数为依据来编写表面材质判断是否基于物理的渲染,有三个数学模型:微平面,能量守恒&a…

Go语言实现支持泛型的二分查找算法

二分查找基本原理图: 参考代码: 泛型的定义: package v2024type Integer interface {int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 }type Float interface {float32 | float64 }type Number interface …

无需变更环境变量,一键管理和运行不同JDK版本的jar包

前言 之前公司的项目一直用的都是JDK8,然后前段时间,公司要求以后的新项目必须要用JDK17及以上的版本。但是以前的旧项目还有很多都在维护。 这样子的话,电脑上就至少有两个版本的JDK了。我想在不变动环境变量的情况下(环境变量…

可穿戴设备与健康科技:迈向个性化医疗的未来

在数字化和智能化浪潮的推动下,可穿戴设备与健康科技正迅速改变我们的健康管理方式。这些设备不仅使我们能够实时监测健康指标,还为个性化医疗提供了宝贵的数据支持。本文将详细探讨可穿戴设备的作用、健康监测技术的发展、个性化医疗的趋势,…

代码随想录——买卖股票的最佳时机含冷冻期(Leetcode 309)

题目链接 动态规划 class Solution {public int maxProfit(int[] prices) {if(prices.length 0 || prices.length 1){return 0;}// 初始化int[][] dp new int[prices.length 1][2];dp[1][0] -prices[0];for(int i 2; i < prices.length; i){dp[i][0] Math.max(dp[…

Arduino PID库 (5):开启或关闭 PID 控制的影响

Arduino PID库 &#xff08;5&#xff09;&#xff1a;开启或关闭 PID 控制的影响 Arduino PID库 &#xff08;4&#xff09;&#xff1a;Reset Windup 问题 尽管拥有一个PID控制器很好&#xff0c;但有时你并不关心它要说什么。 PID On - User Overwritting Output&#x…

安全测试:保护系统免受攻击和数据泄露

目录 前言1. 安全测试的概念2. 安全测试的主要作用2.1 发现安全漏洞2.2 评估风险2.3 确保合规性2.4 提高安全意识 3. 安全测试在整个测试中的地位4. 常用的安全测试工具4.1 渗透测试工具4.1.1 Metasploit4.1.2 Burp Suite 4.2 漏洞扫描工具4.2.1 Nessus4.2.2 OpenVAS 5. 安全测…

通道加密机的定义与功能

通道加密机是一种用于保护数据传输过程中安全性的硬件设备&#xff0c;它通过加密技术确保数据在通道中传输时不被非法截获或篡改。以下是对通道加密机的详细解析&#xff1a; 一、定义与功能 通道加密机是一种专门设计用于加密和解密在特定通信通道上传输的数据的设备。它能够…

【网络安全】|pgp的安装和使用

1、pgp的安装&#xff1a; 参考&#xff1a; https://jingyan.baidu.com/article/86fae346c289173c49121a11.html 实际操作&#xff1a; 在第六步中有不同&#xff0c; 第5步重启后&#xff0c;打开pgp desktop, 可以看到如图&#xff1a; 此时需要做两件事&#xff1a; 1、将…

第35讲:Manager可视化组件管理Ceph集群

Manager可视化组件管理Ceph集群 1.Mgr组件的基本概念 Mgr组件的官方文档&#xff1a;https://docs.ceph.com/en/latest/mgr/ Ceph Manager守护进程 (ceph-mgr) 与Monitor守护进程一起运行&#xff0c;为外部监控和管理系统提供额外的监控和接口。 ceph luminous版本中新增加…

配置阿里云 Maven 仓库地址

阿里云 Maven 仓库地址&#xff1a; maven {// 阿里云 Maven 仓库地址url https://maven.aliyun.com/repository/public} 执行结果&#xff1a;

决策曲线DCA的绘制

今天被要求画一下决策曲线&#xff0c;用Python试了半天也没画出来&#xff0c;最后参考了资料还是用R语言绘制了出来。 数据的格式 将四条曲线画在一张表中 library(rmda) library(readxl)# 读取Excel文件 data <- read_excel("C:/Users/Administrator/Desktop/肺动脉…

09 同步原语 sync包让你对并发控制得心应手

上节课留了一个思考题&#xff1a;channel 为什么是并发安全的呢&#xff1f;是因为 channel 内部使用了互斥锁来保证并发的安全&#xff0c;这节课&#xff0c;我将为你介绍互斥锁的使用。 在 Go 语言中&#xff0c;不仅有 channel 这类比较易用且高级的同步机制&#xff0c;…

MES系统如何精准采集与对接设备数据,全面优化设备管理

一、MES系统如何采集和对接设备数据 MES系统&#xff08;Manufacturing Execution System&#xff0c;制造执行系统&#xff09;采集和对接设备数据主要通过以下几种方式实现&#xff1a; 手工录入&#xff1a; 这是最基础的数据采集方式&#xff0c;通过操作人员在MES系统界…