ClickHouse集群搭建教程

news2024/11/23 22:29:31

文章目录

  • 前言
  • 一、相关介绍
    • 1. 端口介绍
  • 二、部署规划
    • 1. 准备centos
    • 2. 配置集群免密登录
    • 3. 部署规划
  • 三、ckman依赖部署
    • 1. prometheus搭建
      • 1.1 下载并解压
      • 1.2 配置启停服务
      • 1.3 promethues配置(可选,不影响ckman核心功能)
      • 1.4 prometheus启停命令
        • 1.4.1 启动prometheus
        • 1.4.2 停止prometheus
        • 1.4.3 重启prometheus
        • 1.4.4 查看prometheus状态
    • 2. node_exporter搭建
      • 2.1 下载并解压
      • 2.2 配置启停服务
      • 2.3 node监控配置(可选,不影响ckman核心功能)
      • 2.4 node_exporter启停命令
        • 2.4.1 启动node_exporter
        • 2.4.2 停止node_exporter
        • 2.4.3 重启node_exporter
        • 2.4.4 查看node_exporter状态
    • 3. zookeeper搭建
      • 3.1 单机搭建(忽略)
      • 3.2 集群搭建
        • 3.2.1 hadoop101节点操作
        • 3.2.2 hadoop102节点操作
        • 3.2.3 hadoop103节点操作
      • 3.3 启动zookeeper
        • 3.3.1 单机版启动
        • 3.3.2 集群版启动
          • 3.3.2.1 hadoop101节点操作
          • 3.3.2.2 hadoop102节点操作
          • 3.3.2.3 hadoop103节点操作
      • 3.4 zookeeper命令
        • 3.4.1 启动zookeeper
        • 3.4.2 停止zookeeper
        • 3.4.3 重启zookeeper
        • 3.4.4 查看zookeeper状态
        • 3.4.5 进入zookeeper客户端
      • 3.5 zookeeper监控配置(可选,不影响ckman核心功能)
    • 4. mysql搭建
    • 5. 安装jdk
  • 四、ckman部署
    • 1. 下载和安装
      • 1.1 rpm包方式
      • 1.2 tar包方式(忽略)
        • 1.2.1 下载和解压
        • 1.2.2 启动
    • 2. 启动与停止
      • 2.1 启动
      • 2.2 重启
      • 2.3 停止
      • 2.4 查看状态
    • 3. 浏览器访问
  • 五、ClickHouse集群部署
    • 1. 下载rpm包
    • 2. 使用ckman部署clickhouse集群
      • 2.1 创建集群
      • 2.2 填写集群配置信息
      • 2.3 clickhouse监控配置(可选,不影响ckman核心功能)
  • 总结


前言

本文介绍了CKman的部署和ClickHouse集群的搭建过程,包括准备环境、安装依赖、配置集群免密登录、部署CKman和ClickHouse等步骤。还介绍了如何使用Prometheus、Node Exporter监控工具以及Zookeeper等组件,并提供了MySQL和JDK的安装方法。最后,详细说明了在CKman中创建集群并进行监控配置的操作步骤。


一、相关介绍

1. 端口介绍

端口描述
8808ckman管理平台端口
2181zookeeper 客户端连接端口,用于客户端与Zookeeper集群进行通信的TCP/IP连接
2888zookeeper 选举通信端口,用于服务器之间进行Leader选举的TCP/IP通信
3888zookeeper 数据同步和复制端口,用于将数据从Leader节点复制到Follower节点
8080zookeeper 暴露给四字命令如mntr等的监控端口,3.5.0以上版本支持
9000ClickHouse 客户端连接端口,用于与ClickHouse服务器建立TCP/IP连接
8123HTTP/Web接口访问端口,可通过HTTP协议执行查询并获取结果
9009ClickHouse 用于低级数据访问的服务器间通信端口。用于数据交换、复制和服务器间通信
9363ClickHouse 的 Prometheus 默认指标端口
9090Prometheus监控服务暴露指标数据的HTTP访问接口端口
9100gRPC 端口

二、部署规划

1. 准备centos

准备三台centos,我准备的如下。

ip地址主机名
192.168.145.103hadoop101
192.168.145.103hadoop102
192.168.145.105hadoop103

修改/etc/hosts文件,配置主机名映射为ip地址。
hadoop101、hadoop102、hadoop103节点都要执行。

echo >> /etc/hosts
echo '192.168.145.103 hadoop101' >> /etc/hosts
echo '192.168.145.104 hadoop102' >> /etc/hosts
echo '192.168.145.105 hadoop103' >> /etc/hosts

2. 配置集群免密登录

hadoop101节点执行。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-copy-id 192.168.145.104
ssh-copy-id 192.168.145.105

hadoop102节点执行。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-copy-id 192.168.145.103
ssh-copy-id 192.168.145.105

hadoop103节点执行。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-copy-id 192.168.145.13
ssh-copy-id 192.168.145.104

3. 部署规划

192.168.145.103192.168.145.104192.168.145.105
clickhouseclickhouse-common-static-23.9.1.1854
clickhouse-client-23.9.1.1854
clickhouse-server-23.9.1.1854
clickhouse-common-static-23.9.1.1854
clickhouse-client-23.9.1.1854
clickhouse-server-23.9.1.1854
clickhouse-common-static-23.9.1.1854
clickhouse-client-23.9.1.1854
clickhouse-server-23.9.1.1854
ckmanckman-3.0.8
zookeeperzookeeper-3.8.1zookeeper-3.8.1zookeeper-3.8.1
prometheus(非必需)prometheus-2.51.0
node_exporter(非必需)node_exporter-1.5.0node_exporter-1.5.0node_exporter-1.5.0
nacos(非必需)

三、ckman依赖部署

  • prometheus(非必需)
  • node_exporter(非必需)
  • nacos(>1.4)(非必需)
  • zookeeper(>3.6.0, 推荐 )
  • mysql (当持久化策略设置为mysql时必需)
  • jdk1.8+

1. prometheus搭建

1.1 下载并解压

mkdir -p /opt/module
wget https://github.com/prometheus/prometheus/releases/download/v2.51.0/prometheus-2.51.0.linux-amd64.tar.gz -P /tmp
tar -zxvf /tmp/prometheus-2.51.0.linux-amd64.tar.gz -C /opt/module

1.2 配置启停服务

创建/usr/lib/systemd/system/prometheus.service文件。

vim /usr/lib/systemd/system/prometheus.service

添加如下内容。

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target

[Service]
Type=simple
ExecStart=/opt/module/prometheus-2.51.0.linux-amd64/prometheus --config.file=/opt/module/prometheus-2.51.0.linux-amd64/prometheus.yml --web.listen-address=0.0.0.0:9090
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

1.3 promethues配置(可选,不影响ckman核心功能)

修改/opt/module/prometheus-2.51.0.linux-amd64/prometheus.yml文件,添加如下内容。

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]
      
  - job_name: 'node_exporter'
    scrape_interval: 10s
    static_configs:
      - targets: ['192.168.145.103:9100', '192.168.145.104:9100', '192.168.145.105:9100']
 
  - job_name: 'clickhouse'
    scrape_interval: 10s
    static_configs:
      - targets: ['192.168.145.103:9363', '192.168.145.104:9363', '192.168.145.105:9363']
 
  - job_name: 'zookeeper'
    scrape_interval: 10s
    static_configs:
      - targets: ['192.168.145.103:7070', '192.168.145.104:7070', '192.168.145.105:7070']

1.4 prometheus启停命令

1.4.1 启动prometheus
systemctl start prometheus
1.4.2 停止prometheus
systemctl stop prometheus
1.4.3 重启prometheus
systemctl restart prometheus
1.4.4 查看prometheus状态
systemctl status prometheus

2. node_exporter搭建

2.1 下载并解压

mkdir -p /opt/module/
wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz -P /tmp
tar -zxvf /tmp/node_exporter-1.5.0.linux-amd64.tar.gz -C /opt/module/

2.2 配置启停服务

创建/usr/lib/systemd/system/node_exporter.service文件。

vim /usr/lib/systemd/system/node_exporter.service

添加如下内容。

[Unit]
Description=node_exporter
Documentation=https://github.com/prometheus/node_exporter
After=network.target

[Service]
Type=simple
ExecStart=/opt/module/node_exporter-1.5.0.linux-amd64/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target

2.3 node监控配置(可选,不影响ckman核心功能)

node_exporter是用来监控clickhouse节点所在机器的一些系统指标的一款工具,因此需要安装在ck节点所在的机器,默认监听9100端口。

2.4 node_exporter启停命令

2.4.1 启动node_exporter
systemctl start node_exporter
2.4.2 停止node_exporter
systemctl stop node_exporter
2.4.3 重启node_exporter
systemctl restart node_exporter
2.4.4 查看node_exporter状态
systemctl status node_exporter

3. zookeeper搭建

3.1 单机搭建(忽略)

试用功能不想搭建zookeeper集群时可搭建zookeeper单机版。

wget --no-check-certificate https://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz -P /tmp
mkdir -p /opt/soft/zookeeper
tar -zxvf /tmp/apache-zookeeper-3.8.1-bin.tar.gz -C /opt/soft/zookeeper
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
cp ./conf/zoo_sample.cfg ./conf/zoo.cfg
sed -i "s|^dataDir=.*|dataDir=./tmp/zookeeper|" ./conf/zoo.cfg
sed -i "s|^clientPort=.*|clientPort=12181|" ./conf/zoo.cfg

3.2 集群搭建

3.2.1 hadoop101节点操作
mkdir -p /opt/soft/zookeeper
wget --no-check-certificate https://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz -P /tmp
tar -zxvf /tmp/apache-zookeeper-3.8.1-bin.tar.gz -C /opt/soft/zookeeper
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
cp ./conf/zoo_sample.cfg ./conf/zoo.cfg
sed -i "s|^dataDir=.*|dataDir=./tmp/zookeeper|" ./conf/zoo.cfg
sed -i "s|^clientPort=.*|clientPort=12181|" ./conf/zoo.cfg
echo >> ./conf/zoo.cfg
echo "server.1=hadoop101:12888:13888" >> ./conf/zoo.cfg
echo "server.2=hadoop102:12888:13888" >> ./conf/zoo.cfg
echo "server.3=hadoop103:12888:13888" >> ./conf/zoo.cfg
echo >> ./conf/zoo.cfg
echo 'metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider' >> ./conf/zoo.cfg
echo 'metricsProvider.httpPort=7070' >> ./conf/zoo.cfg
echo 'admin.enableServer=true' >> ./conf/zoo.cfg
echo 'admin.serverPort=18080' >> ./conf/zoo.cfg
./bin/zkServer.sh start
echo 1 > ./tmp/zookeeper/myid
./bin/zkServer.sh restart
3.2.2 hadoop102节点操作
mkdir -p /opt/soft/zookeeper
wget --no-check-certificate https://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz -P /tmp
tar -zxvf /tmp/apache-zookeeper-3.8.1-bin.tar.gz -C /opt/soft/zookeeper
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
cp ./conf/zoo_sample.cfg ./conf/zoo.cfg
sed -i "s|^dataDir=.*|dataDir=./tmp/zookeeper|" ./conf/zoo.cfg
sed -i "s|^clientPort=.*|clientPort=12181|" ./conf/zoo.cfg
echo >> ./conf/zoo.cfg
echo "server.1=hadoop101:12888:13888" >> ./conf/zoo.cfg
echo "server.2=hadoop102:12888:13888" >> ./conf/zoo.cfg
echo "server.3=hadoop103:12888:13888" >> ./conf/zoo.cfg
echo >> ./conf/zoo.cfg
echo 'metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider' >> ./conf/zoo.cfg
echo 'metricsProvider.httpPort=7070' >> ./conf/zoo.cfg
echo 'admin.enableServer=true' >> ./conf/zoo.cfg
echo 'admin.serverPort=18080' >> ./conf/zoo.cfg
./bin/zkServer.sh start
echo 2 > ./tmp/zookeeper/myid
./bin/zkServer.sh restart
3.2.3 hadoop103节点操作
mkdir -p /opt/soft/zookeeper
wget --no-check-certificate https://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz -P /tmp
tar -zxvf /tmp/apache-zookeeper-3.8.1-bin.tar.gz -C /opt/soft/zookeeper
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
cp ./conf/zoo_sample.cfg ./conf/zoo.cfg
sed -i "s|^dataDir=.*|dataDir=./tmp/zookeeper|" ./conf/zoo.cfg
sed -i "s|^clientPort=.*|clientPort=12181|" ./conf/zoo.cfg
echo >> ./conf/zoo.cfg
echo "server.1=hadoop101:12888:13888" >> ./conf/zoo.cfg
echo "server.2=hadoop102:12888:13888" >> ./conf/zoo.cfg
echo "server.3=hadoop103:12888:13888" >> ./conf/zoo.cfg
echo >> ./conf/zoo.cfg
echo 'metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider' >> ./conf/zoo.cfg
echo 'metricsProvider.httpPort=7070' >> ./conf/zoo.cfg
echo 'admin.enableServer=true' >> ./conf/zoo.cfg
echo 'admin.serverPort=18080' >> ./conf/zoo.cfg
./bin/zkServer.sh start
echo 3 > ./tmp/zookeeper/myid
./bin/zkServer.sh restart

3.3 启动zookeeper

3.3.1 单机版启动
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
./bin/zkServer.sh start

查看是否启动成功。

./bin/zkServer.sh status
3.3.2 集群版启动
3.3.2.1 hadoop101节点操作
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
./bin/zkServer.sh start
3.3.2.2 hadoop102节点操作
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
./bin/zkServer.sh start
3.3.2.3 hadoop103节点操作
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
./bin/zkServer.sh start

3.4 zookeeper命令

3.4.1 启动zookeeper
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
./bin/zkServer.sh start
3.4.2 停止zookeeper
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
./bin/zkServer.sh stop
3.4.3 重启zookeeper
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
./bin/zkServer.sh restart
3.4.4 查看zookeeper状态
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
./bin/zkServer.sh status
3.4.5 进入zookeeper客户端
cd /opt/soft/zookeeper/apache-zookeeper-3.8.1-bin
./bin/zkCli.sh -server localhost:12181

3.5 zookeeper监控配置(可选,不影响ckman核心功能)

zookeeper集群是clickhouse实现分布式集群的重要组件。由于clickhouse数据量极大,避免给zookeeper带来太大的压力,最好给clickhouse单独部署一套集群,不要和其他业务公用。

修改zoo.cfg配置文件,添加如下配置。

metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
metricsProvider.httpPort=7000  #暴露给promethues的监控端口
admin.enableServer=true
admin.serverPort=8080   #暴露给四字命令如mntr等的监控端口,3.5.0以上版本支持

配置之后访问http://localhost:8080/commands/mntr,检查是否能正常访问。

4. mysql搭建

  • mysql5.7.44自动化安装教程
  • mysql5.7.37自动化安装教程

5. 安装jdk

hadoop101、hadoop102、hadoop103节点都要执行。

下载地址:https://www.oracle.com/java/technologies/downloads/#java8

下载后上传到/tmp目录下。

然后执行下面命令,用于创建目录、解压,并设置系统级环境变量。

mkdir -p /opt/module
tar -zxvf /tmp/jdk-8u391-linux-x64.tar.gz -C /opt/module/
echo >> /etc/profile
echo '#JAVA_HOME' >> /etc/profile
echo "export JAVA_HOME=/opt/module/jdk1.8.0_391" >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

四、ckman部署

点击可查看ckman官方说明文档。

1. 下载和安装

1.1 rpm包方式

wget https://github.com/housepower/ckman/releases/download/v3.0.8/ckman-3.0.8.x86_64.rpm -P /tmp
rpm -ivh /tmp/ckman-3.0.8.x86_64.rpm
# yum -y install /tmp/ckman-3.0.8.x86_64.rpm

1.2 tar包方式(忽略)

1.2.1 下载和解压
wget https://github.com/housepower/ckman/releases/download/v3.0.8/ckman-3.0.8-240321.Linux.amd64.tar.gz -P /tmp
mkdir -p /opt/software
tar -zxvf /tmp/ckman-3.0.8-240321.Linux.amd64.tar.gz -C /opt/software
1.2.2 启动
cd /opt/software/ckman/bin
./start

2. 启动与停止

2.1 启动

systemctl start ckman

2.2 重启

systemctl restart ckman

2.3 停止

systemctl stop ckman

2.4 查看状态

systemctl status ckman

3. 浏览器访问

浏览器输入 http://localhost:8808 即可访问 ckman 的UI页面。

ckman默认的登录用户为ckman,密码为Ckman123456!

在这里插入图片描述

登录之后,点击右上方的语言,可以选择中文;点击文档,可以查看ckman的相关配置说明和介绍。

在这里插入图片描述

在这里插入图片描述


五、ClickHouse集群部署

1. 下载rpm包

在安装ckman的主机上创建/etc/ckman/package/clickhouse目录,下载rpm包并上传到/etc/ckman/package/clickhouse目录下。

mkdir -p /etc/ckman/package/clickhouse
chmod a+w /etc/ckman/package/clickhouse
wget https://packages.clickhouse.com/rpm/stable/clickhouse-client-23.9.1.1854.x86_64.rpm -P /etc/ckman/package/clickhouse
wget https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-23.9.1.1854.x86_64.rpm -P /etc/ckman/package/clickhouse
wget https://packages.clickhouse.com/rpm/stable/clickhouse-server-23.9.1.1854.x86_64.rpm -P /etc/ckman/package/clickhouse
wget https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-dbg-23.9.1.1854.x86_64.rpm -P /etc/ckman/package/clickhouse

分别在hadoop101、hadoop102和hadoop03创建数据存储路径。

mkdir -p /opt/clickhouse/data/

2. 使用ckman部署clickhouse集群

2.1 创建集群

打开ckman的UI页面,点击创建集群。

在这里插入图片描述

2.2 填写集群配置信息

认证方式分为密码认证和公匙认证两种,密码认证方式直接填写安装ckman的root用户(或具有sudo权限的用户)密码即可。公匙认证需要把公匙文件id_rsa复制到/etc/ckman/conf/目录下,并添加可读权限。

cp /root/.ssh/id_rsa /etc/ckman/conf/
chmod a+r /etc/ckman/conf/id_rsa

填写好集群配置信息后,等待安装完成即可。

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

2.3 clickhouse监控配置(可选,不影响ckman核心功能)

ckman部署的clickhouse集群默认监听了9363端口上报metric给prometheus,因此无需做任何配置。

如果集群是导入的,请确保/etc/clickhouse-server/config.xml中有以下配置内容:

    <prometheus>
        <endpoint>/metrics</endpoint>
        <port>9363</port>

        <metrics>true</metrics>
        <events>true</events>
        <asynchronous_metrics>true</asynchronous_metrics>
        <status_info>true</status_info>
    </prometheus>

总结

通过使用CKman工具可以方便地管理ClickHouse集群,在浏览器上进行操作并监控各个节点状态。本文提供了基于RPM包方式进行安装以及使用CKman创建点击房子簇所需填写信息等步骤,并描述如何在需要时为Zookeeper、Prometheus等组件添加监控功能。这些步骤将帮助用户快速搭建一个可靠高效且易于管理的ClickHouse数据分析平台。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

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

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

相关文章

安全架构设计理论与实践相关知识总结

一、安全架构概述 常见信息威胁介绍&#xff1a; 1. 信息泄露&#xff1a;信息被泄露或透露给某个非授权实体 2. 破坏信息完整性&#xff1a;数据被非授权地进行增删改查货破坏而受到损失 3. 拒绝服务&#xff1a;对信息会其他资源的合法访问被无条件的组织 4. 非法使用&#x…

vue 加 websocket 聊天

<template><div style="height: 100%; width: 100%; background-color: #fff"><div class="wrap"><!-- 头部 --><div class="titleBox"><imgsrc="@/assets/image/avatar.png"style="argin: 10p…

《数据结构学习笔记---第九篇》---循环队列的实现

文章目录 1.循环队列的定义 2.循环队列的判空判满 3.创建队列并初始化 4.入队和出队 5. 返回队尾队首元素 6.释放循环队列 1.循环队列的定义 定义&#xff1a;存储队列元素的表从逻辑上被视为一个环。 我们此次实现的循环队列&#xff0c;采用顺序表 typedef struct {int…

Scikit-Learn K均值聚类

Scikit-Learn K均值聚类 1、K均值聚类1.1、K均值聚类及原理1.2、K均值聚类的优缺点 2、Scikit-Learn K均值聚类2.1、Scikit-Learn K均值聚类API2.2、K均值聚类案例 1、K均值聚类 K-均值&#xff08;K-Means&#xff09;是一种聚类算法&#xff0c;属于无监督学习。K-Means在机器…

Linux学习笔记————C 语言版 LED 灯实验

这里写目录标题 一、实验程序编写二、 汇编部分实验程序编写三、C 语言部分实验程序编写四、编译下载验证 汇编 LED 灯实验中&#xff0c;我们讲解了如何使用汇编来编写 LED 灯驱动&#xff0c;实际工作中是很少用到汇编去写嵌入式驱动的&#xff0c;毕竟汇编太难&#xff0c;而…

鸿蒙原OS开发实例:【ArkTS类库单次I/O任务开发】

Promise和async/await提供异步并发能力&#xff0c;适用于单次I/O任务的场景开发&#xff0c;本文以使用异步进行单次文件写入为例来提供指导。 实现单次I/O任务逻辑。 import fs from ohos.file.fs; import common from ohos.app.ability.common;async function write(data:…

【MySQL】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…

深入理解 Vue3 中使用 v-model技术实现双向数据绑定

引言 在 Vue3 中&#xff0c;v-model 是一个非常有用的指令&#xff0c;它提供了一种简洁的方式来实现组件之间的双向数据绑定。本文将深入探讨 Vue3 中的 v-model 技术&#xff0c;包括它的工作原理、使用场景以及如何在自定义组件中应用 v-model。 一、v-model 的工作原理 在…

STM32 M3内核寄存器概念

内容主要来自<<M3内核权威指南>> 汇编程序中的最低有效位&#xff08;Least Significant Bit&#xff09;。LSB是二进制数中最右边的位&#xff0c;它代表了数值中的最小单位。在汇编程序中&#xff0c;LSB通常用于表示数据的最小精度或者作为标志位。 ---------…

基于MiniExcel的三种常用导出Excel方法(固定列导出、动态列导出、按模板导出)

为了方便代码编写和测试&#xff0c;把很多代码都放在一个class里面&#xff0c;实际开发根据需要放到对应的目录下即可。 1.使用nuget下载安装miniexcel&#xff1b; 2.编写对应的测试接口&#xff0c;具体代码如下: using Microsoft.AspNetCore.Authorization; using Micr…

sql中如何添加数据?

添加 在 SQL 中添加数据通常使用INSERT语句。INSERT语句用于将新的数据行插入到数据库表中。 基本的INSERT语句语法如下&#xff1a; INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,...);其中&#xff1a; INSERT INTO&#xff1a;指定要插入数据…

探索设计模式的魅力:AI大模型如何赋能C/S模式,开创服务新纪元

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 AI大模型如何赋能C/S模式&#xff0c;开创服务新纪元 数字化飞速发展的时代&#xff0c;AI大模型…

从第三方数据集成工具迁移到Apache SeaTunnel的实操经验分享

在如今这个数据至上的商业环境中&#xff0c;构建一个高效、可靠的数据仓库对企业来说不仅是一项基础性工作&#xff0c;更是推动业务洞察、决策支持和创新的关键&#xff0c;而数据集成技术在此发挥着至关重要的作用&#xff0c;其时效性和准确性直接影响着下游业务的效率和产…

连接Redis不支持集群错误,ERR This instance has cluster support disabled,解决方案

1. 问题背景 调整redis的配置后&#xff0c;启动程序时&#xff0c; 会报如下错误&#xff1a; [redis://172.16.0.8xxx]: ERR This instance has cluster support disabledSuppressed: io.lettuce.core.RedisCommandExecutionException: ERR This instance has cluster supp…

电商技术揭秘四:电商平台的物流管理系统

文章目录 引言一、物流管理系统的功能与架构1.1 物流管理系统在电商平台中的作用概述保障订单的及时配送优化库存管理控制运营成本提升客户服务水平支持数据驱动的决策应对市场变化 1.2 订单处理功能分析自动化处理流程订单分配与履行错误检测与处理机制实时订单状态更新订单数…

群晖配置FTP服务结合内网穿透实现公网访问本地NAS中储存文件

文章目录 1. 群晖安装Cpolar2. 创建FTP公网地址3. 开启群晖FTP服务4. 群晖FTP远程连接5. 固定FTP公网地址6. 固定FTP地址连接 本文主要介绍如何在群晖NAS中开启FTP服务并结合cpolar内网穿透工具&#xff0c;实现使用固定公网地址远程访问群晖FTP服务实现文件上传下载。 Cpolar内…

微信小程序开发学习笔记——4.7 api中navigate路由接口与组件的关系

>>跟着b站up主“咸虾米_”学习微信小程序开发中&#xff0c;把学习记录存到这方便后续查找。 一、跳转 1、方法一&#xff1a;组件 组件-导航-navigator <navigator url"/pages/demo/demo?id123" open-type"reLaunch">go demo page <…

windows搭建ftp实现局域网共享文件

一、开启ftp服务 1.使用 win Q 键&#xff0c;快捷打开搜索框 2.搜索框内搜索 “控制面板” 3. 进入控制面板内选择 ”程序“ 4. 单击进入 “启用或关闭windows功能” 5. 找到并展开“internet information services”、 6. 建议展开后全选 “FTP服务器” 和 “web管理工…

Mysql的MHA高可用集群部署及故障切换

目录 一、MHA概念 1、MHA的组成 2、MHA的特点 二、搭建MysqlMHA 1、实验思路 1.1 MHA架构 1.2 故障模拟 2、实验环境、安装包 3、服务搭建 3.1 所有服务器&#xff0c;关闭系统防火墙和安全机制 3.2 修改master &#xff08;192.168.170.111&#xff09;、slave1&am…

ATFX汇市:美国3月ISM制造业PMI为50.3,远高于前值47.8,经济景气度高

ATFX汇市&#xff1a;虽然国际市场的主流预期是美联储将于今年六月份开启首次降息&#xff0c;但降息的前提条件——美国经济显著衰退——似乎远未到来。此前公布的美国非农就业报告显示&#xff0c;新增非农就业人口27.5万人&#xff0c;处于近12个月的数据峰值水平&#xff1…