Linux部署Kettle(pentaho-server-ce-9.4.0.0-343)记录/配置MySQL存储

news2024/11/18 11:21:40

下载地址

Kettle 是一个开源的数据集成工具,它是 Pentaho Data Integration(PDI)项目的一部分。要访问 Kettle 的官方网站,可以通过访问其母公司 Hitachi Vantara 的网站来找到相关信息
官方网站:https://www.hitachivantara.com/en-us/products/data-management-analytics.html
下载地址:https://www.hitachivantara.com/en-us/products/pentaho-plus-platform/data-integration-analytics/pentaho-community-edition.html
在这里插入图片描述
在这里插入图片描述

安装

解压

windowsLinux安装包是一样的,解压命令: unzip pentaho-server-ce-9.4.0.0-343.zip
在这里插入图片描述

数据库初始化

  • 选择mysql作为存储库,找到对应的sql初始化文件,自行初始化(数据库安装略)
    在这里插入图片描述
  • 提供的脚本编码和密码按需要进行修改
    在这里插入图片描述
  • SQL附件参考
    -- jcr
    CREATE DATABASE IF NOT EXISTS `jackrabbit` DEFAULT CHARACTER SET utf8;
    CREATE USER 'jcr_user'@'%' identified by '!QAZ2wsx';
    GRANT ALL PRIVILEGES ON jackrabbit.* TO 'jcr_user'@'%' WITH GRANT OPTION;
    
    -- quartz
    CREATE DATABASE IF NOT EXISTS `quartz` DEFAULT CHARACTER SET utf8;
    CREATE USER 'pentaho_user'@'%' identified by '!QAZ2wsx';
    GRANT ALL PRIVILEGES ON quartz.* to 'pentaho_user'@'%' WITH GRANT OPTION;
    USE `quartz`;
    DROP TABLE IF EXISTS QRTZ5_JOB_LISTENERS;
    DROP TABLE IF EXISTS QRTZ5_TRIGGER_LISTENERS;
    DROP TABLE IF EXISTS QRTZ5_FIRED_TRIGGERS;
    DROP TABLE IF EXISTS QRTZ5_PAUSED_TRIGGER_GRPS;
    DROP TABLE IF EXISTS QRTZ5_SCHEDULER_STATE;
    DROP TABLE IF EXISTS QRTZ5_LOCKS;
    DROP TABLE IF EXISTS QRTZ5_SIMPLE_TRIGGERS;
    DROP TABLE IF EXISTS QRTZ5_CRON_TRIGGERS;
    DROP TABLE IF EXISTS QRTZ5_BLOB_TRIGGERS;
    DROP TABLE IF EXISTS QRTZ5_TRIGGERS;
    DROP TABLE IF EXISTS QRTZ5_JOB_DETAILS;
    DROP TABLE IF EXISTS QRTZ5_CALENDARS;
    CREATE TABLE QRTZ5_JOB_DETAILS
      (
        JOB_NAME  VARCHAR(200) NOT NULL,
        JOB_GROUP VARCHAR(200) NOT NULL,
        DESCRIPTION VARCHAR(250) NULL,
        JOB_CLASS_NAME   VARCHAR(250) NOT NULL,
        IS_DURABLE VARCHAR(1) NOT NULL,
        IS_VOLATILE VARCHAR(1) NOT NULL,
        IS_STATEFUL VARCHAR(1) NOT NULL,
        REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
        JOB_DATA BLOB NULL,
        PRIMARY KEY (JOB_NAME,JOB_GROUP)
    );
    CREATE TABLE QRTZ5_JOB_LISTENERS
      (
        JOB_NAME  VARCHAR(200) NOT NULL,
        JOB_GROUP VARCHAR(200) NOT NULL,
        JOB_LISTENER VARCHAR(200) NOT NULL,
        PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER),
        FOREIGN KEY (JOB_NAME,JOB_GROUP)
            REFERENCES QRTZ5_JOB_DETAILS(JOB_NAME,JOB_GROUP)
    );
    CREATE TABLE QRTZ5_TRIGGERS
      (
        TRIGGER_NAME VARCHAR(200) NOT NULL,
        TRIGGER_GROUP VARCHAR(200) NOT NULL,
        JOB_NAME  VARCHAR(200) NOT NULL,
        JOB_GROUP VARCHAR(200) NOT NULL,
        IS_VOLATILE VARCHAR(1) NOT NULL,
        DESCRIPTION VARCHAR(250) NULL,
        NEXT_FIRE_TIME BIGINT(13) NULL,
        PREV_FIRE_TIME BIGINT(13) NULL,
        PRIORITY INTEGER NULL,
        TRIGGER_STATE VARCHAR(16) NOT NULL,
        TRIGGER_TYPE VARCHAR(8) NOT NULL,
        START_TIME BIGINT(13) NOT NULL,
        END_TIME BIGINT(13) NULL,
        CALENDAR_NAME VARCHAR(200) NULL,
        MISFIRE_INSTR SMALLINT(2) NULL,
        JOB_DATA BLOB NULL,
        PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
        FOREIGN KEY (JOB_NAME,JOB_GROUP)
            REFERENCES QRTZ5_JOB_DETAILS(JOB_NAME,JOB_GROUP)
    );
    CREATE TABLE QRTZ5_SIMPLE_TRIGGERS
      (
        TRIGGER_NAME VARCHAR(200) NOT NULL,
        TRIGGER_GROUP VARCHAR(200) NOT NULL,
        REPEAT_COUNT BIGINT(7) NOT NULL,
        REPEAT_INTERVAL BIGINT(12) NOT NULL,
        TIMES_TRIGGERED BIGINT(10) NOT NULL,
        PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
        FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
            REFERENCES QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
    );
    CREATE TABLE QRTZ5_CRON_TRIGGERS
      (
        TRIGGER_NAME VARCHAR(200) NOT NULL,
        TRIGGER_GROUP VARCHAR(200) NOT NULL,
        CRON_EXPRESSION VARCHAR(200) NOT NULL,
        TIME_ZONE_ID VARCHAR(80),
        PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
        FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
            REFERENCES QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
    );
    CREATE TABLE QRTZ5_BLOB_TRIGGERS
      (
        TRIGGER_NAME VARCHAR(200) NOT NULL,
        TRIGGER_GROUP VARCHAR(200) NOT NULL,
        BLOB_DATA BLOB NULL,
        PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
        FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
            REFERENCES QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
    );
    CREATE TABLE QRTZ5_TRIGGER_LISTENERS
      (
        TRIGGER_NAME  VARCHAR(200) NOT NULL,
        TRIGGER_GROUP VARCHAR(200) NOT NULL,
        TRIGGER_LISTENER VARCHAR(200) NOT NULL,
        PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER),
        FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
            REFERENCES QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
    );
    CREATE TABLE QRTZ5_CALENDARS
      (
        CALENDAR_NAME  VARCHAR(200) NOT NULL,
        CALENDAR BLOB NOT NULL,
        PRIMARY KEY (CALENDAR_NAME)
    );
    CREATE TABLE QRTZ5_PAUSED_TRIGGER_GRPS
      (
        TRIGGER_GROUP  VARCHAR(200) NOT NULL,
        PRIMARY KEY (TRIGGER_GROUP)
    );
    CREATE TABLE QRTZ5_FIRED_TRIGGERS
      (
        ENTRY_ID VARCHAR(95) NOT NULL,
        TRIGGER_NAME VARCHAR(200) NOT NULL,
        TRIGGER_GROUP VARCHAR(200) NOT NULL,
        IS_VOLATILE VARCHAR(1) NOT NULL,
        INSTANCE_NAME VARCHAR(200) NOT NULL,
        FIRED_TIME BIGINT(13) NOT NULL,
        PRIORITY INTEGER NOT NULL,
        STATE VARCHAR(16) NOT NULL,
        JOB_NAME VARCHAR(200) NULL,
        JOB_GROUP VARCHAR(200) NULL,
        IS_STATEFUL VARCHAR(1) NULL,
        REQUESTS_RECOVERY VARCHAR(1) NULL,
        PRIMARY KEY (ENTRY_ID)
    );
    CREATE TABLE QRTZ5_SCHEDULER_STATE
      (
        INSTANCE_NAME VARCHAR(200) NOT NULL,
        LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
        CHECKIN_INTERVAL BIGINT(13) NOT NULL,
        PRIMARY KEY (INSTANCE_NAME)
    );
    CREATE TABLE QRTZ5_LOCKS
      (
        LOCK_NAME  VARCHAR(40) NOT NULL,
        PRIMARY KEY (LOCK_NAME)
    );
    INSERT INTO QRTZ5_LOCKS values('TRIGGER_ACCESS');
    INSERT INTO QRTZ5_LOCKS values('JOB_ACCESS');
    INSERT INTO QRTZ5_LOCKS values('CALENDAR_ACCESS');
    INSERT INTO QRTZ5_LOCKS values('STATE_ACCESS');
    INSERT INTO QRTZ5_LOCKS values('MISFIRE_ACCESS');
    CREATE DATABASE IF NOT EXISTS `hibernate` DEFAULT CHARACTER SET utf8;
    -- repository
    USE hibernate;
    CREATE USER 'hibuser'@'%' identified by '!QAZ2wsx';
    GRANT ALL PRIVILEGES ON hibernate.* TO 'hibuser'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

配置文件修改

基本上都是配置Mysql数据库信息

pentaho-server/pentaho-solutions/system/quartz/quartz.properties

#org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate 

在这里插入图片描述

pentaho-server/pentaho-solutions/system/applicationContext-spring-security-jdbc.properties

datasource.driver.classname=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://xxxx:3306/hibernate
datasource.username=hibuser
datasource.password=!QAZ2wsx
datasource.validation.query=SELECT 1
datasource.pool.max.wait=-1
datasource.pool.max.active=8

在这里插入图片描述

pentaho-server/pentaho-solutions/system/simple-jndi/jdbc.properties

SampleData/type=javax.sql.DataSource
SampleData/driver=com.mysql.cj.jdbc.Driver
SampleData/url.cj.jdbc:mysql://xxxx:3306/hibernate
SampleData/user=hibuser
SampleData/password=!QAZ2wsx
Hibernate/type=javax.sql.DataSource
Hibernate/driver=com.mysql.cj.jdbc.Driver
Hibernate/url.cj.jdbc:mysql://xxxx:3306/hibernate
Hibernate/user=hibuser
Hibernate/password=!QAZ2wsx
Quartz/type=javax.sql.DataSource
Quartz/driver=com.mysql.cj.jdbc.Driver
Quartz/url.cj.jdbc:mysql://xxxx:3306/quartz
Quartz/user=pentaho_user
Quartz/password=!QAZ2wsx
Shark/type=javax.sql.DataSource
Shark/driver=com.mysql.cj.jdbc.Driver
Shark/url.cj.jdbc:mysql://xxxx:3306/hbibernate
Shark/user=hibuser
Shark/password=!QAZ2wsx
SampleDataAdmin/type=javax.sql.DataSource
SampleDataAdmin/driver=com.mysql.cj.jdbc.Driver
SampleDataAdmin/url.cj.jdbc:mysql://xxxx:3306/hibernate
SampleDataAdmin/user=hibuser
SampleDataAdmin/password=!QAZ2wsx

在这里插入图片描述

pentaho-server/pentaho-solutions/system/applicationContext-spring-security-hibernate.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://xxx:3306/hibernate
jdbc.username=hibuser
jdbc.password=!QAZ2wsx
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

在这里插入图片描述

还有一处需要修改dialects/mysql5/applicationContext-spring-security-hibernate.properties
在这里插入图片描述

pentaho-server/pentaho-solutions/system/hibernate/hibernate-settings.xml

<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>

在这里插入图片描述

pentaho-server/pentaho-solutions/system/hibernate/mysql5.hibernate.cfg.xml

<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://xxxx:3306/hibernate</property>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="connection.username">hibuser</property>
<property name="connection.password">!QAZ2wsx</property>
<property name="connection.pool_size">10</property>
<property name="show_sql">false</property>
<property name="hibernate.jdbc.use_streams_for_binary">true</property>

在这里插入图片描述

替换audit_sql.xml
在这里插入图片描述

pentaho-server/pentaho-solutions/system/jackrabbit/repository.xml

要改的地方有点多
在这里插入图片描述

<!--
  <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
     <param name="path" value="${rep.home}/repository"/>
  </FileSystem>
-->

<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
    <param name="driver" value="com.mysql.cj.jdbc.Driver"/>
    <param name="url" value="jdbc:mysql://xxxx:3306/jackrabbit"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="!QAZ2wsx"/>
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>

在这里插入图片描述

<!--  <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/>-->
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
    <param name="url" value="jdbc:mysql://xxxx:3306/jackrabbit"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="!QAZ2wsx"/>
    <param name="databaseType" value="mysql"/>
    <param name="driver" value="com.mysql.cj.jdbc.Driver"/>
    <param name="minRecordLength" value="1024"/>
    <param name="maxConnections" value="3"/>
    <param name="copyWhenReading" value="true"/>
    <param name="tablePrefix" value=""/>
    <param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>

在这里插入图片描述

  <!--  <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
      <param name="path" value="${rep.home}/version" /> -->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
    <param name="driver" value="com.mysql.cj.jdbc.Driver"/>
    <param name="url" value="jdbc:mysql://xxxx:3306/jackrabbit"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="!QAZ2wsx"/>
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>

在这里插入图片描述

    <!--<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
      <param name="url" value="jdbc:h2:${wsp.home}/db"/>
      <param name="schemaObjectPrefix" value="${wsp.name}_"/>
    </PersistenceManager>-->
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
    <param name="driver" value="com.mysql.cj.jdbc.Driver"/>
    <param name="url" value="jdbc:mysql://221.221.221.7:3306/jackrabbit"/>
    <param name="user" value="jcr_user" />
    <param name="password" value="!QAZ2wsx" />
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>

在这里插入图片描述

    <!--<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
      <param name="path" value="${wsp.home}"/>
    </FileSystem>-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
    <param name="driver" value="com.mysql.cj.jdbc.Driver"/>
    <param name="url" value="jdbc:mysql://xxxx:3306/jackrabbit"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="!QAZ2wsx"/>
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>

在这里插入图片描述

    <!--<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
      <param name="url" value="jdbc:h2:${rep.home}/version/db"/>
      <param name="schemaObjectPrefix" value="version_"/>
    </PersistenceManager>-->
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
    <param name="driver" value="com.mysql.cj.jdbc.Driver"/>
    <param name="url" value="jdbc:mysql://221.221.221.7:3306/jackrabbit"/>
    <param name="user" value="jcr_user" />
    <param name="password" value="!QAZ2wsx" />
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>

在这里插入图片描述

<!--    <Journal class="org.apache.jackrabbit.core.journal.MemoryJournal"/> -->
<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
    <param name="revision" value="${rep.home}/revision.log"/>
    <param name="url" value="jdbc:mysql://221.221.221.7:3306/jackrabbit"/>
    <param name="driver" value="com.mysql.cj.jdbc.Driver"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="!QAZ2wsx"/>
    <param name="schema" value="mysql"/>
    <param name="databaseType" value="mysql"/>
    <param name="janitorEnabled" value="true"/>
    <param name="janitorSleep" value="86400"/>
    <param name="janitorFirstRunHourOfDay" value="3"/>
</Journal>

tomcat

  • 替换pentaho-server/tomcat/lib下面的mysql驱动包
    在这里插入图片描述

  • 修改配置文件pentaho-server/tomcat/webapps/pentaho/META-INF/context.xml
    在这里插入图片描述

    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="/pentaho" docbase="webapps/pentaho/">
        <Resource validationQuery="select 1" url="jdbc:mysql://xxxx:3306/hibernate" driverClassName="com.mysql.cj.jdbc.Driver" password="!QAZ2wsx" username="hibuser" initialSize="0" maxActive="20" maxIdle="10" maxWait="10000" factory="org.apache.commons.dbcp.BasicDataSourceFactory" type="javax.sql.DataSource" auth="Container" name="jdbc/Hibernate"/>
        <Resource validationQuery="select 1" url="jdbc:mysql://xxxx:3306/quartz" driverClassName="com.mysql.cj.jdbc.Driver" password="!QAZ2wsx" username="pentaho_user" testOnBorrow="true" initialSize="0" maxActive="20" maxIdle="10" maxWait="10000" factory="org.apache.commons.dbcp.BasicDataSourceFactory" type="javax.sql.DataSource" auth="Container" name="jdbc/Quartz"/>
        <Resource name="jdbc/jackrabbit" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0" maxWait="10000" username="jcr_user" password="!QAZ2wsx" driverClassName="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://xxxx:3306/jackrabbit" validationQuery="select 1"/>
    </Context>
    
  • 注释pentaho-server/tomcat/webapps/pentaho/WEB-INF/web.xml相关配置
    搜索关键字BEGIN HSQLDB DATABASES
    在这里插入图片描述
    搜索关键字BEGIN HSQLDB STARTER
    在这里插入图片描述

pentaho-server/pentaho-solutions/system/systemListeners.xml

在这里插入图片描述

启动服务

./start-pentaho.sh

image.png

登录控制台

在这里插入图片描述

在这里插入图片描述

客户端连接

  • 本地直接解压上面下载的客户端安装包,启动spoon
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题排查

遇到的问题就两种,一是端口冲突,二是文件配置不对(少个标签呀、密码不对呀),根据日志直接排查即可
查看日志:pentaho-server/tomcat/logs
在这里插入图片描述

禁用H2

启动报H2端口冲突错,即使你已经指定了 MySQL 数据库作为 Pentaho BI Server 的数据源,H2 数据库服务器仍然会尝试启动。这是因为 H2 数据库用于存储 Pentaho 系统的一些内部信息和配置。
要解决这个问题,你可以选择以下两种方法之一:

  1. 更改 H2 数据库服务器的端口
    如上一个回答所述,你可以修改 GettingStartedDB-spring.xml 文件中的端口号,将 H2 数据库服务器绑定到一个新的、未被使用的端口。
  2. 禁用 H2 数据库服务器
    如果你确定不需要使用 H2 数据库服务器,可以将其完全禁用。为此,请在 GettingStartedDB-spring.xml 文件中找到 h2Server bean 的定义,并将 <bean> 标签的 init-method="start" 属性更改为 init-method=""。这将阻止 Spring 在初始化上下文时启动 H2 数据库服务器。

请注意,在进行任何更改后,都需要重新启动 Pentaho BI Server 以使更改生效。
在这里插入图片描述

<constructor-arg>
    <array value-type="java.lang.String">
      <value>-tcp</value>
      <value>-tcpAllowOthers</value>
      <value>-tcpPort</value>
      <value>9792</value>
    </array>
</constructor-arg>

其它

  • 只是为了个人了解,直接本地解压启动即可,无需任何配置

    • 服务端
      在这里插入图片描述
    • 客户端
      在这里插入图片描述
      具体使用,正在研究中…
      =======================================================================
      20231206更新: pdi-ce-9.4.0.0-343.zip和pentaho-server-ce-9.4.0.0-343.zip区别及简单使用

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

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

相关文章

面试 JVM 八股文五问五答第一期

面试 JVM 八股文五问五答第一期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1.JVM内存布局 Heap (堆区&#xff09; 堆是 OOM 故障最主要的发生区域。它是内存…

class074 背包dp-分组背包、完全背包【算法】

class074 背包dp-分组背包、完全背包【算法】 算法讲解074【必备】背包dp-分组背包、完全背包 code1 P1757 通天之分组背包 // 分组背包(模版) // 给定一个正数m表示背包的容量&#xff0c;有n个货物可供挑选 // 每个货物有自己的体积(容量消耗)、价值(获得收益)、组号(分组)…

分布式搜索引擎02

分布式搜索引擎02 在昨天的学习中&#xff0c;我们已经导入了大量数据到elasticsearch中&#xff0c;实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。 所以今天&#xff0c;我们研究下elasticsearch的数据搜索功能。我们会分别使用DSL和Res…

小红书笔记种草表现怎么看,营销攻略!

小红书平台的传播&#xff0c;离不开内容种草。当我们撰写好一篇笔记并进行发布后&#xff0c;该如何衡量这篇笔记的种草表现呢?今天我们为大家分享下小红书笔记种草表现怎么看&#xff0c;营销攻略&#xff01; 一、小红书笔记种草衡量指标 想要了解小红书笔记种草表现怎么看…

智能监控平台/视频共享融合系统EasyCVR接入大华SDK后只有一路通道可云台控制该如何解决?

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&…

31、卷积 - 参数 dilation 以及空洞卷积

在卷积算法中,还有一个不常见的参数叫做dilation(中文:膨胀)。 很多同学可能没听说过这个参数,下面看看这个参数有什么作用,用来控制什么的。 我们还是放这个经典的卷积运算图,图中是看不出 dilation 这个参数的存在的。 如果再换一张图呢,发现两图的区别了吗? 没错…

蓝桥杯Web组学习总结 - 目录导航版

HTML5 HTML 基础标签 HTML5 标签列表 HTML5 新特性 HTML5都有哪些新特性&#xff1f; CSS3 CSS 基础语法 CSS参考手册 盒子模型 CSS Box Model (盒子模型) 浮动与定位&#xff1f;&#xff1f; CSS 浮动(float)与定位(position) CSS布局之浮动和定位 CSS3 新特性 …

Python从入门到精通五:Python数据容器

数据容器入门 为什么学习数据容器 思考一个问题&#xff1a;如果我想要在程序中&#xff0c;记录5名学生的信息&#xff0c;如姓名。 如何做呢&#xff1f; 学习数据容器&#xff0c;就是为了批量存储或批量使用多份数据 Python中的数据容器&#xff1a; 一种可以容纳多份…

【每日一题】—— B. StORage room(Codeforces Round 912 (Div. 2))(位操作符)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;每日一题 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日反刍 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称…

LeetCode5.最长回文子串

昨天和之前打比赛的队友聊天&#xff0c;他说他面百度面到这道算法题&#xff0c;然后他用暴力法解的&#xff0c;面试官让他优化他没优化出来&#xff0c;这道题我之前没写过&#xff0c;我就想看看我能不能用效率高一点的方法把它做出来&#xff0c;我一开始就在想用递归或者…

排程系统中关于任务优先级的需求延伸与设计构思

无论是面向销售订单的MPS&#xff0c;还是基于多工序制约关系的APS&#xff0c;还是具体车间生产中针对单一工序的任务作业调度优化&#xff0c;都存在基于被排程对象(例如销售订单、生产工单、工序任务)的优先级进行优化的需求场景。当我们仅在宏观、较高层次的角度考虑&#…

Linux高级管理-基于域名的虚拟Web主机搭建

客服机限制地址 通过 Require 配置项&#xff0c;可以根据主机的主机名或P地址来决定是否允许客户端访问。在httpd服 务器的主配置文件的<Location>&#xff0c;<Directory>、<Files>、<Limit>配置段中均可以使用Require 配置 项来控制客户端的访问。使…

Python常见面试知识总结(二):数据结构、类方法及异常处理

【十三】Python中assert的作用&#xff1f; Python中assert&#xff08;断言&#xff09;用于判断一个表达式&#xff0c;在表达式条件为 f a l s e false false的时候触发异常。 断言可以在条件不满足程序运行的情况下直接返回错误&#xff0c;而不必等待程序运行后出现崩溃…

openGauss学习笔记-153 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_probackup

文章目录 openGauss学习笔记-153 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_probackup153.1 背景信息153.2 前提条件153.3 限制说明153.4 命令说明153.5 参数说明153.6 备份流程153.7 故障处理 openGauss学习笔记-153 openGauss 数据库运维-备份与恢复-物理备份与恢…

java.net.SocketException: Connection reset

背景 在我用socket进行TCP通信的时候&#xff0c;当我关闭client端时在服务端出现了Connection reset的异常。 一、问题 下面是异常信息&#xff1a; Exception in thread "Thread-12" java.lang.RuntimeException: java.net.SocketException: Connection reseta…

【复现】AnimateDiff复现过程记录

出现了非常多的问题&#xff0c;痛苦 1.首先是下载基础模型 手动下载所有模型并创建目录放到对应的地方 文件路径问题是最简单也是最麻烦的&#xff0c;简单是只要把原来指向huggingface和openai之类要联网下载的路径改为存放文件的本地路径就行&#xff0c;一定要是绝对路径&…

【计算机网络】UDP报文详解

目录 一. UDP协议概述 二. UDP报文格式 首部 三. UDP的缓冲区 一. UDP协议概述 UDP——用户数据报协议&#xff0c;是传输层的一个重要协议 基于UDP的应用层协议有&#xff1a;DNS&#xff0c;TFTP&#xff0c;SNMP&#xff0c;NTP 协议全称默认端口号DNSDomain Name Se…

idea__SpringBoot微服务09——员工管理系统,(Springboot解决乱码),thymeleaf语法,404页面。

员工管理系统 完整项目地址&#xff1a;一、首页实现&#xff08;注意的点&#xff09;二、国际化三、乱码解决四、登录功能实现&#xff08;注意的点&#xff09;五、登录拦截器&#xff08;注意的点&#xff09;六、展示员工列表&#xff08;注意的点&#xff09;1、前端页面…

HCIA-H12-811题目解析(9)

1、【单选题】下面选项中&#xff0c;能使一台IP地址为10.0.0.1的主机访问Interne的必要技术是&#xff1f; 2、【单选题】 FTP协议控制平面使用的端口号为&#xff1f; 3、【单选题】 使用FTP进行文件传输时&#xff0c;会建立多少个TCP连接&#xff1f; 4、【单选题】完成…

18.Java程序设计-基于Springboot的电影院售票系统的设计与实现

摘要 电影产业在当今社会中占据着重要地位&#xff0c;电影院作为观影的主要场所&#xff0c;其售票系统的高效性和用户体验至关重要。本文基于Spring Boot框架设计并实现了一款电影院售票系统&#xff0c;旨在提高售票效率、优化用户体验&#xff0c;并解决传统售票方式存在的…