当前位置: 首页 > news >正文

搭建分布式Hive集群

title: 搭建分布式Hive集群
date: 2024-11-29 23:39:00
categories: 
- 服务器
tags:
- Hive
- 大数据

搭建分布式Hive集群

  • 本次实验环境:Centos 7-2009、Hadoop-3.1.4、JDK 8、Zookeeper-3.6.3、Mysql-5.7.38、Hive-3.1.2

功能规划

方案一(本地运行模式)

Master
主节点(Mysql+Hive)
192.168.66.6

方案二(完全分布式模式)

MasterSlave1
主节点(Hive)数据存储节点(Mysql)
192.168.66.6192.168.66.7

准备工作

若使用方案一,则在master节点上进行”准备工作“

  • 若使用方案二,则在slave1节点上进行“准备工作”

1. 卸载以及删除自带的mariadb

# 查看cent7自带的mariadb包
rpm -qa | grep mariadb# 这条是centos7自带的数据库安装包 mariadb-libs-5.5.68-1.el7.x86_64# 删除自带的数据库安装包
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

2. 安装Mysql的release文件

# 使用wget下载Mysql5.7.x版本的release文件(二选一)
wget -P /tmp/ -c 'https://mirrors.ustc.edu.cn/mysql-repo/mysql57-community-release-el7.rpm'# 使用curl下载Mysql5.7.x版本的release文件(二选一)
curl -C - 'https://mirrors.ustc.edu.cn/mysql-repo/mysql57-community-release-el7.rpm' -O /tmp/
# 导入release的GPG秘钥
rpm --import https://mirrors.ustc.edu.cn/mysql-repo/RPM-GPG-KEY-mysql# 安装Mysql的release包
yum install -y /tmp/mysql57-community-release-el7.rpm

3. 安装Mysql

3.1 (二选一)使用直接通过国内镜像下载依赖包并安装
# 下载mysql-community-server
wget -P /tmp/ -c 'https://mirror.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/mysql-community-server-5.7.44-1.el7.x86_64.rpm'# 下载mysql-community-client
wget -P /tmp/ -c 'https://mirror.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/mysql-community-client-5.7.44-1.el7.x86_64.rpm'# 下载mysql-community-common
wget -P /tmp/ -c 'https://mirror.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/mysql-community-common-5.7.44-1.el7.x86_64.rpm'# 下载mysql-community-libs
wget -P /tmp/ -c 'https://mirror.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/mysql-community-libs-5.7.44-1.el7.x86_64.rpm'
# 安装Mysql-server
yum install -y /tmp/mysql-community*
3.2 (二选一)使用国内yum源进行一键安装
# 导入GPG公钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 备份原Mysql的yum源
cd /etc/yum.repos.d/
mv mysql-community.repo mysql-community.repo.bak
mv mysql-community-source.repo mysql-community-source.repo.bak# 添加国内Mysql的yum源
cat >> mysql-community.repo << "EOF"
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=https://mirror.iscas.ac.cn/mysql/yum/mysql-connectors-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysqlhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022[mysql-tools-community]
name=MySQL Tools Community
baseurl=https://mirror.iscas.ac.cn/mysql/yum/mysql-tools-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysqlhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022[mysql-5.7-community]
name=MySQL 5.7 Community Server
baseurl=https://mirror.iscas.ac.cn/mysql/yum/mysql-5.7-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysqlhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022
EOF
# 清除yum的旧缓存,并更新的yum源的缓存
yum clean all && yum makecache# 安装Mysql-server
yum install -y mysql-server

4. 启动Mysql

# 配置Mysql开机自启
systemctl enable mysqld# 启动Mysql
systemctl start mysqld# 查看Mysql状态
systemctl status mysqld

5. 配置Mysql

# 查看安装后随机生成的Mysql密码
grep 'A temporary password' /var/log/mysqld.log
# 登录数据库
mysql -uroot -p'你自己查到的密码'# 重置默认的随机密码(不进行无法操作数据库)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';# 退出数据库
exit

6. 创建用于存储Hive数据的用户

# 必须要先退出服务器,使用新的密码进入数据库才能操作
mysql -uroot -p'新密码'# 创建名为Hiv的数据库
CREATE DATABASE hive;# 创建名为hive的用户,并设置密码
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive用户的密码';# 授权hive用户对Hive数据库的所有权限
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%' WITH GRANT OPTION;
GRANT ALL on hive.* to 'hive'@'%' identified by 'hive用户密码' with grant option;# 刷新权限
FLUSH PRIVILEGES;

7. 退出数据库

exit

正式安装Hive

在master主节点上执行

8. 安装程序文件

  • 首先上传Hive的文件到服务器上,或直接进行以下的下载行为
# 使用wget命令下载Hive文件(二选一)
wget -P /tmp/ -c 'https://repo.huaweicloud.com/artifactory/apache-local/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz'# 使用curl命令下载Hive文件(二选一)
curl -C - 'https://repo.huaweicloud.com/artifactory/apache-local/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz' -O /tmp/# 解压文件到指定目录
tar -zxvf /tmp/apache-hive-3.1.2-bin.tar.gz -C /opt/module/#重命名文件夹
mv /opt/module/apache-hive-3.1.2-bin/ /opt/module/hive

9. 解决Hive与Hadoop之间的guava版本差异(依赖冲突)

# 备份hive中原guava的jar包
mv /opt/module/hive/lib/guava-19.0.jar /opt/module/hive/lib/guava-19.0.jar.bak# 使用haddoop中guava-27版本的jar包覆盖hive中的jar包
cp $HADOOP_HOME/share/hadoop/common/lib/guava-27.0-jre.jar /opt/module/hive/lib/

10. 配置用户环境变量

cat >>  ~/.bashrc << "EOF"# ------------------- Hive 配置--------------------
# 设置Hive环境变量,指向Hive安装目录
export HIVE_HOME=/opt/module/hive# 将HIVE的bin目录添加到PATH环境变量
export PATH=$PATH:$HIVE_HOME/bin
# -------------------------------------------------
EOF
-----------------------------------------------------------说明举例   export PATH=$HIVE_HOME/bin:$PATH英文冒号代表分隔这段代码表示
1. 当你输入一个命令时,shell会首先在"HIVE_HOME"这个变量的"bin"子目录中查找,
2. 最后,若找不到,则在"PATH"的指定目录中查找-------------------------------------------------------------

11. 编写Hive的配置文件

# 进入hive配置目录
cd /opt/module/hive/conf# 复制hive-env.sh模板
cp hive-env.sh.template hive-env.sh
根据自己的配置信息,或者查看~/.bashrc,修改下面各项的内容,随后复制粘贴即可
# 配置hive.env.sh文件
cat >> hive-env.sh << EOF
export HADOOP_HOME=/opt/module/hadoop-3.1.4
export HIVE_CONF_DIR=/opt/module/hive/conf
export HIVE_AUX_JARS_PATH=/opt/module/hive/lib
EOF

12.编写Hive的配置文件2

如果选择方案一部署,则数据库信息填写master主机的信息,hive服务器填写master主机

  • 如果选择方案二部署,则数据库信息填写slave1主机的信息填写,hive服务器填写master主机
cat >> hive-site.xml << EOF
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><!-- 配置存储元数据的数据库主机以及其他配置 --><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value></property><!-- 配置连接数据库使用的的驱动名 --><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property><!-- 配置连接数据库的用户名,即刚刚设置的hive --><property><name>javax.jdo.option.ConnectionUserName</name><value>hive</value></property><!-- 配置hive用户连接数据库的密码 --><property><name>javax.jdo.option.ConnectionPassword</name><value>“你设置的hive用户密码”</value></property><!-- H2S(Hive服务器)运行绑定的主机 --><property><name>hive.server2.thrift.bind.host</name><value>master</value></property><!-- 远程模式部署metastore(元数据)服务的地址(即数据库) --><property><name>hive.metastore.uris</name><value>thrift://master:9083</value></property><!-- 关闭元数据权限的身份认证 --><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property><!-- 关闭元数据存储版本的一致性验证 --><property><name>hive.metastore.schema.verification</name><value>false</value></property>
</configuration>
EOF

13. 使用mysql-connector-java驱动

网上找不到5.5、5.6、5.7版本的驱动,官网提供了解决方法:

  • Connector/J 8.0 provides compatibility with all the functionality of MySQL 5.5, 5.6, 5.7, and 8.0,翻译过来就是说——8.0版本的驱动兼容这些版本,使用8.0版本的驱动就可以了
  • mysql-connector-java驱动目录1

  • mysql-connector-java驱动目录2

  • mysql-Connector-J安装包下载_开源镜像站-阿里云

# 根据你自己的mysql版本,在目录中查找对应版本的驱动,并放到hive主目录下的lib下即可
cp mysql-connector-java-8.0.26.jar /opt/module/hive/lib/

结束安装

14. 加载环境变量

# 在master主节点上执行
source ~/.bashrc

15. 启动Hive

# 初始化Hive元数据到Mysql
schematool -initSchema -dbType mysql# 创建日志目录
mkdir $HIVE_HOME/logs# 启动Hive服务
cd $HIVE_HOME/logs && hive --service metastore

16. 验证Hive部署是否成功

# 进入Mysql数据库
myslq -uroot -p'新密码'# 改变使用的数据库
use hive;# 查看数据库中的表
show tables;# 若里面有数据,则部署成功

17. 后台启动Hive服务

nohup hive --service metastore > $HIVE_HOME/logs/nohup.out 2>&1 &

参考文档

  1. Hive3.1.2版本完全分布式安装部署保姆级教程_hive 3.1.2 部署-CSDN博客

  2. Hive3.1.2搭建文档包含详细步骤及相关截图以及常见问题解决 - bjynjj - 博客园

  3. 从零开始搭建分布式大数据环境(Hadoop+Spark+Hive)

  4. 【超详细】CentOS 7安装MySQL 5.7【安装及密码配置、字符集配置、远程连接配置】_mysql contos 密码配置文件-CSDN博客

  5. Linux安装软件包的三种方法,rpm包介绍,rpm工具用法,yum工具用法,yum搭建本地仓库-腾讯云开发者社区-腾讯云

  6. mysql | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

  7. MySQL - USTC Mirror Help

  8. 【超详细】CentOS 7安装MySQL 5.7【安装及密码配置、字符集配置、远程连接配置】_mysql contos 密码配置文件-CSDN博客

  9. 通过国内mysql镜像站安装Mysql8.0版本服务器——解决方案_mysql国内镜像-CSDN博客

  10. Maven中找不到mysql-connector-java-5.7.24.jar的依赖_mysql5.7.24对应的jar包版本-CSDN博客

  11. JDBC连接数据库出现Loading class com.mysql.jdbc.Driver'. This is deprecated.问题的相关解决方法_this is deprecated. the new driver class is com.m-CSDN博客

相关文章:

搭建分布式Hive集群

title: 搭建分布式Hive集群 date: 2024-11-29 23:39:00 categories: - 服务器 tags: - Hive - 大数据搭建分布式Hive集群 本次实验环境&#xff1a;Centos 7-2009、Hadoop-3.1.4、JDK 8、Zookeeper-3.6.3、Mysql-5.7.38、Hive-3.1.2 功能规划 方案一&#xff08;本地运行模…...

Scala的惰性求值:深入理解与实践

在编程中&#xff0c;我们经常需要处理那些计算成本高昂或者可能永远不会用到的值。在这种情况下&#xff0c;惰性求值&#xff08;Lazy Evaluation&#xff09;是一种非常有用的策略。它允许我们推迟计算&#xff0c;直到这些值真正需要被使用。Scala&#xff0c;作为一种多功…...

游戏引擎学习第54天

仓库: https://gitee.com/mrxiao_com/2d_game 回顾 我们现在正专注于在游戏世界中放置小实体来代表所有的墙。这些实体围绕着世界的每个边缘。我们有活跃的实体&#xff0c;这些实体位于玩家的视野中&#xff0c;频繁更新&#xff0c;而那些离玩家较远的实体则以较低的频率运…...

QT绘制同心扇形

void ChartForm::paintEvent(QPaintEvent *) {QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing);// 设置抗锯齿painter.save();// 设置无边框&#xff08;不需要设置QPen&#xff0c;因为默认是不绘制边框的&#xff09;QPen pen(Qt::NoPen);// QPen pen…...

梳理你的思路(从OOP到架构设计)_浅尝架构师的滋味02

目录 1、 App开发者的职责&#xff1a;买主提供需求知识&#xff0c;App开发者帮他写代码 撰写的代码 撰写代码&#xff0c;将装配(扩充)到 2、 从生活中体会 基於軟硬整合觀點“两种知识” ​编辑 1、 App开发者的职责&#xff1a;买主提供需求知识&#xff0c;App开发者帮…...

使用VLC 搭建 RTSP 服务器

第一步&#xff1a;打开 VLC &#xff0c;媒体--->流 第二步&#xff1a;添加一个选择本地的文件&#xff0c;然后点击选择"串流" 第三步&#xff1a;确认你选择的文件&#xff0c;然后点击下一个 第四步&#xff1a; 配置 选择的视频文件使用哪种 流输出&#xf…...

什么是大型语言模型

大型语言模型简介 大型语言模型 (LLM) 是一种深度学习算法&#xff0c;可以使用非常大的数据集识别、总结、翻译、预测和生成内容。 NVIDIA 开发者计划 想要了解有关 NIM 的更多信息&#xff1f;加入 NVIDIA 开发者计划&#xff0c;即可免费访问任何基础设施云、数据中心或个…...

游卡,科锐国际,蓝禾,汤臣倍健,顺丰,途游游戏25秋招内推

游卡&#xff0c;科锐国际&#xff0c;蓝禾&#xff0c;汤臣倍健&#xff0c;顺丰&#xff0c;途游游戏25秋招内推 ①科锐国际25届秋招补录 人力资源类岗位&#xff0c;补录城市&#xff1a;上海&#xff0c;苏州&#xff0c;锦州&#xff1b;全日制公办本科及以上 25届应届毕业…...

Linux -- 线程控制相关的函数

目录 pthread_create -- 创建线程 参数 返回值 代码 -- 不传 args&#xff1a; 编译时带 -lpthread 运行结果 为什么输出混杂&#xff1f; 如何证明两个线程属于同一个进程&#xff1f; 如何证明是两个执行流&#xff1f; 什么是LWP&#xff1f; 代码 -- 传 args&a…...

【Linux】Linux内核启动流程分析

Linux 内核的启动流程要比 uboot 复杂的多&#xff0c;涉及到的内容也更多&#xff0c;因此我们大致的了解一下Linux 内核的启动流程即可。 Linux启动流程 启动过程可以分为以下几个主要步骤&#xff1a; 1.引导加载程序&#xff08;Bootloader&#xff09;阶段 Linux 内核的…...

【uniapp蓝牙】基于native.js链接ble和非ble蓝牙

【uniapp蓝牙】基于native.js链接ble和非ble蓝牙 uniapp不是仅支持低功耗蓝牙&#xff08;基础蓝牙通讯不支持&#xff09;&#xff0c;有些可能需要基础蓝牙。我现在同步我的手机蓝牙列表低功耗&#xff0c;基础蓝牙都支持 /*** author wzj* 通用蓝牙模块封装* 搜索 ble 和非…...

OpenGL ES 03 加载3张图片并做混合处理

OpenGL ES 02 加载3张图片并做混合处理 什么是纹理单元纹理单元的作用使用纹理单元的步骤详细解释加载图片并绑定到到GPU纹理单元采样器的设置1.设置采样器变量的纹理单元编号&#xff0c;目的是为了告诉纹理采样器&#xff0c;从哪个纹理单元采集数据2.如果你没有显式地设置采…...

c++数据结构算法复习基础--13--基数算法

基数排序 - 桶排序 时间复杂度 O(n*d) – d为数据的长度 每次比较一位&#xff08;个位、十位。。。&#xff09;&#xff0c;所以取值范围就为0-9。 根据该特点&#xff0c;设计桶的概念 – 0号桶、1号桶… 1、思想 1&#xff09;找出最长的数字&#xff0c;确定要处理的…...

基于YOLOv5的行人与帽子检测与识别说明文档

基于YOLOv5的行人与帽子检测与识别说明文档 1. 任务的内容和目标 1.1 任务目标 在计算机视觉领域&#xff0c;头盔检测至关重要&#xff0c;主要用于判定图像或视频里的人是否佩戴头盔。于工业生产、建筑工地、交通出行&#xff08;如摩托车与自行车骑行&#xff09;等高危场…...

Mybatis——(2)

2.2 Mybatis 工具类&#xff08;了解&#xff09; 为了简化MyBatis的开发&#xff0c;可将MyBatis进一步封装。 import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apa…...

QT笔记- QSystemTrayIcon系统托盘功能完整示例

1. 创建托盘对象 // 创建托盘图标QSystemTrayIcon * trayIcon new QSystemTrayIcon(this);QIcon icon("://icon/test.png");trayIcon->setIcon(icon);trayIcon->show();trayIcon->connect(trayIcon, &QSystemTrayIcon::activated,this, &MainWindo…...

ElasticSearch08-分析器详解

零、文章目录 ElasticSearch08-分析器详解 1、分析器原理 Elasticsearch的分词器&#xff08;Analyzer&#xff09;是全文搜索的核心组件&#xff0c;它负责将文本转换为一系列单词&#xff08;term/token&#xff09;的过程&#xff0c;也叫分词。 &#xff08;1&#xff…...

指针的深入讲解

本章重点&#xff1a; 字符指针数组指针指针数组数组传参和指针传参函数指针函数指针数组指向函数指针数组的指针回调函数 我们在指针的初阶的时候主要讲了&#xff1a; 1.指针就是变量&#xff0c;用来存放地址&#xff0c;地址唯一标识一块内存空间 2.指针的大小是固定4个…...

王佩丰24节Excel学习笔记——第十二讲:match + index

【以 Excel2010 系列学习&#xff0c;用 Office LTSC 专业增强版 2021 实践】 【本章小技巧】 vlookup与match&#xff0c;index 相结合使用match,index 结合&#xff0c;快速取得引用的值扩展功能&#xff0c;使用match/index函数&#xff0c;结合照相机工具获取照片 一、回顾…...

概率论得学习和整理28:用EXCEL画折线图,X轴数据也被当成曲线的解决办法

目录 1 折线图和散点图&#xff0c;对数据的处理差别 1.1 EXCEL画图的一些默认设置 1.2 多于2列的数据&#xff0c;也是如此 2 如果我们非要以第1列数据为X轴&#xff0c;做一个折线图呢&#xff1f;也能 2.1 首先&#xff0c;把第1列&#xff0c;想当成X轴的数据&#xf…...

387. 字符串中的第一个唯一字符

1&#xff0c;题目 给定一个字符串 s &#xff0c;找到 它的第一个不重复的字符&#xff0c;并返回它的索引 。如果不存在&#xff0c;则返回 -1 。 2&#xff0c;代码 class Solution { public:int firstUniqChar(string s) {//记数排序int coutArr[26] {0};//统计字符出现…...

Oracle RAC最佳实践-优化私网连接

在 Oracle RAC 环境中&#xff0c;私网&#xff08;Interconnect&#xff09; 是节点之间通信和数据传输的关键部分。一直有个误解&#xff0c;认为私网&#xff08;心跳网&#xff09;只要能通随便什么交换机都可以,甚至有直连的&#xff0c;实际上私网的性能至关重要&#xf…...

[bug] StarRocks borker load意向之外的bug

意向之外&#xff0c;又清理之中 背景&#xff1a; StarRocks各方面碾压相同类型的数据库&#xff0c;最近我们要从生成HIVE导历史数据&#xff08;ORC格式&#xff09;到StarRocks&#xff0c;前期小测一下&#xff0c;在测试是没问题&#xff0c;上生产先导2个月的数据&…...

游戏AI实现-寻路算法(Dijkstra)

戴克斯特拉算法&#xff08;英语&#xff1a;Dijkstras algorithm&#xff09;&#xff0c;又称迪杰斯特拉算法、Dijkstra算法&#xff0c;是由荷兰计算机科学家艾兹赫尔戴克斯特拉在1956年发现的算法。 算法过程&#xff1a; 1.首先设置开始节点的成本值为0&#xff0c;并将…...

9 OOM和JVM退出。OOM后JVM一定会退出吗?

首先我们把两个概念讲清楚 OOM是线程在申请堆内存&#xff0c;发现堆内存空间不足时候抛出的异常。 JVM退出的条件如下&#xff1a; java虚拟机在没有守护线程的时候会退出。守护线程是启动JVM的线程&#xff0c;服务于用户线程。 我们简单说下守护线程的功能: 1.日志的记录…...

Linux 端口操作

安装netstat yum -y install net-tools 检测端口占用 netstat -npl | grep "端口" 安装lsof lsof yum -y install lsof 检测端口占用 lsof -i :端口号 安装nc yum -y install nc 查看对方端口是否开放 nc -vz 对方ip 对方端口 安装telnet telnet yum -y in…...

【USB-HID】“自动化键盘“ - 模拟键盘输入

目录 【USB-HID】"自动化键盘" - 模拟键盘输入1. 前言2. 模拟键盘2.1 STM32CubeMX 配置2.2 修改代码配置2.3 发送按键信息 3. 接收主机Setup数据3.1 获取PC下发的数据 4. 总结 【USB-HID】“自动化键盘” - 模拟键盘输入 1. 前言 对于模拟键盘的实现&#xff0c;网…...

基于Spring Boot+Vue 的高校运动会管理系统

目录 1 绪论1.1研究背景1.2 研究意义1.3 相关开发技术简介1.3.1 Vue.js1.3.2 Spring Boot1.3.3 MySQL 2 系统分析2.1 需求分析2.1.1 功能需求2.1.2 非功能需求 2.2 系统可行性分析2.2.1 经济可行性2.2.2 技术可行性2.2.3 操作可行性 3 系统概要设计系统功能描述业务流程分析 4 …...

Linux应用程序中终止进程的几种方法

目录 1、正常退出进程的方法 1.1、exit(int status) 函数 1.2、_exit(int status) 函数 1.3、_Exit(int status) 函数 2、异常退出进程的方法 3、何时使用这些方法&#xff1f; 在 Linux 应用程序中&#xff0c;终止进程的方式有多种&#xff0c;通常取决于进程是否需要进…...

电脑文档损坏:原因剖析和修复方法

在使用电脑的过程中&#xff0c;许多用户可能会遇到文档突然提示损坏、无法打开的情况。这种情况的发生往往让人感到困惑&#xff0c;特别是当并未进行任何明显错误操作时。以下是一些常见的原因以及应对方法。 一、文档损坏的常见原因 1、非人为的异常操作&#xff1a; 在编…...

了解ARM的千兆以太网——RK3588

1. 简介 本文并不重点讲解调试内容&#xff0c;重点了解以太网在ARM设计中的框架以及在设备树以及驱动的一个整体框架。了解作为一个驱动开发人员当拿到一款未开发过的ARM板卡应该怎么去把网卡配置使用起来。 2. 基础知识介绍 在嵌入式ARM中实现以太网的解决方案通常有以下两种…...

【Nginx-4】Nginx负载均衡策略详解

在现代Web应用中&#xff0c;随着用户访问量的增加&#xff0c;单台服务器往往难以承受巨大的流量压力。为了解决这一问题&#xff0c;负载均衡技术应运而生。Nginx作为一款高性能的Web服务器和反向代理服务器&#xff0c;提供了多种负载均衡策略&#xff0c;能够有效地将请求分…...

低级计算机网络知识总结

1 应用层 1.1 HTTP(TCP) 浏览器访问WWW服务器过程&#xff1a;首先进行域名解析&#xff0c;然后通过TCP向服务器发送连接请求 HTTP本身是无连接&#xff0c;无状态的。无状态特性使服务器能够支持大量的并发HTTP请求。实际应用中&#xff0c;通常使用Cookie加数据库跟踪用户…...

linux sysrq的使用举例

在menuconfig中选择m和 *的区别&#xff1a; *: 模块驱动编译到内核中&#xff0c;启动时自动加载 M:标识作为内核模块编译 空格:表示该功能不编译到内核中&#xff0c;即新的内核将不支持该功能。 m&#xff1a;模块会被编译&#xff0c;但是不会被编译到内核中&#xff0c;只…...

数字IC后端设计实现篇之TSMC 12nm TCD cell(Dummy TCD Cell)应该怎么加?

TSMC 12nm A72项目我们需要按照foundary的要求提前在floorplan阶段加好TCD Cell。这个cell是用来做工艺校准的。这个dummy TCD Cell也可以等后续Calibre 插dummy自动插。但咱们项目要求提前在floorplan阶段就先预先规划好位置。 TSCM12nm 1P9M的metal stack结构图如下图所示。…...

Oracle 适配 OpenGauss 数据库差异语法汇总

背景 国产化进程中&#xff0c;需要将某项目的数据库从 Oracle 转为 OpenGauss &#xff0c;项目初期也是规划了适配不同数据库的&#xff0c;MyBatis 配置加载路径设计的是根据数据库类型加载指定文件夹的 xml 文件。 后面由于固定了数据库类型为 Oracle 后&#xff0c;只写…...

【记录】Django解决与VUE跨域问题

1 梗概 这里记录Django与VUE的跨域问题解决方法&#xff0c;主要修改内容是在 Django 中。当然其他的前端项目 Django 也可以这样处理。 2 安装辅助包 pip install django-cors-headers3 配置 settings.py INSTALLED_APPS [ # ... corsheaders, # ... ] 为了响应…...

Yolov10本地部署,torch找不到GPU问题解决

在本地部署跑Yolov10的模型.具体分为以下几步,也是踩了一些坑: 1.YoloV10 代码拉取 2.安装CUDA 1.查看CUDA支持版本 2.下载安装CUDA 3.下载CUDNN 3.创建python虚拟环境 Anaconda下载安装 虚拟环境安装配置 4.运行 1.yoloV10代码拉取 源码地址: GitHub - THU-MIG/yolov10: YOLO…...

el-upload 上传文件 入参格式为form-data格式,入参字段为code、name、type、file(文件)的形式,如何实现?

el-upload 是 Element UI 中用于文件上传的组件。如果你需要上传文件并将其封装为 form-data 格式&#xff0c;并且包含字段如 code、name、type 和 file&#xff0c;你可以通过自定义 before-upload 或 action 进行处理。 1. el-upload 的基本用法 Element UI 的 el-upload …...

VUE组件插槽使用示例,弹窗样式

在Vue.js中&#xff0c;插槽&#xff08;slots&#xff09;是一种非常强大的功能&#xff0c;它允许你在父组件中向子组件传递内容。插槽主要有三种类型&#xff1a;默认插槽、具名插槽和作用域插槽。下面是一些示例来展示如何使用这些插槽。 默认插槽 默认插槽是最简单的插槽…...

ARM嵌入式学习--第八天(PWM)

PWM -PWM介绍 PWM&#xff08;pulse Width Modulation&#xff09;简称脉宽调制&#xff0c;是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术&#xff0c;广泛应用在测量&#xff0c;通信&#xff0c;工控等方面 PWM的频率 是指在1秒钟内&#xff0c;信号从…...

新能源汽车大屏可视化第三次数据存储

任务&#xff1a; 将数据存放到temp.csv 链接&#xff1a; 1.排行页面 https://www.dongchedi.com/sales 2.参数页面 https://www.dongchedi.com/auto/params-carIds-x-9824 完善打印&#xff1a; 1. [{‘series_id’: 5952, ‘series_name’: ‘海鸥’, ‘image’: ‘https://…...

linux 替换yum源镜像

1. 备份源镜像 sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2. 下载国内镜像阿里云 如果没有wget可以用curl 代替 sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 清华大学 sudo wget -…...

SAP:如何修改已释放的请求

SAP:如何修改已释放的请求 QQ出了一个新功能&#xff0c;把10年前的旧日志推给自己。这个10年前的日志&#xff0c;是用户反映在SE10中把请求释放后发现漏了内容&#xff0c;想修改已释放的请求。经调查写了一个小程序&#xff0c;实现用户的需求。 *&-------------------…...

js的?. 和??和||有什么区别

let a 0; let b null; let c Hello;console.log(a ?? default); // 0 console.log(b ?? default); // "default" console.log(c ?? default); // "Hello"console.log(a || default); // "default" (因为 0 是假值) console.log(b |…...

clickhouse 分布式表创建、增加、更新、删除、查询

创建分布式表 --先创建本地表 设置自动过期时间3天 CREATE TABLE IF NOT EXISTS ck_database.ck_databaseon cluster default(cluster name) (table_id String COMMENT id,item_id String COMMENT 业务id,desc Int64 COMMENT 描述,time DateTime DEFAULT now() COMMENT 数据…...

推送本地仓库到远程git仓库

目录 推送本地仓库到远程git仓库1.1修改本地仓库用户名1.2 push 命令1.3远程分支查看 推送本地仓库到远程git仓库 删除之前的仓库中的所有内容&#xff0c;从新建库&#xff0c;同时创建一个 A.txt 文件 清空原有的远程仓库内容&#xff0c;重新创建一个新的仓库&#xff0c;…...

LSTM长短期记忆网络

LSTM&#xff08;长短期记忆网络&#xff09;数学原理 LSTM&#xff08;Long Short-Term Memory&#xff09;是一种特殊的递归神经网络&#xff08;RNN&#xff09;&#xff0c;解决了标准RNN中存在的梯度消失&#xff08;Vanishing Gradient&#xff09; 和**梯度爆炸&#x…...

ABAP SQL 取日期+时间最新的一条数据

我们在系统对接的时候&#xff0c;外部系统可能会推送多个数据给到我们。 我们 SAP 系统的表数据中日期和时间是作为主键的&#xff0c;那么如果通过 ABAP SQL 取到最新日期的最新时间呢。 解决方案&#xff1a; 方式 1&#xff1a;SELECT MAX 可以通过两个 SELECT MAX 来取…...

SAST静态应用安全测试常见的编码规则

行业优先级难易度标准标准名称数量 军工12易GJB 5369:2005GJB_5369&#xff08;国家军用标准航天型号软件C语言可靠性编程规范&#xff09;138军工行业最早的C语言编码标准&#xff0c;强制性4易GJB 8114:2013GJB_8114&#xff08;国家军用标准C/C语言可靠性编程规范&#xff…...