大数据管理平台DataSophon-1.1.1安装部署详细流程

news2024/11/25 23:16:45

1 DataSophon介绍

1.1 DataSophon愿景

DataSophon致力于快速实现部署、管理、监控以及自动化运维大数据云原生平台,帮助您快速构建起稳定、高效、可弹性伸缩的大数据云原生平台。

1.2 DataSophon是什么

《三体》,这部获世界科幻文学最高奖项雨果奖的作品以惊艳的"硬科幻"风被大家所熟知,其作者刘慈欣更是被誉为"单枪匹马将中国科幻提高到世界级水平
作为三体中非常重要的角色,智子(Sophon)是将九维的质子进行二维展开,通过电路蚀刻改造成超级计算机后,再转回到微观的十一维来监控人类的一举一动,并利用量子纠缠实现瞬时通信报告给4光年之外的三体文明。说白了智子是三体文明部署在地球的AI实时远程监控和管理平台。

DataSophon也是个类似的管理平台,只不过与智子不同的是,智子的目的是锁死人类的基础科学阻碍人类技术爆炸,而DataSophon是致力于自动化监控、运维、管理大数据基础组件和节点的,帮助您快速构建起稳定,高效的大数据集群服务

1.3 DataSophon主要特性

① 快速部署,可快速完成300个节点的大数据集群部署
② 兼容复杂环境,极少的依赖使其很容易适配各种复杂环境
③ 监控指标全面丰富,基于生产实践展示用户最关心的监控指标
④ 灵活便捷的告警服务,可实现用户自定义告警组和告警指标
⑤ 可扩展性强,用户可通过配置的方式集成或升级大数据组件

1.4 整体架构

在这里插入图片描述

1.5 集成组件

各集成组件均进行过兼容性测试,并稳定运行于300+个节点规模的大数据集群,日处理数据量约4000亿条。在海量数据下,各大数据组件调优成本低,平台默认展示用户关心和需要调优的配置。

序号名称版本描述
1HDFS3.3.3分布式大数据存储
2YARN3.3.3分布式资源调度与管理平台
3ZooKeeper3.5.10分布式协调系统
4FLINK1.15.2实时计算引擎
5DolphoinScheduler3.1.1分布式易扩展的可视化工作流任务调度平台
6StreamPark1.2.3流处理极速开发框架,流批一体&湖仓一体的云原生平台
7Spark3.1.3分布式计算系统
8Hive3.1.0离线数据仓库
9Kafka2.4.1高吞吐量分布式发布订阅消息系统
10Trino367分布式Sql交互式查询引擎
11Doris1.1.5新一代极速全场景MPP数据库
12Hbase2.4.16分布式列式存储数据库
13Ranger2.1.0权限控制框架
14ElasticSearch7.16.2高性能搜索引擎
15Prometheus2.17.2高性能监控指标采集与告警系统
16Grafana9.1.6监控分析与数据可视化套件
17AlertManager0.23.0告警通知管理系统

2 环境准备

2.0 DataSophon安装包

链接:https://pan.baidu.com/s/1QWTMadCGLiAL-XqeS6AygQ 
提取码:2gd2 

选择需要安装的DataSophon版本,并选择对应的datasophon-manager版本。本文以最新的DataSophon-1.1.1版本为例。

2.1 网络要求

要求各机器各组件正常运行提供如下的网络端口配置:

组件默认端口说明
DDHApplicationServer8081、2551、85868081为http server端口,2551为rpc通信端口,8586为jmx端口
WorkerApplicationServer2552、9100、8585 2552rpc通信端口,8585为jmx端口,9100为主机数据采集器端口
nginx8888提供 UI 端通信端口

注:
① DDHApplicationServer为API接口层即web后端,主要负责处理前端UI层的请求。该服务统一提供RESTful api向外部提供请求服务。
② WorkerApplicationServer负责执行DDHApplicationServer发送的指令,包括服务安装、启动、停止、重启等指令。

2.2 配置hosts

大数据集群所有机器需配置主机host。

配置主机名: hostnamectl set-hostname 主机名

配置/etc/hosts文件

2.3 关闭防火墙

2.4 集群免密

部署机器中,DataSophon节点以及大数据服务主节点与从节点之间需免密登录。

配置免密

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 -i ~/.ssh/id_rsa.pub root@主机

2.5 环境要求

Jdk环境需安装。建议mysql版本为5.7.X,并关闭ssl。

2.6 创建目录

mkdir -p /opt/datasophon/DDP/packages

将下载的部署包上传到/opt/datasophon/DDP/packages目录下,作为项目部署包仓库地址。
注:需要将默认安装包建立在这个目录下,否则会报找不到目录错,如下:
在这里插入图片描述

3 部署

3.1 部署mysql

注意需关闭mysql ssl功能。在部署过程中,部分组件会执行sql生成库表,不同环境的mysql在配置上存在差异,可根据sql执行情况,变更mysql配置。

3.1.1 关闭ssl

#使用如下命令查看ssl是否关闭,如果have_ssl的值为YES,说明SSL已经开启
SHOW VARIABLES LIKE '%ssl%';

在这里插入图片描述
修改配置文件my.cnf,在MySQL的配置文件my.cnf中加入以下内容:

#disable_ssl
skip_ssl

这个配置的作用是告诉MySQL不要使用SSL协议。在修改配置文件之前,最好备份一下,以免出错后无法恢复。

重启mysql服务
修改了my.cnf文件之后,需要重启MySQL才能使修改生效。可以使用以下命令重启MySQL:

service mysqld restart

再次查看,可以发现此时have_ssl值为DISABLED
在这里插入图片描述

3.1.2 执行初始化脚本

执行如下数据库脚本:

CREATE DATABASE IF NOT EXISTS datasophon DEFAULT CHARACTER SET utf8;
grant all privileges on *.* to datasophon@"%" identified by 'datasophon' with grant option;
GRANT ALL PRIVILEGES ON *.* TO 'datasophon'@'%';
FLUSH PRIVILEGES;

执行datasophon-manager安装目录sql目录下datasophon.sql,创建数据表。

source datasophon.sql

3.2 解压

在安装目录下解压datasophon-manager-{version}.tar.gz,解压后可以看到如下安装目录:

tar -zxvf datasophon-manager-1.1.1.tar.gz

在这里插入图片描述

bin:启动脚本git

conf :配置文件

lib :项目依赖的jar包

logs:项目日志存放目录

jmx:jmx插件

3.3 安装并配置nginx

注:1.1.1之前的版本需要执行该步操作,需要配置nginx。1.1.1及以后版本可以跳过该步骤

3.3.1 安装依赖包

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

3.3.2 下载并解压

#创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
#下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz

3.3.3 安装nginx

#进入nginx目录
cd /usr/local/nginx/nginx-1.13.7
#执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令
make
#执行make install命令
make install

3.3.4 启动nginx服务

 ​​​​​​​/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

看到如下页面说明nginx安装成功
在这里插入图片描述

3.3.5配置nginx.conf

# 打开配置文件
vim /usr/local/nginx/conf/nginx.conf

注意:这里需要获取前端配置包dist.zip并解压

新增配置

server {
                listen 8888;# 访问端口(自行修改)
                server_name localhost;
                #charset koi8-r;
                #access_log /var/log/nginx/host.access.log main;
                location / {
                        root /usr/local/nginx/dist; # 前端解压的 dist 目录地址(自行修改)
                        index index.html index.html;
                }
                location /ddh {
                        proxy_pass http://doris-1:8081; # 接口地址(自行修改)
                        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 30s;
                        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;
                }
        }

3.3.6 重启nginx

/usr/local/nginx/sbin  -s reload

3.4 修改配置

修改 conf 目录下的application.yml 配置文件中数据库链接配置:

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql:192.168.5.189:3306/datasophon?useUnicode=true&characterEncoding=utf-8
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver

在这里插入图片描述

3.4 启动服务

#启动
sh bin/datasophon-api.sh start api
#停止
sh bin/datasophon-api.sh stop api
#重启
sh bin/datasophon-api.sh restart api

部署成功后,可以进行日志查看,日志统一存放于logs文件夹内:

logs/

├── ddh-api.log

├── ddh-api-error.log

|—— api-{hostname}.out
在这里插入图片描述

3.5 访问页面

访问前端页面地址,接口ip(自行修改) [http://192.168.xx.xx:8081/ddh,默认用户名和密码为admin/admin123
在这里插入图片描述

4 创建集群

登录进入系统页面后在集群管理页面创建集群,DataSophon支持多集群管理和授予用户集群管理员权限
在这里插入图片描述
点击【创建集群】,输入集群名称,集群编码(集群唯一标识),集群框架。
在这里插入图片描述

创建成功后点击【配置集群】:
根据提示,输入主机列表(注意:主机名需与在准备环境中hostnamectl set-hostname 设置的主机名一致),ssh用户名默认为root和ssh端口默认为22。
在这里插入图片描述

配置完成后,点击【下一步】,系统开始链接主机并进行主机环境校验。
在这里插入图片描述

主机环境校验成功后点击【下一步】,主机agent分发步骤将自动分发datasophon-worker组件,并启动WorkerApplicationServer。
在这里插入图片描述

主机管理Agent分发完成后,点击【下一步】,开始部署服务。
初始化配置集群先选择部署AlertManager,Grafana和Prometheus三个组件。
在这里插入图片描述

点击【下一步】,分配AlertManager,Grafana和Prometheus服务的master服务角色部署节点,此三个组件需部署在同一台机器上。
在这里插入图片描述

点击【下一步】,分配AlertManager,Grafana和Prometheus服务的worker与client服务角色部署节点,没有worker和client服务角色的可以跳过之间点击【下一步】。

在这里插入图片描述

修改各服务配置。系统已给出默认配置,大部分情况下无需修改。
在这里插入图片描述

点击【下一步】开始服务安装,可实时查看服务安装进度。
在这里插入图片描述

点击【完成】,在集群管理页面点击【进入】,即可进入集群服务组件管理页面。

在这里插入图片描述

5 添加服务

5.1 安装ZK

选择添加服务,选择zk
在这里插入图片描述
分配ZooKeeper master服务角色部署节点,zk需部3台或5台。
在这里插入图片描述
Zk没有worker与client服务角色,直接点击【下一步】跳过。

根据实际情况修改Zk服务配置。
在这里插入图片描述

点击【下一步】,进行zk服务安装
在这里插入图片描述
安装成功后即可查看Zookeeper服务总览页面。
在这里插入图片描述

5.2 安装HDFS

部署HDFS,其中JournalNode需部署三台,NameNode部署两台,ZKFC和NameNode部署在相同机器上。如下图
在这里插入图片描述
点击【下一步】,选择DataNode部署节点。
在这里插入图片描述
根据实际情况修改配置,例如修改DataNode数据存储目录。
在这里插入图片描述
点击【下一步】,开始安装Hdfs。
在这里插入图片描述
安装成功后,即可查看HDFS服务总览页面。
在这里插入图片描述

5.3 添加Yarn服务

部署YARN,其中ResourceManager需部署两台作高可用。如下图:
在这里插入图片描述
点击【下一步】,选择NodeManager部署节点。
在这里插入图片描述

根据实际情况修改配置。
在这里插入图片描述
等待安装完成
在这里插入图片描述
安装成功后,即可查看YARN服务总览页面
在这里插入图片描述

5.4 添加hive服务

5.4.1 准备工作

1)在数据库中创建Hive数据库。

CREATE DATABASE IF NOT EXISTS hive DEFAULT CHARACTER SET utf8;
grant all privileges on *.* to hive@"%" identified by 'hive' with grant option;
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;

在这里插入图片描述

5.4.2 安装hive

选择需要安装hiveserver2和metastore角色的节点
在这里插入图片描述
选择需要安装hiveclient角色的节点
在这里插入图片描述
根据实际情况修改配置
在这里插入图片描述
等待安装完成,安装成功后即可查看YARN服务总览页面
在这里插入图片描述

5.5 安装dolphinscheduler服务

5.5.1 准备工作

1)初始化DolphinScheduler数据库。

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler';
flush privileges;

在这里插入图片描述
2)执行/opt/datasophon/DDP/packages目录下dolphinscheduler_mysql.sql创建dolphinscheduler数据库表

5.5.2 安装dolphinscheduler

添加dolphinscheduler服务
在这里插入图片描述
分配api-server/alert-server/master-server/worker-server角色
在这里插入图片描述
根据实际情况,修改DolphinScheduler配置。
在这里插入图片描述
开始安装DolphinScheduler,安装成功后可以看到DolphinScheduler总览页面
在这里插入图片描述
可以通过WebUi打开DolphinScheduler页面.
在这里插入图片描述
在这里插入图片描述

5.6 添加trino

点击【添加服务】,选择Trino。
在这里插入图片描述
选择TrinoCoordinator。
在这里插入图片描述
选择TrinoWorker。注意:TrinoCoordinator和TrinoWorker不要部署在同一台机器上。
在这里插入图片描述
注意"Trino最大堆内存","每个查询在单个节点可使用最大内存"这两个配置,其中"每个查询在单个节点可使用最大内存"不可超过"Trino最大堆内存"的80%,“总共可使用最大内存"为"每个查询在单个节点可使用最大内存”* TrinoWorker数.
在这里插入图片描述
点击【下一步】,开始安装Trino。等待安装完成,可以看到Trino总览页面
在这里插入图片描述
选择trino的webui,可以访问trino的连接
在这里插入图片描述
在这里插入图片描述

5.7 添加doris服务

点击【添加服务】,选择Doris。
在这里插入图片描述
分配FE服务角色部署节点。
在这里插入图片描述
分配BE服务角色部署节点。
在这里插入图片描述
根据需要修改Doris配置,其中FE优先网段和BE优先网段需要配置,如配置成172.31.86.0/24
在这里插入图片描述
点击【下一步】,开始安装Doris。
在这里插入图片描述

5.8 安装kafka

在这里插入图片描述
选择安装kafka服务broker角色的节点
在这里插入图片描述
根据实际情况调整Kafka参数。
在这里插入图片描述
Kafka安装成功后,即可在Kakfa服务总览页查看Kafka详情。
在这里插入图片描述

5.9 安装ranger

创建ranger数据库

CREATE DATABASE IF NOT EXISTS ranger DEFAULT CHARACTER SET utf8;
grant all privileges on *.* to ranger@"%" identified by 'ranger' with grant option;
GRANT ALL PRIVILEGES ON *.* TO 'ranger'@'%';
FLUSH PRIVILEGES;

在这里插入图片描述
点击【添加服务】,选择Ranger。
选择RangerAdmin部署节点。
在这里插入图片描述
输入数据库root用户密码,数据库地址,Ranger数据用户密码等配置信息。
在这里插入图片描述

安装成功后,即可在Kakfa服务总览页查看Ranger详情。
在这里插入图片描述

5.10 安装StreamPark

初始化StreamPark数据库。

CREATE DATABASE streampark DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON streampark.* TO 'streampark'@'%' IDENTIFIED BY 'streampark';
GRANT ALL PRIVILEGES ON streampark.* TO 'streampark'@'localhost' IDENTIFIED BY 'streampark';
flush privileges;

在这里插入图片描述
执行/opt/datasophon/DDP/packages目录下streampark.sql创建streampark数据库表。

use streampark;
source /opt/datasophon/DDP/packages/streampark.sql

分配streampark角色
在这里插入图片描述
根据实际情况修改配置。
在这里插入图片描述
安装成功后可查看StreamPark总览页面,可通过WebUi跳转到StreamPark用户页面。

还有其他组件,如spark/flink/hbase/elasticsearch等,这里就不再一一例举安装了,感兴趣的小伙伴可以自己上手试一试。

6 多集群部署

DataSophon支持部署和管理集群,在管理页面点击创建新的集群,输入集群id等信息
在这里插入图片描述

部署其他集群的节点同样需要上述2.1-2.5的环境准备。

6.1 扫描节点和分发安装包

输入需要安装集群的节点ip
在这里插入图片描述
在这里插入图片描述

分发worker安装包
在这里插入图片描述

6.2 选择需要安装的服务

在这里插入图片描述

6.3 分配角色

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

6.4 确认服务配置参数

在这里插入图片描述

6.5 安装服务

在这里插入图片描述

6.6 进入集群2

安装成功之后,进入集群2查看总览页面
在这里插入图片描述

在这里插入图片描述

6.7 集群2中添加服务

在集群2中添加zk/kafka/doris服务
zk页面总览
在这里插入图片描述
kafka页面总览
在这里插入图片描述
doris页面总览
在这里插入图片描述

6.8 集群间切换

可以选择不同的集群id,查看对应不同集群的节点信息、组件安装信息、告警信息等
在这里插入图片描述
不同集群安装的服务和节点均可不一致:

集群1主机管理
在这里插入图片描述
集群2主机管理
在这里插入图片描述

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

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

相关文章

聚观早报 | 英伟达市值破万亿美元;微信问一问搜索功能开始内测

今日要闻:英伟达市值破万亿美元;微信「问一问」搜索功能开始内测;快播宣告破产公司已注销;贤合庄北京门店全部关闭;华为AIGC或在7月发布 英伟达市值破万亿美元 5 月 30 日消息,上周三,英伟达发…

阿里云服务器选购指南(图文教程详解)

目录 一、前言 二、基本概念 1.定义 2.部署形式 3.用处 三、主流平台 1.Google 2.AWS 3.华为云 4.腾讯云 5.阿里云 四、云服务器分类 1.云服务器ECS 2.轻量应用服务器 3.GPU云服务器 4.FPGA云服务器 5.无影云桌面 五、选购指南 1.明确需求 2.明确身份 3.明确时间 4.明确教程 一…

浅谈数字电视大楼电力保护监控系统的设计与应用

摘要:介绍天津电视台数字电视大厦电力监控系统的选择与建立,组网方式,系统的使用与报文的显示等,通过该系统对大厦所有变配电回路、UPS 线路等关键部位进行监控和管理。 关键词:电力监控;数字电视;变配电; 1.总述 天津…

一个通用的自适应prompt方法,突破了零样本学习的瓶颈

深度学习自然语言处理 原创作者:Winni 今天要给大家介绍一篇Google的研究,解决了大语言模型(LLMs)在零样本学习方面的困境。相比于少样本学习,LLMs在零样本学习上常常表现得比较弱,这主要是因为缺乏指导。而…

MySQL数据库 5.DDl操作数据库

目录 🤔DDL介绍: 🤔语法详解: 1.查询: 1.查询所有数据库: 示例:查询自带数据库 2.查询当前数据库: 2.创建: 示例:创建一个名字叫做itcast的数据库&…

chatgpt赋能python:Python的交运算:了解、应用和优化

Python的交运算:了解、应用和优化 Python是一种流行的编程语言,它拥有丰富的数据结构和算法库。其中,交运算是一种常用的操作,它能够方便地比较两个集合的相同元素。在这篇SEO文章中,我们将介绍Python中的交运算&…

(原创)Android apk应用加固、字节对齐、二次签名全流程

这篇博客主要是讲如何对apk应用进行加固、对齐和签名的,会有详细的步骤逐一介绍 前言 随着各大加固工具都开始逐一收费后,个人开发中或者中小型企业如何对应用进行加固就成了一个问题。以前我常用的是360加固助手,虽然每天限制一定的免费次数…

玖章算术荣获信通院“生成式人工智能技术和应用优秀案例”奖

5月31日,“杭州通用人工智能论坛”在杭州梦想小镇互联网村成功举办。本次会议由中国信息通信究院(以下简称中国信通院)、浙江省经济和信息化厅、杭州市人民政府、中国人工智能产业发展联盟等共同主办。 玖章算术获奖 玖章算术的 NineData 智…

git 使用ssh连接Github:017

1. 首先打开Git Bash终端,生成私钥和公钥:ssh-keygen 输入:ssh-keygen 之后, 会有三步提示,全部按回车建。 2. 进入主路径:cd ~/.ssh/ 进入这个路径之后,使用命令:ls 会看到两个文…

基于VMD-SSA-LSTM的多维时序光伏功率预测

目录 1 主要内容 变分模态分解(VMD) 麻雀搜索算法SSA 长短期记忆网络LSTM 2 部分代码 3 程序结果 4 下载链接 1 主要内容 之前分享了预测的程序基于LSTM的负荷和可再生能源出力预测【核心部分复现】,该程序预测效果比较好,并且结构比较清晰&#x…

.net 6.0图片转Base64部署到Linux系统上报The type initializer for ‘Gdip‘ threw an exception

在业务当中需要将图片文件转为Base64&#xff1a;windows上可以运行正常执行&#xff0c;部署到Linux系统上报The type initializer for ‘Gdip‘ threw an exception 图片转Base64代码如下 /// <summary> /// 图片转为base64编码的文本 /// </summary> /// <…

CMake深度解析:掌握add_custom_command,精通Makefile生成规则

CMake深度解析&#xff1a;掌握add_custom_command&#xff0c;精通Makefile生成规则 1. CMake简介与基础知识1.1 CMake的基本概念&#xff08;CMake Basic Concepts&#xff09;1.1.1 项目&#xff08;Project&#xff09;1.1.2 目标&#xff08;Target&#xff09;1.1.3 命令…

terminalworks ASP.NET Core PDF 浏览器-Crack

ASP.NET Core 的 PDF 查看器 terminalworks在 ASP.NET Core 网页或应用程序中添加可靠的 PDF 查看器的简单方法。 我们的 Web PDF 查看器基于经过验证和测试的 Mozilla PdfJS 解决方案&#xff0c;该解决方案在 Firefox 中用作默认 PDF 查看器。我们专门设计了我们的查看器&…

窄带高清技术之百万级并发下的演唱会直播细节修复

史无前例&#xff0c;高清又不卡。 5月&#xff0c;百视TV联合上海人民广播电台、时代峰峻共同出品的《东方风云榜》&#xff0c;绚烂呈现一场三十周年音乐分享会时代少年团《理想之途》。有人说&#xff0c;这是一场似梦非梦的记忆。 演唱会由“乐园”、“少年”、“乌托邦”三…

Pyside6-第四篇-QCheckBox复选框

今天是Pyside6的第四篇内容。一起来看复选框。 QCheckBox。 class QCheckBox(QAbstractButton):"""QCheckBox(self, parent: Optional[PySide6.QtWidgets.QWidget] None) -> NoneQCheckBox(self, text: str, parent: Optional[PySide6.QtWidgets.QWidget] …

爱尔眼科四川省区2023“集善扶困(贫)健康行”公益行动圆满收官

红原县地处青藏高原东部&#xff0c;位于四川省西北部、阿坝藏族羌族自治州中部&#xff0c;这里山原向丘状高原过渡&#xff0c;空气稀薄、气候偏冷、紫外线强&#xff0c;这里生活着大量藏族同胞。 这里地势出行不便医疗资源有限&#xff0c;青少年近视防控问题、中老年人的白…

CentOS的安装

Centos的安装 1.创建新的虚拟机2. 自定义3.下一步4.创建虚拟空白光盘5.安装Linux系统和Centos 7 发行版6.命名虚拟机名称和选择磁盘位置7.处理器配置 主要看自己的电脑的情况8.设置虚拟机内存9.网络设置 nat10.选择IO控制器类型11.选择磁盘类型12.创建新虚拟磁盘13.设置磁盘容量…

元宇宙 代价高昂的失败

一直以来我对GIS范围内3维及VR实用化持怀疑态度&#xff0c;觉得它就是个坑&#xff01;因此总被三维狂热者和同行批评。三维这种东西最大的优点是直观易于理解&#xff0c;但最大的坏处也是直观易于理解&#xff01;搞的很多外行也以为自己很了解这些技术&#xff0c;跟风起哄…

vue——实现数据懒加载(可视区域内才进行数据加载)——技能提升

昨天部门会议&#xff0c;领导提出一个需求&#xff0c;就是当一个前端页面有上百个图表或者其它元素&#xff0c;对应的接口有许多时&#xff0c;为了体验效果&#xff0c;不能一次性加载全部的数据&#xff0c;只有当元素滚动到可视区域内时&#xff0c;再进行相应接口的调用…

记录--Js基础练习题目

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 1.使用js&#xff0c;在页面中打印以下图案 提示&#xff1a; document.write可以在页面中打印内容<br>在html中代表换行, 在html中代码空格 for(var i0;i<7;i){// 空格部分for(var j7;j>…