【运维】linkis1.3.2版本保姆级安装

news2024/11/24 20:57:37

文章目录

  • 一.建议配置
    • 1 软硬件环境建议配置
      • 1.1 Linux 操作系统版本要求
      • 1.2 服务器建议配置
      • 1.3 软件要求
      • 1.4 客户端 Web 浏览器要求
      • 2.3 LDAP设置(暂时不需要)
  • 二. 下载
  • 三. 安装部署linkis server端
    • 1. 首次安装准备事项
      • 1.1 Linux服务器
      • 1.2 添加部署用户
    • 2. 配置修改
      • 2.1 解压
      • 2.2 配置数据库信息
      • 2.3 配置基础变量
    • 3. 安装和启动
      • 3.1 执行安装脚本:
      • 3.2 添加mysql驱动包
      • 3.3 配置调整(略)
      • 3.4 启动服务
      • 3.5 安装后配置的修改或重新安装
      • 3.6 检查服务是否正常启动
  • 四. 验证linkis server基础功能
    • 1. 执行命令
    • 2. hive任务
      • 报错一
      • 报错二:类找不到
    • 3. spark任务
  • 五. 安装linkis前端
    • 1. 下载
    • 2. 配置
    • 3. 执行部署脚本
    • 4. 调试nginx
      • 4.1 Permission denied
      • 4.2. Unexpected token <
  • 六. linkis的问题集记录

一.建议配置

1 软硬件环境建议配置

1.1 Linux 操作系统版本要求

CentOS 7.0 及以上

 

1.2 服务器建议配置

Linkis 支持运行在 Intel x86-64 架构的 64 位通用硬件服务器平台。对生产环境的服务器硬件配置有以下建议:
在这里插入图片描述

注意:

  • 以上建议配置为部署 Linkis的最低配置,生产环境强烈推荐使用更高的配置
  • 硬盘大小配置建议 50GB+ ,注意:系统盘和数据盘分开
     

1.3 软件要求

在这里插入图片描述

注意: 如果本地安装组件版本与上述不一致,需要进行修改对应组件版本,自行编译二进制包进行安装。
但一般是向下兼容,我这里的hadoop是3.0.1,也安装成功了。

 

1.4 客户端 Web 浏览器要求

Linkis推荐 Chrome 73版本进行前端访问

 

2.3 LDAP设置(暂时不需要)

 

二. 下载

1.3.2版本前后端下载地址:
https://dlcdn.apache.org/linkis/1.3.2/

包完整性校验

linkis-download
gpg-download

 

三. 安装部署linkis server端

1. 首次安装准备事项

1.1 Linux服务器

硬件要求
在这里插入图片描述
 

1.2 添加部署用户

部署用户:

linkis核心进程的启动用户,同时此用户会默认作为管理员权限,部署过程中会生成对应的管理员登录密码,位于conf/linkis-mg-gateway.properties文件中 Linkis支持指定提交、执行的用户。

启动引擎时会使用到部署用户

linkis主要进程服务会通过sudo -u ${linkis-user} 切换到对应用户下,然后执行对应的引擎启动命令,所以引擎linkis-engine进程归属的用户是任务的执行者(因此部署用户需要有sudo权限,而且是免密的)。

查看是否存在用户

$ id taiyi
uid=2001(taiyi) gid=2001(taiyi) groups=2001(taiyi)
$ sudo useradd taiyi -g taiyi

# 添加免密
$ vi /etc/sudoers
#免密配置
hadoop ALL=(ALL) NOPASSWD: NOPASSWD: ALL

注意:以下操作都是在(比如)taiyi用户下进行
 

2. 配置修改

2.1 解压

上传安装包apache-linkis-x.x.x-bin.tar.gz后,进行解压安装包

$ tar -xvf apache-linkis-x.x.x-bin.tar.gz

解压后的目录结构如下:

-rw-r--r-- 1 hadoop hadoop 518192043 Jun 20 09:50 apache-linkis-1.3.1-bin.tar.gz
drwxrwxr-x 2 hadoop hadoop      4096 Jun 20 09:56 bin  
//执行环境检查和安装的脚本
drwxrwxr-x 2 hadoop hadoop      4096 Jun 20 09:56 deploy-config 
// 部署时依赖的DB等环境配置信息
drwxrwxr-x 4 hadoop hadoop      4096 Jun 20 09:56 docker
drwxrwxr-x 4 hadoop hadoop      4096 Jun 20 09:56 helm
-rwxrwxr-x 1 hadoop hadoop     84732 Jan 22  2020 LICENSE
drwxr-xr-x 2 hadoop hadoop     20480 Jun 20 09:56 licenses
drwxrwxr-x 7 hadoop hadoop      4096 Jun 20 09:56 linkis-package 
// 实际的软件包,包括lib/服务启动脚本工具/db的初始化脚本/微服务的配置文件等
-rwxrwxr-x 1 hadoop hadoop    119503 Jan 22  2020 NOTICE
-rw-r--r-- 1 hadoop hadoop     11959 Jan 22  2020 README_CN.md
-rw-r--r-- 1 hadoop hadoop     12587 Jan 22  2020 README.md

 

2.2 配置数据库信息

vim deploy-config/db.sh

### Used to store user's custom variables, user's configuration, UDFs and functions, while providing the JobHistory service
# Linkis自身业务的数据库信息
MYSQL_HOST=hostname
MYSQL_PORT=3306
MYSQL_DB=linkis
MYSQL_USER=xmanager
MYSQL_PASSWORD=XManager_360.cn


# 提供 Hive 元数据数据库的 DB 信息,如果不涉及hive引擎(或则只是简单试用),可以不配置 
#主要是配合scriptis一起使用,如果不配置,会默认尝试通过$HIVE_CONF_DIR 中的配置文件获取
### Provide the DB information of Hive metadata database.
### Attention! If there are special characters like "&", they need to be enclosed in quotation marks.
HIVE_META_URL="jdbc:mysql://mysql—host:3306/hivedb?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false"
HIVE_META_USER="user"
HIVE_META_PASSWORD="password"  

 

2.3 配置基础变量

文件位于deploy-config/linkis-env.sh

. 部署用户
### deploy user
deployUser=taiyi
##If you don't set it, a random password string will be generated during installation
deployPwd=


&nbsp;. 基础目录配置: 注意这些目录需要部署用户能够创建,
# 指定用户使用的目录路径,一般用于存储用户的脚本文件和日志文件等,是用户的工作空间。 
对应的配置文件配置项为  wds.linkis.filesystem.root.path(linkis.properties)
### Specifies the user workspace, which is used to store the user's script files and log files.
### Generally local directory, path mode can be [file://] or [hdfs://]
# 注意以下配置:hdfs://后不用跟具体server信息,逻辑是:linkis识别协议(hdfs://),然后创建路径
WORKSPACE_USER_ROOT_PATH=hdfs:///tmp/linkis

# 结果集日志等文件路径,用于存储Job的结果集文件(分布式的一定是hdfs://)
wds.linkis.filesystem.hdfs.root.path(linkis.properties)
HDFS_USER_ROOT_PATH=hdfs:///tmp/linkis

# 结果集日志等文件路径,用于存储Job的结果集文件  
wds.linkis.resultSet.store.path(linkis-cg-entrance.properties) 
//如果未配置 使用HDFS_USER_ROOT_PATH的配置
RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis 

# 存放执行引擎的工作路径,需要部署用户有写权限的本地目录   
wds.linkis.engineconn.root.dir(linkis-cg-engineconnmanager.properties)
ENGINECONN_ROOT_PATH=/home/taiyi/linkis1.3.2/back/appcom/tmp 



三. Yarn的ResourceManager的地址
如果需要使用Spark引擎 则需要配置
##YARN REST URL  spark engine required
# Active resourcemanager address needed. Recommended to add all ha addresses. eg YARN_RESTFUL_URL="http://127.0.0.1:8088;http://127.0.0.2:8088"
YARN_RESTFUL_URL="http://hostname:8888". 基础组件环境信息
可以通过用户的系统环境变量配置, 如果已经配置了系统环境变量,
deploy-config/linkis-env.sh配置文件中可以不进行配置 直接注释掉。

##如果不使用Hive、Spark等引擎且不依赖Hadoop,则不需要配置以下环境变量
##############################################################
#
#    NOTICE:
#         You can also set these variables as system environment in ~/.bashrc file
# HADOOP

HADOOP_HOME=/home/taiyi/clients/hadoop-3.0.1/
HADOOP_CONF_DIR=/home/taiyi/clients/hadoop-3.0.1/etc/hadoop
HADOOP_KERBEROS_ENABLE=${HADOOP_KERBEROS_ENABLE:-"false"}
HADOOP_KEYTAB_PATH=${HADOOP_KEYTAB_PATH:-"/appcom/keytab/"}
## Hadoop env version
HADOOP_VERSION=${HADOOP_VERSION:-"2.7.2"}

#Hive
HIVE_HOME=/home/taiyi/clients/hive
HIVE_CONF_DIR=/home/taiyi/clients/hive/conf

#Spark
#SPARK_HOME=/appcom/Install/spark
#SPARK_CONF_DIR=/appcom/config/spark-config   .JVM内存配置(可选)
## java application default jvm memory
export SERVER_HEAP_SIZE="512M".安装目录配置(可选)
Linkis最终会被安装到此目录下,不配置默认是与当前安装包同一级目录下
##The decompression directory and the installation directory need to be inconsistent
LINKIS_HOME=/home/taiyi/linkis1.3.2/install

 

无hdfs模式
在这里插入图片描述

需要注意的是无HDFS模式不支持hive、spark、flink引擎等任务。

 

3. 安装和启动

3.1 执行安装脚本:

sh bin/install.sh

日志过程:
hadoop的版本

WARNING: log4j.properties is not found. HADOOP_CONF_DIR may be incomplete.
WARN: Your [hadoop] version is not match default support version: 2.7, there may be compatibility issues:
 1: Continue installation, there may be compatibility issues
 2: Exit installation
 other: exit

这里搭建的hadoop版本是3.0.1,我选择了继续安装,发现linkis能够与之适配。

初始化数据库在这里插入图片描述

执行成功提示如下:

`Congratulations! You have installed Linkis 1.0.3 successfully, please use sh /data/Install/linkis/sbin/linkis-start-all.sh to start it!  
Your default account password is [hadoop/5e8e312b4]`

 

3.2 添加mysql驱动包

下载mysql驱动 以5.1.49版本为例:下载链接

拷贝mysql 驱动包至lib包下

cp mysql-connector-java-5.1.49.jar  ${LINKIS_HOME}/lib/linkis-spring-cloud-services/linkis-mg-gateway/
cp mysql-connector-java-5.1.49.jar  ${LINKIS_HOME}/lib/linkis-commons/public-module/

 

3.3 配置调整(略)

3.4 启动服务

sh sbin/linkis-start-all.sh

 

3.5 安装后配置的修改或重新安装

安装完成后,如果需要修改配置(因端口冲突或者某些配置有问题需要调整配置)

  • 可以重新执行安装
  • 或则修改对应服务的配置${LINKIS_HOME}/conf/*properties文件后,重启对应的服务,如:sh sbin/linkis-daemon.sh start ps-publicservice。

 

3.6 检查服务是否正常启动

访问eureka服务页面(http://eurekaip:20303), 默认会启动6个 Linkis 微服务,其中下图linkis-cg-engineconn服务为运行任务才会启动。

在这里插入图片描述

LINKIS-CG-ENGINECONNMANAGER 引擎管理服务 
LINKIS-CG-ENTRANCE  计算治理入口服务
LINKIS-CG-LINKISMANAGER  计算治理管理服务 
LINKIS-MG-EUREKA        微服务注册中心服务   
LINKIS-MG-GATEWAY  网关服务 
LINKIS-PS-PUBLICSERVICE 公共服务 

注意:在 Linkis 1.3.1 中已将 LINKIS-PS-CS、LINKIS-PS-DATA-SOURCE-MANAGER、
LINKIS-PS-METADATAMANAGER服务合并到LINKIS-PS-PUBLICSERVICE,
将LINKIS-CG-ENGINEPLUGIN服务合并到LINKIS-CG-LINKISMANAGER。

如果有服务未启动,可以在对应的log/${服务名}.log文件中查看详细异常日志。

 

四. 验证linkis server基础功能

1. 执行命令

#引擎的engineType 拼接的版本号,一定要与实际的相匹配,以下示例是默认的版本号 
#shell 引擎任务
sh bin/linkis-cli -submitUser  taiyi  -engineType shell-1 -codeType shell  -code "whoami"

#hive引擎任务
sh bin/linkis-cli -submitUser  taiyi  -engineType hive-2.3.3  -codeType hql  -code "show tables"

#spark引擎任务
sh bin/linkis-cli -submitUser  taiyi  -engineType spark-2.4.3 -codeType sql  -code "show tables"

#python引擎任务
sh bin/linkis-cli -submitUser  taiyi  -engineType python-python2 -codeType python  -code 'print("hello, world!")'

 

2. hive任务

#hive引擎任务
sh bin/linkis-cli -submitUser  taiyi  -engineType hive-2.3.3  -codeType hql  -code "show tables"

 

报错一

提交hive任务时报错:
在这里插入图片描述

涉及到三个组件报错
在这里插入图片描述

9101: gateway
9102:cg-engineconnmanager
9104:cg-entrance

查看堆栈信息
在这里插入图片描述
配置hive相关环境变量,注意配置好环境变量之后要记得重启服务,否则还是无法生效。

 

报错二:类找不到

报如下错误:ClassNotFoundException,JDOPersistenceManagerFactory,com.hadoop.compression.lzo.LzoCodec,JDOQLTypedQuery
问题描述:提交hql脚本出现如下错误:

Caused by: org.apache.hadoop.hive.metastore.api.MetaException: Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found.
        at org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:83) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:92) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6893) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:164) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.<init>(SessionHiveMetaStoreClient.java:70) ~[hive-exec-2.3.3.jar:2.3.3]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_144]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_144]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructor
Caused by: java.lang.IllegalArgumentException: Compression codec com.hadoop.compression.lzo.LzoCodec not found.
        at org.apache.hadoop.io.compress.CompressionCodecFactory.getCodecClasses(CompressionCodecFactory.java:139) ~[hadoop-common-2.7.2.jar:?]
        at org.apache.hadoop.io.compress.CompressionCodecFactory.<init>(CompressionCodecFactory.java:180) ~[hadoop-common-2.7.2.jar:?]
        at org.apache.hadoop.mapred.TextInputFormat.configure(TextInputFormat.java:45) ~[hadoop-mapreduce-client-core-2.7.2.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
        at org.apache.hive.common.util.ReflectionUtil.setJobConf(ReflectionUtil.java:112) ~[hive-common-2.3.3.jar:2.3.3]
        at org.apache.hive.common.util.ReflectionUtil.setConf(ReflectionUtil.java:103) ~[hive-common-2.3.3.jar:2.3.3]
        at org.apache.hive.common.util.ReflectionUtil.newInstance(ReflectionUtil.java:87) ~[hive-common-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.ql.exec.FetchOperator.getInputFormatFromCache(FetchOperator.java:215) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextSplits(FetchOperator.java:370) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:304) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:459) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:428) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:147) ~[hive-exec-2.3.3.jar:2.3.3]
        at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:2208) ~[hive-exec-2.3.3.jar:2.3.3]
        ... 49 more 
[Linkis-Default-Scheduler-Thread-1] org.apache.hadoop.hive.metastore.RetryingHMSHandler 
204 invokeInternal - java.lang.NoClassDefFoundError: 
javax/jdo/JDOQLTypedQuery

解决方案:
把hive安装目录下的lib:
datanucleus-api-jdo-4.2.4.jar、datanucleus-rdbms-4.1.19.jar、javax.jdo-3.2.0-m3.jar

cp -f  /home/taiyi/clients/hive/lib/datanucleus-*        /home/taiyi/linkis1.3.2/install/lib/linkis-engineconn-plugins/hive/dist/2.3.3/lib 
cp /home/taiyi/clients/hive/lib/javax.jdo-3.2.0-m3.jar       /home/taiyi/linkis1.3.2/install/lib/linkis-engineconn-plugins/hive/dist/2.3.3/lib

重启engineconn:,需要重启所有的linkis组件才能生效.

 

3. spark任务

#spark引擎任务
sh bin/linkis-cli -submitUser  taiyi  -engineType spark-2.4.3 -codeType sql  -code "show tables"

在这里插入图片描述
没有找到mysql驱动
在这里插入图片描述

下载驱动mysql-connector-java-5.1.49.jar,放入lib中

{linkis_install_home}/lib/linkis-engineconn-plugins/spark/dist/2.4.3/lib

重启生效。

 

五. 安装linkis前端

web端是使用nginx作为静态资源服务器的,访问请求流程是:

Linkis管理台请求->nginx ip:port->linkis-gateway ip:port-> 其他服务

1. 下载

tar -xvf apache-linkis-x.x.x-web-bin.tar.gz

 

2. 配置

#URL of the backend service of linkis-mg-gateway
linkis_url=http://hostname:9001

#linkis ip address,the http access address for linkis-web will be http://${linkis_ipaddr}:${linkis_port}
linkis_ipaddr=hostname
linkis_port=8188 

 

3. 执行部署脚本

# nginx 需要sudo权限进行安装
sudo sh install.sh

 

4. 调试nginx

安装后,linkis的nginx配置文件默认是 在/etc/nginx/conf.d/linkis.conf ,如下配置


        server {
            listen       8188;# 访问端口 如果端口被占用,则需要修改
            server_name  hostname;
            #charset koi8-r;
            #access_log  /var/log/nginx/host.access.log  main;
            location / {
            root   /home/taiyi/linkis1.3.2/linkis-web/dist; # 静态文件目录 
            index  index.html index.html;
            }
            location /ws {
            proxy_pass http://hostnmae:9020;#后端Linkis的地址?
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection upgrade;
            }

            location /api {
            proxy_pass http://hostnam:9001; #gateway的地址
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header x_real_ipP $remote_addr;
            proxy_set_header remote_addr $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_http_version 1.1;
            proxy_connect_timeout 4s;
            proxy_read_timeout 600s;
            proxy_send_timeout 12s;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection upgrade;
            }

            #error_page  404              /404.html;
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
            root   /usr/share/nginx/html;
            }
        }

nginx的日志文件在 /var/log/nginx/access.log 和/var/log/nginx/error.log

4.1 Permission denied

nginx 报错 [error] 16935#0: *5 "/home/taiyi/linkis1.3.2/linkis-web/dist/index.html" is forbidden (13: Permission denied),

这里的问题是:
nginx的启动用户(root)与linkis前端的启动用户不同导致的,修改/etc/nginx/nginx.conf

user taiyi;

检查并重新导入

[root@localhost hc]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost hc]# nginx -s reload

其他原因见:https://www.cnblogs.com/huchong/p/10031523.html
 

4.2. Unexpected token <

如果访问管理台出现接口502,或则Unexpected token < in JSON at position 0异常:

  • 请确认linkis-mg-gateway是否正常启动
  • 如果正常启动,查看nginx配置文件中配置的linkis-mg-gateway服务地址是否正确

一开始使用了配置文件的9020端口作为gateway的端口,修改为9001,重新加载配置
在这里插入图片描述

sudo nginx -s reload

安装成功
在这里插入图片描述

 

六. linkis的问题集记录

https://docs.qq.com/doc/DUkdTTGhVSlZ0VXVt

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

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

相关文章

《入门级-Cocos2dx4.0 塔防游戏开发》---第四课:欢迎界面开发(二)

目录 一、开发环境介绍 二、开发内容 2.1. logo变化动画 2.2. logo帧动画 2.3 start按钮移动动画 2.4 Credite移动动画 三、显示效果 四、知识总结 1. 移动动画 2. 变大变小动画 3. 延时效果 4. 动画组 一、开发环境介绍 操作系统&#xff1a;UOS1060专业版本。 c…

Java常用API:Math、Syetem、Runtime、BigDecimal

Math类 //目标:了解下Nath类提供的常见方法。 // 1、public static int abs(int a):取绝对值&#xff08;拿到的结果一定是正数&#xff09; //public static double abs(double a) system.out.println(Math.abs(-12)); // 12 system.out.println(Math.abs(123));// 123 system…

upload-labs靶场全通关

upload-labs靶场全通关 pass-1pass-2pass-3pass-4pass-5pass-6pass-7pass-8pass-9pass-10pass-11pass-12pass-13pass-14pass-15pass-16pass-17pass-18pass-19pass-20 pass-1 首先我们新建一个php的webshell文件 在这里我写了一个rabb1t.php的shell文件 内容为这个样子 然后我…

【LeetCode经典算法】链表反转

题目 题目&#xff1a;给定单链表头节点&#xff0c;将单链表的链接顺序反转过来 例&#xff1a; 输入&#xff1a;1->2->3->4->5 输出&#xff1a;5->4->3->2->1 要求&#xff1a;按照两种方式实现 解决办法 方式一&#xff1a; 思路 单链表的结…

DH算法、DHE算法、ECDHE算法演进

ECDHE 算法解决了 RSA 算法不具备前向安全的性质 和 DH 算法效率低下的问题。 ECDHE 算法具有前向安全。所以被广泛使用。 由什么演变而来 DH 算法 -- > DHE 算法 -- > ECDHE 算法 DH 算法是非对称加密算法&#xff0c;该算法的核心数学思想是离散对数。 核心数学思…

wms-3代货架标签(电池版本)接口文档

一、查询标签信息接口 接口类型&#xff1a;POST, 参数格式&#xff1a;json array 链接形式&#xff1a; http://localhost/wms/associate/getTagsMsg 代码形式&#xff1a; { url : http://localhost/wms/associate/getTagsMsg, requestMethed : GET, requestParamet…

亚马逊买家账号ip关联怎么处理

对于亚马逊买家账号&#xff0c;同样需要注意IP关联问题。在亚马逊的眼中&#xff0c;如果多个买家账号共享相同的IP地址&#xff0c;可能会被视为潜在的操纵、违规或滥用行为。这种情况可能导致账号受到限制或处罚。 处理亚马逊买家账号IP关联问题&#xff0c;建议采取以下步骤…

有哪些很奇PA,但又比较少人知道的病毒?

世界上有哪些很奇PA&#xff08;或者说很搞笑&#xff09;&#xff0c;但又比较少人知道的病毒&#xff1f; ①温州皮鞋厂病毒 中毒迹象&#xff1a;播放出我们熟悉的《温州皮鞋厂倒闭了》bgm&#xff0c;并出现“捍卫版权&#xff0c;盗&#xff08;到&#xff09;此为止”…

DAY15_VUEElement综合案例

目录 1 VUE1.1 概述1.1.1 Vue js文件下载 1.2 快速入门1.3 Vue 指令1.3.1 v-bind & v-model 指令1.3.2 v-on 指令1.3.3 条件判断指令1.3.4 v-for 指令 1.4 生命周期1.5 案例1.5.1 需求1.5.2 查询所有功能1.5.3 添加功能 2 Element2.0 element-ui js和css和字体图标下载2.1 …

C++ 类和对象篇(二) this指针

目录 一、this指针概念 二、this指针的特性 三、this指针存在哪里&#xff1f; 四、this指针可以为空吗&#xff1f; 一、this指针概念 1.是什么&#xff1f; 它是类内非静态成员函数的隐含形参&#xff0c;this指针指向调用该函数的对象。 this指针是C编译器给每个“非静态…

适应于Linux系统的三种安装包格式 .tar.gz、.deb、rpm

deb、rpm、tar.gz三种Linux软件包的区别 rpm包-在红帽LINUX、SUSE、Fedora可以直接进行安装&#xff0c;但在Ubuntu中却无法识别&#xff1b; deb包-是Ubuntu的专利&#xff0c;在Ubuntu中双击deb包就可以进入自动安装进程&#xff1b; tar.gz包-在所有的Linux版本中都能使用…

【100天精通python】Day21:文件及目录操作_文件的权限处理和批量处理

目录 专栏导读 1. 文件的权限处理 1.1 查询文件权限 1.2 修改文件权限 2 文件的批量处理 2.1 使用os模块和os.listdir()函数 2.2 使用glob模块 2.3 使用shutil模块 2.3.1 批量复制文件 2.3.2 批量移动文件 2.3.3 批量删除文件 2.3.4 批量创建目录 专栏导读 专栏订阅…

Python程序开发案例教程PDF,python程序开发案例教程

大家好&#xff0c;本文将围绕Python程序开发案例教程黑马程序员电子版书展开说明&#xff0c;Python程序开发案例教程黑马课后答案是一个很多人都想弄明白的事情&#xff0c;想搞清楚Python程序开发案例教程pdf黑马程序员需要先了解以下几个事情。 1、python软件开发的案例有哪…

多赛道出海案例,亚马逊云科技为企业提供全新解决方案实现高速增长

数字化浪潮之下&#xff0c;中国企业的全球化步伐明显提速。从“借帆出海”到“生而全球化”&#xff0c;中国企业实现了从低端制造出口&#xff0c;向技术创新和品牌先导的升级。为助力中国企业业务高效出海&#xff0c;亚马逊云科技于2023年6月9日在深圳大中华喜来登酒店举办…

使用阿里云DataX完成数据同步

DataX DataX 是阿里云 DataWorks 数据集成的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, datab…

Unity-缓存池

一、.基础缓存池实现 继承的Singleton脚本为 public class Singleton<T> where T : new() {private static T _instance;public static T GetIstance(){if (_instance null)_instance new T();return _instance;} } 1.PoolManager using System.Collections; using S…

mac安装nacos,M1芯片

第一步&#xff0c;官网下载 》nacos官网 去github中下载对应的版本&#xff0c;本人下载的是1.4.1版本 在这儿选择其他的版本&#xff0c;下面这里选择 tar.gz 压缩包 解压后放到一个非中文的目录下&#xff0c;我选择在 user目录下面创建一个other目录&#xff0c;将使用的环…

python-网络爬虫.Request

Request python中requests库使用方法详解&#xff1a; 一简介&#xff1a; Requests 是Python语言编写&#xff0c;基于urllib&#xff0c; 采用Apache2 Licensed开源协议的 HTTP 库。 与urllib相比&#xff0c;Requests更加方便&#xff0c;处理URL资源特别流畅。 可以节约我…

慕课网Go-4.package、单元测试、并发编程

package 1_1_User.go package usertype User struct {Name string }1_1_UserGet.go package userfunc GetCourse(c User) string {return c.Name }1_1_UserMain.go package mainimport ("fmt"Userch03 "goproj/IMOOC/ch03/user"//别名&#xff0c;防止同名…

HarmonyOS/OpenHarmony元服务开发-配置卡片的配置文件

卡片相关的配置文件主要包含FormExtensionAbility的配置和卡片的配置两部分&#xff1a; 1.卡片需要在module.json5配置文件中的extensionAbilities标签下&#xff0c;配置FormExtensionAbility相关信息。FormExtensionAbility需要填写metadata元信息标签&#xff0c;其中键名称…