rancher部署flink集群

news2024/11/16 20:46:02

rancher版本:v2.6.8

k8s版本:v1.22.13+rke2r1

flink集群版本:1.15.0

flink安装模式:session cluster

写在前面:因为参照官网的说明安装过程中出现了很多问题,特记录于此,避免后续重复踩坑

目录

一.flink官网docker的安装

1.安装前配置

2.安装jobmanager

3.安装taskmanager

二.rancher部署flink集群

1.新建jobmanager服务

3.验证集群是否搭建完成


一.flink官网docker的安装

1.安装前配置

$ FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager"
$ docker network create flink-network

2.安装jobmanager

$ docker run \
    --rm \
    --name=jobmanager \
    --network flink-network \
    --publish 8081:8081 \
    --env FLINK_PROPERTIES="${FLINK_PROPERTIES}" \
    flink:1.15.4-scala_2.12 jobmanager

3.安装taskmanager

$ docker run \
    --rm \
    --name=taskmanager \
    --network flink-network \
    --env FLINK_PROPERTIES="${FLINK_PROPERTIES}" \
    flink:1.15.4-scala_2.12 taskmanager

然后进入flinkUI首页地址就可以了:localhost:8081.

二.rancher部署flink集群

1.新建jobmanager服务

服务名称取做:flink-jobmanager-one

镜像版本使用:flink:1.15.0

配置端口

集群IP:6123(集群间通讯使用)

节点端口:8081:30099(暴露出的flinkUI端口,必须大于30000)

 配置预设参数和环境变量

预设参数:jobmanager(表示当前服务为jobmanager,对应的是taskmanager)

环境变量:挂载的flink-conf.xml文件

flink-conf.xml详细内容:

parallelism.default: 1

rest.address: 0.0.0.0

rest.bind-address: 0.0.0.0

blob.server.port: 6124

query.server.port: 6125


taskmanager.bind-host: 0.0.0.0

taskmanager.numberOfTaskSlots: 100

taskmanager.memory.process.size: 34560m


jobmanager.rpc.port: 6123

jobmanager.bind-host: 0.0.0.0

jobmanager.rpc.address: flink-jobmanager-one

jobmanager.execution.failover-strategy: region

jobmanager.memory.heap.size:  16000m
jobmanager.memory.jvm-metaspace.size: 1600m
jobmanager.memory.jvm-overhead.max: 20480m
jobmanager.memory.jvm-overhead.min: 1m
jobmanager.memory.off-heap.size: 1600m
jobmanager.memory.process.size: 20480m


kubernetes.cluster-id: default
high-availability: org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory
high-availability.storageDir: file:///opt/flink/ha-storage

详细的挂载配置如下图,键必须是:FLINK_PROPERTIES,值则是整个flink安装目录下的flink-conf.xml的内容,为了便于阅读删除了配置文件中的无用注释。

另外,需要挂载flink的lib目录下jar包,以及高可用模式下需要挂载高可用存储路径,我才用的是NFS挂载,如下图(为避免麻烦打了马赛克)详细地址根据你自己的设置来

 jobmanager就到此配置完毕了,点击保存即可启动服务

查看服务启动日志,为如下状态,且无其它报错,代表启动正常

2023-04-21 03:56:14,800 INFO org.apache.flink.runtime.entrypoint.ClusterEntrypoint [] - Starting StandaloneSessionClusterEntrypoint.
2023-04-21 03:56:14,860 INFO org.apache.flink.runtime.entrypoint.ClusterEntrypoint [] - Install default filesystem.
2023-04-21 03:56:14,865 INFO org.apache.flink.core.fs.FileSystem [] - Hadoop is not in the classpath/dependencies. The extended set of supported File Systems via Hadoop is not available.
2023-04-21 03:56:14,947 INFO org.apache.flink.runtime.entrypoint.ClusterEntrypoint [] - Install security context.
2023-04-21 03:56:14,967 INFO org.apache.flink.runtime.security.modules.HadoopModuleFactory [] - Cannot create Hadoop Security Module because Hadoop cannot be found in the Classpath.
2023-04-21 03:56:14,975 INFO org.apache.flink.runtime.security.modules.JaasModule [] - Jaas file will be created as /tmp/jaas-11053256423370857721.conf.
2023-04-21 03:56:14,988 INFO org.apache.flink.runtime.security.contexts.HadoopSecurityContextFactory [] - Cannot install HadoopSecurityContext because Hadoop cannot be found in the Classpath.
2023-04-21 03:56:14,993 INFO org.apache.flink.runtime.entrypoint.ClusterEntrypoint [] - Initializing cluster services.
2023-04-21 03:56:15,004 INFO org.apache.flink.runtime.entrypoint.ClusterEntrypoint [] - Using working directory: WorkingDirectory(/tmp/jm_016b9c4949a2c1712d36faf922b30dc2).
2023-04-21 03:56:15,437 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils [] - Trying to start actor system, external address flink-jobmanager-one:6123, bind address 0.0.0.0:6123.
2023-04-21 03:56:16,875 INFO akka.event.slf4j.Slf4jLogger [] - Slf4jLogger started
2023-04-21 03:56:16,924 INFO akka.remote.RemoteActorRefProvider [] - Akka Cluster not in use - enabling unsafe features anyway because `akka.remote.use-unsafe-remote-features-outside-cluster` has been enabled.
2023-04-21 03:56:16,925 INFO akka.remote.Remoting [] - Starting remoting
2023-04-21 03:56:17,192 INFO akka.remote.Remoting [] - Remoting started; listening on addresses :[akka.tcp://flink@flink-jobmanager-one:6123]
2023-04-21 03:56:17,402 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils [] - Actor system started at akka.tcp://flink@flink-jobmanager-one:6123
2023-04-21 03:56:17,815 INFO org.apache.flink.runtime.blob.FileSystemBlobStore [] - Creating highly available BLOB storage directory at file:/opt/flink/ha-storage/default/blob
2023-04-21 03:56:19,090 INFO org.apache.flink.runtime.blob.BlobServer [] - Created BLOB server storage directory /tmp/jm_016b9c4949a2c1712d36faf922b30dc2/blobStorage
2023-04-21 03:56:19,096 INFO org.apache.flink.runtime.blob.BlobServer [] - Started BLOB server at 0.0.0.0:6124 - max concurrent requests: 50 - max backlog: 1000
2023-04-21 03:56:19,116 INFO org.apache.flink.runtime.metrics.MetricRegistryImpl [] - No metrics reporter configured, no metrics will be exposed/reported.
2023-04-21 03:56:19,122 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils [] - Trying to start actor system, external address flink-jobmanager-one:0, bind address 0.0.0.0:0.
2023-04-21 03:56:19,155 INFO akka.event.slf4j.Slf4jLogger [] - Slf4jLogger started
2023-04-21 03:56:19,162 INFO akka.remote.RemoteActorRefProvider [] - Akka Cluster not in use - enabling unsafe features anyway because `akka.remote.use-unsafe-remote-features-outside-cluster` has been enabled.
2023-04-21 03:56:19,162 INFO akka.remote.Remoting [] - Starting remoting
2023-04-21 03:56:19,177 INFO akka.remote.Remoting [] - Remoting started; listening on addresses :[akka.tcp://flink-metrics@flink-jobmanager-one:44181]
2023-04-21 03:56:19,195 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils [] - Actor system started at akka.tcp://flink-metrics@flink-jobmanager-one:44181
2023-04-21 03:56:19,218 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcService [] - Starting RPC endpoint for org.apache.flink.runtime.metrics.dump.MetricQueryService at akka://flink-metrics/user/rpc/MetricQueryService .

2.新建taskmanager服务

服务名称取做:flink-taskmanager-one

镜像版本使用:flink:1.15.0

 taskmanager不需要配置端口

 配置预设参数和环境变量

预设参数:taskmanager(表示当前服务为taskmanager,对应的是jobmanager)

环境变量:挂载的flink-conf.xml文件

 flink-conf.xml详细内容:

parallelism.default: 1

rest.address: 0.0.0.0

rest.bind-address: 0.0.0.0

blob.server.port: 6124

query.server.port: 6125

taskmanager.bind-host: 0.0.0.0

taskmanager.memory.process.size: 1728m

taskmanager.numberOfTaskSlots: 100


jobmanager.rpc.port: 6123

jobmanager.bind-host: 0.0.0.0

jobmanager.rpc.address: flink-jobmanager-one

jobmanager.execution.failover-strategy: region

jobmanager.memory.process.size: 1600m

kubernetes.cluster-id: default
high-availability: org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory
high-availability.storageDir: file:///opt/flink/nfs/ha-storage

execution.checkpointing.interval: 3min
execution.checkpointing.externalized-checkpoint-retention: RETAIN_ON_CANCELLATION
execution.checkpointing.max-concurrent-checkpoints: 1
execution.checkpointing.min-pause: 0
execution.checkpointing.mode: EXACTLY_ONCE
execution.checkpointing.timeout: 10min
execution.checkpointing.tolerable-failed-checkpoints: 0
execution.checkpointing.unaligned: true

state.backend: rocksdb

state.checkpoints.dir: file:///home/flink/checkpoints

state.savepoints.dir: file:///home/flink/flink/savepoints

state.backend.incremental: true

restart-strategy: failure-rate
restart-strategy.failure-rate.max-failures-per-interval: 10
restart-strategy.failure-rate.failure-rate-interval: 300s
restart-strategy.failure-rate.delay: 15s

taskmanager需要挂载flink的lib目录之外,还要挂载savepoint和checkpoint(如果你只是想跑起来试试,那么不用管这个配置)

  jobmanager就到此配置完毕了,点击保存即可启动服务

查看服务启动日志,为如下状态,且无其它报错,代表启动正常

2023-04-21 03:59:07,347 INFO org.apache.flink.core.fs.FileSystem [] - Hadoop is not in the classpath/dependencies. The extended set of supported File Systems via Hadoop is not available.
2023-04-21 03:59:07,475 INFO org.apache.flink.runtime.state.changelog.StateChangelogStorageLoader [] - StateChangelogStorageLoader initialized with shortcut names {memory,filesystem}.
2023-04-21 03:59:07,485 INFO org.apache.flink.runtime.state.changelog.StateChangelogStorageLoader [] - StateChangelogStorageLoader initialized with shortcut names {memory,filesystem}.
2023-04-21 03:59:07,507 INFO org.apache.flink.runtime.security.modules.HadoopModuleFactory [] - Cannot create Hadoop Security Module because Hadoop cannot be found in the Classpath.
2023-04-21 03:59:07,527 INFO org.apache.flink.runtime.security.modules.JaasModule [] - Jaas file will be created as /tmp/jaas-9454914976650115513.conf.
2023-04-21 03:59:07,540 INFO org.apache.flink.runtime.security.contexts.HadoopSecurityContextFactory [] - Cannot install HadoopSecurityContext because Hadoop cannot be found in the Classpath.
2023-04-21 03:59:08,538 INFO org.apache.flink.runtime.blob.FileSystemBlobStore [] - Creating highly available BLOB storage directory at file:/opt/flink/ha-storage/default/blob
2023-04-21 03:59:09,872 INFO org.apache.flink.runtime.leaderretrieval.DefaultLeaderRetrievalService [] - Starting DefaultLeaderRetrievalService with KubernetesLeaderRetrievalDriver{configMapName='default-cluster-config-map'}.
2023-04-21 03:59:09,872 INFO org.apache.flink.kubernetes.kubeclient.resources.KubernetesConfigMapSharedInformer [] - Starting to watch for default/default-cluster-config-map, watching id:7c948823-ecdd-4ba4-b6be-568113b6a8ad
2023-04-21 03:59:09,874 INFO org.apache.flink.runtime.util.LeaderRetrievalUtils [] - Trying to select the network interface and address to use by connecting to the leading JobManager.
2023-04-21 03:59:09,874 INFO org.apache.flink.runtime.util.LeaderRetrievalUtils [] - TaskManager will try to connect for PT10S before falling back to heuristics
2023-04-21 03:59:15,278 INFO org.apache.flink.runtime.net.ConnectionUtils [] - Trying to connect to address flink-jobmanager-one/****:6123
2023-04-21 03:59:15,380 INFO org.apache.flink.runtime.net.ConnectionUtils [] - Failed to connect to [flink-jobmanager-one/10.43.79.104:6123] from local address [localhost/127.0.0.1] with timeout [100] due to: connect timed out
2023-04-21 03:59:15,381 INFO org.apache.flink.runtime.leaderretrieval.DefaultLeaderRetrievalService [] - Stopping DefaultLeaderRetrievalService.
2023-04-21 03:59:15,381 INFO org.apache.flink.kubernetes.highavailability.KubernetesLeaderRetrievalDriver [] - Stopping KubernetesLeaderRetrievalDriver{configMapName='default-cluster-config-map'}.
2023-04-21 03:59:15,382 INFO org.apache.flink.runtime.taskexecutor.TaskManagerRunner [] - TaskManager will use hostname/address 'flink-taskmanager-one-5c484b8685-rrsct' (10.42.2.35) for communication.
2023-04-21 03:59:15,382 INFO org.apache.flink.kubernetes.kubeclient.resources.KubernetesConfigMapSharedInformer [] - Stopped to watch for default/default-cluster-config-map, watching id:7c948823-ecdd-4ba4-b6be-568113b6a8ad
2023-04-21 03:59:15,482 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils [] - Trying to start actor system, external address ****:0, bind address 0.0.0.0:0.
2023-04-21 03:59:16,610 INFO akka.event.slf4j.Slf4jLogger [] - Slf4jLogger started
2023-04-21 03:59:16,661 INFO akka.remote.RemoteActorRefProvider [] - Akka Cluster not in use - enabling unsafe features anyway because `akka.remote.use-unsafe-remote-features-outside-cluster` has been enabled.
2023-04-21 03:59:16,662 INFO akka.remote.Remoting [] - Starting remoting
2023-04-21 03:59:16,927 INFO akka.remote.Remoting [] - Remoting started; listening on addresses :[akka.tcp://flink@10.42.2.35:33783]
2023-04-21 03:59:17,142 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils [] - Actor system started at akka.tcp://flink@*****:33783
2023-04-21 03:59:17,171 INFO org.apache.flink.runtime.taskexecutor.TaskManagerRunner [] - Using working directory: WorkingDirectory(/tmp/tm_10.42.2.35:33783-56875c)
2023-04-21 03:59:17,187 INFO org.apache.flink.runtime.metrics.MetricRegistryImpl [] - No metrics reporter configured, no metrics will be exposed/reported.
2023-04-21 03:59:17,194 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils [] - Trying to start actor system, external address *****:0, bind address 0.0.0.0:0.
2023-04-21 03:59:17,226 INFO akka.event.slf4j.Slf4jLogger [] - Slf4jLogger started
2023-04-21 03:59:17,234 INFO akka.remote.RemoteActorRefProvider [] - Akka Cluster not in use - enabling unsafe features anyway because `akka.remote.use-unsafe-remote-features-outside-cluster` has been enabled.
2023-04-21 03:59:17,234 INFO akka.remote.Remoting [] - Starting remoting
2023-04-21 03:59:17,249 INFO akka.remote.Remoting [] - Remoting started; listening on addresses :[akka.tcp://flink-metrics@10.42.2.35:34252]
2023-04-21 03:59:17,272 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils [] - Actor system started at akka.tcp://flink-metrics@10.42.2.35:34252
2023-04-21 03:59:17,298 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcService [] - Starting RPC endpoint for org.apache.flink.runtime.metrics.dump.MetricQueryService at akka://flink-metrics/user/rpc/MetricQueryService_10.42.2.35:33783-56875c .
2023-04-21 03:59:17,350 INFO org.apache.flink.runtime.blob.PermanentBlobCache [] - Created BLOB cache storage directory /tmp/tm_10.42.2.35:33783-56875c/blobStorage
2023-04-21 03:59:17,360 INFO org.apache.flink.runtime.blob.TransientBlobCache [] - Created BLOB cache storage directory /tmp/tm_10.42.2.35:33783-56875c/blobStorage
2023-04-21 03:59:17,367 INFO org.apache.flink.runtime.externalresource.ExternalResourceUtils [] - Enabled external resources: []
2023-04-21 03:59:17,368 INFO org.apache.flink.runtime.taskexecutor.TaskManagerRunner [] - Starting TaskManager with ResourceID: *****:33783-56875c
2023-04-21 03:59:17,436 INFO org.apache.flink.runtime.taskexecutor.TaskManagerServices [] - Temporary file directory '/tmp': total 549 GB, usable 447 GB (81.42% usable)
2023-04-21 03:59:17,442 INFO org.apache.flink.runtime.io.disk.iomanager.IOManager [] - Created a new FileChannelManager for spilling of task related data to disk (joins, sorting, ...). Used directories:
/tmp/flink-io-ebe2ab9f-f60f-4b6b-be7a-b090613e845e
2023-04-21 03:59:17,453 INFO org.apache.flink.runtime.io.network.netty.NettyConfig [] - NettyConfig [server address: /0.0.0.0, server port: 0, ssl enabled: false, memory segment size (bytes): 32768, transport type: AUTO, number of server threads: 100 (manual), number of client threads: 100 (manual), server connect backlog: 0 (use Netty's default), client connect timeout (sec): 120, send/receive buffer size (bytes): 0 (use Netty's default)]
2023-04-21 03:59:17,593 INFO org.apache.flink.runtime.io.network.NettyShuffleServiceFactory [] - Created a new FileChannelManager for storing result partitions of BLOCKING shuffles. Used directories:
/tmp/flink-netty-shuffle-bb8f836c-1bde-446a-955d-d771f33a18f0
2023-04-21 03:59:17,760 INFO org.apache.flink.runtime.io.network.buffer.NetworkBufferPool [] - Allocated 128 MB for network buffer pool (number of memory segments: 4096, bytes per segment: 32768).
2023-04-21 03:59:17,782 INFO org.apache.flink.runtime.io.network.NettyShuffleEnvironment [] - Starting the network environment and its components.
2023-04-21 03:59:17,923 INFO org.apache.flink.runtime.io.network.netty.NettyClient [] - Transport type 'auto': using EPOLL.
2023-04-21 03:59:17,927 INFO org.apache.flink.runtime.io.network.netty.NettyClient [] - Successful initialization (took 144 ms).
2023-04-21 03:59:17,955 INFO org.apache.flink.runtime.io.network.netty.NettyServer [] - Transport type 'auto': using EPOLL.
2023-04-21 03:59:18,023 INFO org.apache.flink.runtime.io.network.netty.NettyServer [] - Successful initialization (took 93 ms). Listening on SocketAddress /0:0:0:0:0:0:0:0%0:44943.
2023-04-21 03:59:18,025 INFO org.apache.flink.runtime.taskexecutor.KvStateService [] - Starting the kvState service and its components.
2023-04-21 03:59:18,068 INFO org.apache.flink.runtime.rpc.akka.AkkaRpcService [] - Starting RPC endpoint for org.apache.flink.runtime.taskexecutor.TaskExecutor at akka://flink/user/rpc/taskmanager_0 .
2023-04-21 03:59:18,098 INFO org.apache.flink.kubernetes.kubeclient.resources.KubernetesConfigMapSharedInformer [] - Starting to watch for default/default-cluster-config-map, watching id:fa1d1e62-3096-49e5-98c6-33cefd409f64
2023-04-21 03:59:18,098 INFO org.apache.flink.runtime.leaderretrieval.DefaultLeaderRetrievalService [] - Starting DefaultLeaderRetrievalService with KubernetesLeaderRetrievalDriver{configMapName='default-cluster-config-map'}.
2023-04-21 03:59:18,100 INFO org.apache.flink.runtime.taskexecutor.DefaultJobLeaderService [] - Start job leader service.
2023-04-21 03:59:18,102 INFO org.apache.flink.runtime.filecache.FileCache [] - User file cache uses directory /tmp/flink-dist-cache-9504579b-10e1-40d9-8432-5f3e84862ae8
2023-04-21 03:59:19,558 INFO org.apache.flink.runtime.taskexecutor.TaskExecutor [] - Connecting to ResourceManager akka.tcp://flink@flink-jobmanager-one:6123/user/rpc/resourcemanager_0(ac2fae3954b4df272f119171641343f0).
2023-04-21 03:59:19,808 INFO org.apache.flink.runtime.taskexecutor.TaskExecutor [] - Resolved ResourceManager address, beginning registration
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jboss.netty.util.internal.ByteBufferUtil (file:/tmp/flink-rpc-akka_3755f8e5-ec9a-425f-9815-a45ebb25f358.jar) to method java.nio.DirectByteBuffer.cleaner()
WARNING: Please consider reporting this to the maintainers of org.jboss.netty.util.internal.ByteBufferUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2023-04-21 03:59:19,923 INFO org.apache.flink.runtime.taskexecutor.TaskExecutor [] - Successful registration at resource manager akka.tcp://flink@flink-jobmanager-one:6123/user/rpc/resourcemanager_0 under registration id f679013e892a684acbbda4efc6a3a0b0.

3.验证集群是否搭建完成

进入配置的地址加对应暴露的30000段的端口,如下面这两图显示,在flinkUI中可分别看到jobmanager和taskmanager的参数配置即表示安装成功

jobmanager正常显示:

 taskmanager正常显示,根据你配置的taskmanager数量显示:

 至此,安装完毕。

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

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

相关文章

FE_CSS 精灵图技术 字体图标 CSS三角

一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接收和发送请求图片,造成服务器请求压力过大,这将大大降低页面的加载速度。 因此,为了有效地减少服务器接收和发送请求的次数&a…

国内申请日本专利有哪些流程?

日本2004年修订的实用新型法已经于2005年4月1日生效,在日本,“专利”这一概念限于发明,实用新型和外观设计均不称为专利。实用新型授权后,就叫实用新型权,并不叫专利权。而且,发明、实用新型和外观设计是“…

掘金Tiktok电商比亚马逊刺激多了

鑫优尚电子商务:万亿跨境电商市场,聚光灯照在了Tiktok(抖音海外版)身上。 美国、巴西、俄罗斯、越南……2017年年末才正式出海的Tiktok,仅在2年后便覆盖了150个国家和地区,多次登顶App Store下载量首位。 …

使用 Vaex 处理具有 2 亿行的数据集

在这篇文章中,我们生成了 2 亿条时序人工数据,有 4 列,大小接近 12GB。使用 Pandas 库无法读取数据集并对其进行探索和可视化。与 pandas 相比,能够将字符串处理速度提高10-1000 倍。比spark快近十倍。 Pandas是用于数据科学案例研究的最受欢迎的库之一。它是探索性数据分…

rtthread默认网卡的操作

设置网卡优先级 在 RT-Thread 操作系统中,可以通过修改网卡的优先级来设置默认网卡。优先级越高的网卡会被优先选择为默认网卡。 下面介绍一些设置默认网卡优先级的方法: 在 RT-Thread 的网络配置文件 rtconfig.h 中,可以通过修改 NETIF_P…

SAP CAP篇一:快速创建一个Service,基于Java的实现

这个博客上,还没有写过SAP技术栈的东西,这次开个头,写个最近研究SAP CAP的摸索过程。虽然SAP CAP(Cloud Application Model)关注在Cloud的开发,我这些文章里面还是偏重本地上的尝试。 文章目录 前置内容现在…

当Kotlin Flow与Channel相逢

Flow之所以用起来香,Flow便捷的操作符功不可没,而想要熟练使用更复杂的操作符,那么需要厘清Flow和Channel的关系。 本篇文章构成: 1. Flow与Channel 对比 1.1 Flow核心原理与使用场景 原理 先看最简单的Demo: fun…

编写 LuCI CBI 模型

编写 LuCI CBI 模型 CBI模型是描述UCI配置文件结构的Lua文件,并且CBI解析器将lua文件转为HTML呈现给用户 。 所有 CBI 模型文件都必须返回类型为luci.cbi.Map的对象。 CBI 模型文件的范围由 luci.cbi 模块的内容和 luci.i18n 的转换函数自动扩展。 CBI控件类型汇总 …

如何使用ESP32-CAM构建一个人脸识别系统

有许多人识别系统使用签名、指纹、语音、手部几何、人脸识别等来识别人,但除了人脸识别系统。 人脸识别系统不仅可以用于安全目的来识别公共场所的人员,还可以用于办公室和学校的考勤目的。 在这个项目中,我们将使用 ESP32-CAM 构建一个人脸识…

eclipse for abap下载及配置安装

一,下载eclipse ,地址 https://www.eclipse.org/downloads/download.php?file/oomph/epp/2023-03/R/eclipse-inst-jre-win64.exe 可以选择(大连东软信息学院)端口下载,这样开一些, 二:双击安装,安装FOR…

放弃手动测试,快来了解JMeter压测神器的安装和使用吧~~

目录:导读 引言 jmeter的安装 JMeter是干什么的 JMeter都可以做那些测试 JMeter的使用和组件介绍 下面我们进行XML格式的实战练习 jmeter与postman的区别 JSON的插件 另附视频教程资源 引言 你是否曾经为手动测试而苦恼?是不是觉得手动测试太费…

Windows Java JavaFX Idea 开发环境搭建

博文目录 文章目录 JavaFX 简单说明JavaFX 版本说明JavaFX 与 JDK 的关系JavaFX 与 JDK Modular (JDK 9 模块化系统)JavaFX 模块说明 (JavaFX 20)JavaFX Scene Builder构建 JavaFX 应用程序的两种选择 环境搭建 建议先阅读下方引用的官方文档, 与本章节做相互印证与理解版本选…

Vue 3组件传值 、组件通信

本文采用<script setup />的写法&#xff0c;比options API更自由。那么我们就来说说以下七种组件通信方式&#xff1a; props emit v-model refs provide/inject eventBus vuex/pinia 举个例子 本文将使用下面的演示&#xff0c;如下图所示&#xff1a; 上图中…

【社区图书馆】《新程序员005:开源深度指南 新金融背后的科技力量》

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰来给大家推荐一本书&#xff0c;此书的书名为新程序员005&#xff1a;开源深度指南 & 新金融背后的科技力量&#xff0c;为什么小雅兰今天要给大家推荐这样一本书呢&#xff1f;好啦&#xff0c;现在&#xff0c;…

[python][pcl]python-pcl案例之兔子显示

兔子pcd文件下载&#xff1a;firc.lanzoux.com/iLfSgg749ab# -*- coding: utf-8 -*- # Point cloud library import pcl import pcl.pcl_visualization# Opencv # import opencv import cv2def main():# These are track bar initial settings adjusted to the given pointclou…

牛客网Verilog刷题——VL12

牛客网Verilog刷题——VL12 题目答案 题目 4bit超前进位加法器的逻辑表达式如下&#xff1a; G i G_i Gi​ A i A_i Ai​ B i B_i Bi​&#xff0c; P i P_i Pi​ A i A_i Ai​ ⊕ \oplus ⊕ B i B_i Bi​   和&#xff1a; S i S_i Si​ P i P_i Pi​ ⊕ \oplus ⊕ C i − 1…

DHCP协议详解

DHCP是什么 1.1 DHCP定义 DHCP&#xff08; Dynamic Host Configuration Protocol&#xff0c; 动态主机配置协议&#xff09;定义&#xff1a; 存在于应用层&#xff08;OSI&#xff09; 前身是BOOTP&#xff08;Bootstrap Protocol&#xff09;协议 是一个使用UDP&#xff08…

如何正确选择集体渲染(云渲染)和gpu离线渲染

在数字娱乐领域&#xff0c;渲染是制作高质量影像的关键步骤之一。随着技术的不断发展和应用的广泛普及&#xff0c;渲染方式也在不断演进。目前&#xff0c;集体渲染&#xff08;云渲染&#xff09;和GPU离线渲染是两种比较流行的渲染方式。那么&#xff0c;哪种方式会更快呢&…

一文了解什么是5G

5G是第五代移动网络。它是继1G、2G、3G、4G网络之后的新的全球无线标准。5G 支持一种新型网络&#xff0c;旨在将几乎所有人和所有事物连接在一起&#xff0c;包括机器、物体和设备。 一、前几代移动网络和5G有什么区别 第一代 – 1G 1980 年代&#xff1a;1G 传送模拟语音。…

软件测试标准升级|新版25000标准解读

广电计量 目录 收起 一、覆盖软件产品八大特性的测试依据及准则 二、信息安全测试的关键要点 三、兼容性测试的关键要点 四、功能测试的关键要点 五、性能效率测试的关键要点 六、易用性测试的关键要点 七、可靠性测试的关键要点 八、维护性测试的关键要点 九、可移植…