Hadoop伪分布式安装教程
Hadoop伪分布式安装教程
- 一、安装背景
- 1.1 软件列表
- 1.2 系统软件列表
- 二、安装Hadoop
- 2.1 安装 Java 环境
- 2.1.1 前期准备
- 2.1.2 文件传输
- 2.1.3 解压文件
- 2.1.4 配置 jdk 的环境变量
- 2.1.5 输入 java、javac、java -version 命令检验 jdk 是否安装成功
- 2.2 Hadoop 下载地址[hadoop](https://archive.apache.org/dist/hadoop/common/)(hadoop-3.1.3.tar.gz 文件)
- 2.2.1 传输文件
- 2.2.2 解压文件
- 2.2.3 进入hadoop
- 2.2.4 将 Hadoop 添加到环境变量
- 2.2.5 测试是否安装成功
- 2.2.6 在伪分布式中,我们主要是修改Hadoop的两个配置文件:core-site.xml、hdfs-site.xml
- 2.2.7 Hadoop初始化
- 2.2.8 拓展: Hadoop 目录 结构
- 2.2.9 报错
- 三、安装 hive
- 3.1 文件传输
- 3.2 解压文件
- 3.3 修改名称
- 3.4 修改/etc/profile,添加环境变量
- 3.5 初始化元数据库(默认是derby数据库)
- 三、MySQL安装
- 1. 安装MySQL
- 1) 安装MySQL服务器
- 2) 安装MySQL客户端
- 3)配置MySQL
- 4) 测试MySQL
- 5)配置MySQL
- 6)一些 MySQL 命令
- 7)报错
- 解决方法:
- 8)navicte 连接
- 四、配置Hive元数据存储到MySQL
- 1. 配置元数据到MySQL
- 1)新建Hive元数据库
- 2)在$HIVE_HOME/conf目录下新建hive-site.xml文件
- 3)初始化Hive元数据库(修改为采用MySQL存储元数据)
- 4)启动Hive
- 5)使用Hive
- 6)查看MySQL中的元数据
- 五、Hive服务部署
- 5.1 Hadoop端配置
- 5.2 Hive端配置
- 5.3 测试
一、安装背景
语雀博客地址:链接: 《Hadoop伪分布式安装教程》
1.1 软件列表
- Unbuntu 24.04LTS
- java 1.8
- Hadoop 3.1.3
- Hive 3.1.3
- mysql 8
- vmware 17pro
- finshell
-
- inshell
- 大数据软件资源链接:hadoop+hive+java1.8+mysql8.jar
https://pan.baidu.com/s/1k63c-srXl6CQACVyGjhlkg?pwd=5vqr
提取码:5vqr
--来自百度网盘超级会员V6的分享
1.2 系统软件列表
- openssh-server(ssh 连接)
sudo apt-get install ssh-contact-service
ssh 登陆时直接使用 root 最高级别用户登陆即可
教程详见 Linux学习笔记文章第一部分 root权限的设置
Linux学习笔记文章
- vim(文本编辑)
sudo apt-get install vim
- net-tools(ifconfig 查看 IP 地址,ip addr 也可以直接查看)
sudo apt-get install net-tools
二、安装Hadoop
2.1 安装 Java 环境
2.1.1 前期准备
首先,在根目录下创建文件夹 Downloads 用来存放传输上来的文件,在 opt 目录下创建 module 文件用来存放使用解压出来的大数据软件, pwd
可以查看当前的位置信息
# 回到根目录
cd ..
# 创建Downloads
mkdir Downloads
# 去到opt目录下
cd ..
cd opt
mkdir module
2.1.2 文件传输
将 jdk-8u411-linux-x64.tar.gz 安装传到虚拟机上
2.1.3 解压文件
# 解压文件
tar -zxvf jdk-8u411-linux-x64.tar.gz -C /opt/module/
# 进入Java目录并改名
cd /opt/module/
mv jdk1.8.0_411 jdk1.8
2.1.4 配置 jdk 的环境变量
vim /etc/profile
# 添加以下内容:
# JAVAHOME
export JAVA_HOME=/opt/module/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
# 让配置文件生效
source /etc/profile
2.1.5 输入 java、javac、java -version 命令检验 jdk 是否安装成功
2.2 Hadoop 下载地址hadoop(hadoop-3.1.3.tar.gz 文件)
2.2.1 传输文件
用文件传输工具将hadoop-3.1.3.tar.gz导入到 Downloads目录里面,注意 非 root 用户操作上传文件操作可能会失败
2.2.2 解压文件
# 解压安装文件到/opt/module 下面
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
#查看是否解压成功 ls /opt/module/ hadoop-3.1.3
2.2.3 进入hadoop
# 进入hadoop解压位置
cd /opt/module
ll
# 修改hadoop-3.1.3名字
mv hadoop-3.1.3 hadoop
# 进入hadoop-3.1.3
cd hadoop
2.2.4 将 Hadoop 添加到环境变量
# (1) 打开/etc/profile
vim /etc/profile
# (2)在 my_env.sh 文件末尾添加如下内容:
# HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
# (3)让修改后的文件生效
source /etc/profile
2.2.5 测试是否安装成功
hadoop version
Hadoop 3.1.3
2.2.6 在伪分布式中,我们主要是修改Hadoop的两个配置文件:core-site.xml、hdfs-site.xml
# 进入到hadoop目录下
cd /opt/module/hadoop
# 进入core-site.xml目录
cd ./etc/hadoop
# 我们通过执行以下两个命令来实现对core-site.xml配置文件进行修改:
vim core-site.xml
# 在<configuration>-</configuration>标签中加入以下配置
<property><name>hadoop.tmp.dir</name><value>file:/opt/module/hadoop/tmp</value><description>Abase for other temporary directories.</description></property>
<property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value>
</property>
# 对hdfs-site.xml配置文件进行修改:
vim hdfs-site.xml
# 在<configuration>-</configuration>标签中加入以下配置
<property><name>dfs.replication</name><value>1</value>
</property>
<property><name>dfs.namenode.name.dir</name><value>file:/opt/module/hadoop/tmp/dfs/name</value>
</property>
<property><name>dfs.datanode.data.dir</name><value>file:/opt/module/hadoop/tmp/dfs/data</value>
</property>
2.2.7 Hadoop初始化
初始化工作比较简单,只需要执行以下命令即可:
cd /opt/module/hadoop #进入hadoop目录
./bin/hdfs namenode -format #初始化hadoop
成功的话,会看到 “successfully formatted” 的提示,具体返回信息类似如下:初始工作完成之后,我们就可以开启Hadoop了,具体命令如下:
cd /opt/module/hadoop
./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格
本地 web 访问:hadoop虚拟机 web 访问:hadoop
启动完成后,我们可以通过输入jps命令来进行验证Hadoop伪分布式是否配置成功:
2.2.8 拓展: Hadoop 目录 结构
- bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本
- etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件
- lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
- sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
- share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例
2.2.9 报错
- hadoop 启动时报如下错误
Starting namenodes on [localhost]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined.
Aborting operation. Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined.
Aborting operation.
Starting secondary namenodes [cai4-VMware-Virtual-Platform]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
Starting namenodes on [localhost]
localhost: Warning: Permanently added 'localhost' (ED25519) to the list of known hosts.
localhost: root@localhost: Permission denied (publickey,password).
Starting datanodes
localhost: root@localhost: Permission denied (publickey,password).
Starting secondary namenodes [cai4-VMware-Virtual-Platform]
cai4-VMware-Virtual-Platform: Warning: Permanently added 'cai4-vmware-virtual-platform' (ED25519) to the list of known hosts.
cai4-VMware-Virtual-Platform: root@cai4-vmware-virtual-platform: Permission denied (publickey,password).
localhost: ERROR: JAVA_HOME is not set and could not be found.
Starting datanodes
localhost: ERROR: JAVA_HOME is not set and could not be found.
Starting secondary namenodes [cai4-VMware-Virtual-Platform]
cai4-VMware-Virtual-Platform: ERROR: JAVA_HOME is not set and could not be found.
解决方法:
# 输入如下命令,在环境变量中添加下面的配置
vi /etc/profile
# 然后向里面加入如下的内容
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
# 输入如下命令使改动生效
source /etc/profile
//Linux命令---实现SSH免密登录
exit # 退出前面的登录
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 回车后,一直回车直到出现图形化界面
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
# 修改hadoop-env.sh (我的hadoop安装在/usr/local/ 目录下)
vim /opt/module/hadoop/etc/hadoop/hadoop-env.sh
# 将原本的JAVA_HOME 替换为绝对路径就可以了
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/opt/module/jdk1.8.
三、安装 hive
3.1 文件传输
把 apache-hive-3.1.3-bin.tar.gz上传到Linux的/Downloads 目录下
3.2 解压文件
解压apache-hive-3.1.3-bin.tar.gz到/opt/module/ 目录下面
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/module/
3.3 修改名称
修改apache-hive-3.1.3-bin的名称为hive
cd /opt/module
mv apache-hive-3.1.3-bin hive
3.4 修改/etc/profile,添加环境变量
vim /etc/profile
# (1)添加内容
# HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
3.5 初始化元数据库(默认是derby数据库)
cd /opt/module/hive
bin/schematool -dbType derby -initSchema
报错:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)Vat org.apache.hadoop.conf.Configuration.set(Configuration.java:1357)at org.apache.hadoop.conf.Configuration.set(Configuration.java:1338)at org.apache.hadoop.mapred.JobConf.setJar(JobConf.java:518)at org.apache.hadoop.mapred.JobConf.setJarByClass(JobConf.java:536)at org.apache.hadoop.mapred.JobConf.<init>(JobConf.java:430)at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5144)at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:5107)at org.apache.hive.beeline.HiveSchemaTool.<init>(HiveSchemaTool.java:96)at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:1473)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.hadoop.util.RunJar.run(RunJar.java:318)at org.apache.hadoop.util.RunJar.main(RunJar.java:232)
原因是hadoop和hive的两个guava.jar版本不一致,两个jar位置分别位于下面两个目录:
/opt/module/hive/lib/guava-19.0.jar
/opt/module/hadoop/share/hadoop/common/lib/guava-27.0-jre.jar
# 解决办法是删除低版本的那个,将高版本的复制到低版本目录下。
cd /opt/module/hive/lib
rm -f guava-19.0.jar
cp /opt/module/hadoop/share/hadoop/common/lib/guava-27.0-jre.jar .
# 再次运行schematool -dbType derby -initSchema,即可成功初始化元数据库。
三、MySQL安装
1. 安装MySQL
1) 安装MySQL服务器
apt-get install mysql-server
在安装过程中,系统将提示您创建root密码。选择一个安全的,并确保记住它,因为后面需要用到这个密码。
2) 安装MySQL客户端
apt-get install mysql-client
3)配置MySQL
运行MySQL初始化安全脚本
mysql_secure_installation
4) 测试MySQL
无论你如何安装它,MySQL应该已经开始自动运行。要测试它,请检查其状态。
systemctl status mysql.service
将看到类似于以下内容的输出:
5)配置MySQL
# 更改MySQL密码策略
set global validate_password_policy=0;
set global validate_password_length=1;
update user set host="%" where user="root";
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
6)一些 MySQL 命令
# 设置MySQL服务开机自启动
service mysql enable
或
systemctl enable mysql.service
# 停止MySQL服务开机自启动
service mysql disable
或
systemctl disable mysql.service
# 重启MySQL数据库服务
service mysql restart
或
systemctl restart mysql.service
# MySQL的配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
7)报错
Failed to restart mysqld.service: Unit mysqld.service not found.
“The MySQL server is running with the --skip-grant-tables option so it cannot execute”
Navicat报错10061,ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决方法:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# bind-address 127.0.0.1
mysql -u root -p
use mysql
select host,user from user;
update user set host='%' where user='root';
flush privileges;
grant all privileges on *.* to 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root_pwd'; ## 授权root远程登录 后面的root_pwd代表登录密码
flush privileges;
解决方法:
/etc/init.d/mysql start
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
8)navicte 连接
四、配置Hive元数据存储到MySQL
1. 配置元数据到MySQL
1)新建Hive元数据库
#登录MySQL
mysql -uroot -p123456
#创建Hive元数据库
create database metastore;
quit;
2)在$HIVE_HOME/conf目录下新建hive-site.xml文件
vim $HIVE_HOME/conf/hive-site.xml
# 添加如下内容:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- jdbc连接的URL --><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/metastore?useSSL=false</value></property><!-- jdbc连接的Driver--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><!-- jdbc连接的username--><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><!-- jdbc连接的password --><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value></property><!-- Hive默认在HDFS的工作目录 --><property><name>hive.metastore.warehouse.dir</name><value>/opt/module/hive/warehouse</value></property>
</configuration>
3)初始化Hive元数据库(修改为采用MySQL存储元数据)
cd /opt/module/hive
bin/schematool -dbType mysql -initSchema -verbose
4)启动Hive
hive
5)使用Hive
show databases;
show tables;
create table stu(id int, name string);
insert into stu values(1,"ss");
select * from stu;
6)查看MySQL中的元数据
- 查看元数据库中存储的库信息(DBS)
-
查看元数据库中存储的表信息(TBLS)
-
查看元数据库中存储的表中列相关信息(COLUMNS_V2)
五、Hive服务部署
5.1 Hadoop端配置
hivesever2的模拟用户功能,依赖于Hadoop提供的proxy user(代理用户功能),只有Hadoop中的代理用户才能模拟其他用户的身份访问Hadoop集群。因此,需要将hiveserver2的启动用户设置为Hadoop的代理用户,配置方式如下:修改配置文件core-site.xml
,然后记得分发三台机器:
cd $HADOOP_HOME/etc/hadoop
vim core-site.xml
# 增加如下配置:
<!-- 配置访问hadoop的权限,能够让hive访问到 -->
<property><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.root.users</name><value>*</value>
</property>
5.2 Hive端配置
在hive-site.xml文件中添加如下配置信息:
# 查看主机名
hostname cai4-VMware-Virtual-Platform
# 更改主机名
hostnamectl set-hostname hadoop100
# 同步更改/etc/hosts内容
<!-- 指定hiveserver2连接的host -->
<property><name>hive.server2.thrift.bind.host</name><value>hadoop</value>
</property>
<!-- 指定hiveserver2连接的端口号 -->
<property><name>hive.server2.thrift.port</name><value>10000</value>
</property>
5.3 测试
# 启动hiveserver2
hive --service hiveserver2
# 若报错:Error starting HiveServer2 on attempt 1 , will retry in 60000ms
# 在 hive-site.xml 中添加如下配置:<property><name>hive.server2.active.passive.ha.enable</name><value>true</value><description>Whether HiveServer2 Active/Passive High Availability be enabled when Hive Interactive sessions are enabled.This will also require hive.server2.support.dynamic.service.discovery to be enabled.</description></property>
# 重新启动hiveserver2服务:
hive --service hiveserver2
#使用命令行客户端beeline进行远程访问 启动beeline客户端
beeline -u jdbc:hive2://192.168.191.28:10000 -n root
其中,hive --service hiveserver2
命令启动后界面如下为正常,且未连接远程之前皆为正常
# 重启hadoop
sbin/stop-all.sh
sbin/start-all.sh
# 重启hive
ps -aux|grep hive 查找进程命令
kill -9 2323
#启动metastore服务
hive --service metastore &
相关文章:

Hadoop伪分布式安装教程
Hadoop伪分布式安装教程 一、安装背景1.1 软件列表1.2 系统软件列表 二、安装Hadoop2.1 安装 Java 环境2.1.1 前期准备2.1.2 文件传输2.1.3 解压文件2.1.4 配置 jdk 的环境变量2.1.5 输入 java、javac、java -version 命令检验 jdk 是否安装成功 2.2 Hadoop 下载地址[hadoop](h…...

Day43 代码随想录打卡|二叉树篇---左叶子之和
题目(leecode T404): 给定二叉树的根节点 root ,返回所有左叶子之和。 方法: 迭代法:计算所有的左叶子节点,那我们就必然要找到所有的左叶子节点。那么怎么找呢?如何针对cur->l…...
微信小程序动画
微信小程序动画属性:提升用户体验的利器 引言 随着移动互联网技术的快速发展,微信小程序已经成为开发者和用户的热门选择。其轻便、快捷、即用即走的特点使得它在各种场景中都有广泛的应用。而动画作为一种重要的视觉元素,在增强用户体验方…...
js, ellipsis属性, 超出宽度自动省略... , 并且显示2行
overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; text-overflow:ellipsis;...

ucharts自定义添加tooltip悬浮框显示项内容且换行
欢迎点击领取 -《前端开发面试题进阶秘籍》:前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的🪜 一、需求描述分析 1、小程序上实现图表的绘制,多条线路,不同颜色,悬浮框对应内容不同数据进行处理 2…...
Mongo 地理位置查询:海量密集点转换成聚合信息
通俗来说:将地图上的海量密集点通过网格分割的方式实现聚合; 需求:用mongo实现设备地理位置聚合查询 :多边形,矩形查询; 背景:上万设备数据量 目的:分享Mongo地理位置查询,以及文…...
bpmn+vue 中文文档
1.初始化项目 <script> import BpmnModeler from bpmn-js/lib/Modeler import { xmlStr } from /mock/xmlStr export default {mounted () {this.init()},methods: {init () {// 获取到属性ref为“canvas”的dom节点const canvas this.$refs.canvas// 建模const custom…...
React Router v5 和 v6 中,路由对象声明方式有什么区别?
一、在React Router 6.x开始,路由对象的声明需要引用RouteObject。 import { RouteObject } from react-router-dom;const routes: RouteObject[] [{path: /,element: <Home />},{path: /about,element: <About />},// ... ];二、一些老项目使用的是R…...

【全开源】知识库文档系统(ThinkPHP+FastAdmin)
📚知识库文档系统:解锁知识的无限可能 一款基于ThinkPHPFastAdmin开发的知识库文档系统,可用于企业工作流程的文档管理,结构化记录沉淀高价值信息,形成完整的知识体系,能够轻松提升知识的流转和传播效率&a…...
Python赋能自然语言处理,解锁通往AI的钥匙
NLTK(Natural Language Toolkit)是一个用于 Python 的自然语言处理库,提供了丰富的工具和资源,帮助处理、分析和理解人类语言数据.它广泛应用于学术研究、教育和商业应用中. 安装 #首先要安装 NLTK:pip install nltk安装完成后,还需要下载…...

Ktor库的高级用法:代理服务器与JSON处理
在现代网络编程中,Ktor是一个高性能且易于使用的框架,它提供了对异步编程、WebSockets、HTTP客户端和服务器等特性的原生支持。Ktor是使用Kotlin语言编写的,充分利用了Kotlin的协程特性来简化异步编程。本文将深入探讨Ktor库的高级用法&#…...

VS2017配置OpenCV4.5.1
VS2017配置OpenCV 一、下载OpenCV二、配置OpenCV的电脑环境变量三、配置visual Studio添加路径复制文件到C盘 四、如何使用注意运行时选择Debug x64 五、报错:VSOpencv出现:xxx处有未经处理的异常: Microsoft C 异常: cv::Exception,位于内存…...

phpstudy配置的站点不能访问了
无法打开站点 打开网站的时候出现如下 没有人为主动去更改配置项,今天就不能正常访问了 检查了一遍配置,发现并无大碍,那就重新配置一遍看看 配置phpstudy 1、新建网站 2、选择项目入口文件夹 3、配置伪静态 4. 确认保存 在我的电脑 C:\…...

Java Web学习笔记2——Web开发介绍
什么是Web? Web:全球广域网,也称为万维网(WWW World Wide Web),能够通过浏览器访问的网站。 1)淘宝、京东、唯品会等电商系统; 2)CRM、OA、ERP企业管理系统࿱…...

从零开始实现自己的串口调试助手(3) - 显示底部收发,优化串口打开/关闭
注意: 1. 我们要实现自发自收,要将tx,rx连起来 2.发送的 不能是中文符号,因为这可能导致,读取到的是英文符号 --> 导致接收到的size 和发送的size 大小不一致 3.注意同时定义两个槽函数的时候两个槽函数都会被调用,…...
更改Web网站设计——css和css框架
虽然使用HTML可以定义文章的结构,但是其中不包含设计相关的信息。此时CSS就派上用场,可以用它对HTML文章指定设计样式。由于可以决定Web网页的外观风格,因此,它有时也被称为格式表。 如果使用CSS设置背景色,文…...

持续监控和优化的简单介绍
DevOps 监控提供了有关生产环境状况的全面且最新的信息,以及有关其服务、基础设施和应用程序的详细信息。通过从日志和指标中收集数据,您可以在软件开发生命周期的每个步骤中监控合规性和性能。 监控不仅仅针对生产问题,它涵盖了规划、开发、…...

针对硅基氮化镓高电子迁移率晶体管(GaN-HEMT)的准物理等效电路模型,包含基板中射频漏电流的温度依赖性
来源:Quasi-Physical Equivalent Circuit Model of RF Leakage Current in Substrate Including Temperature Dependence for GaN-HEMT on Si(TMTT 23年) 摘要 该文章提出了一种针对硅基氮化镓高电子迁移率晶体管(GaN-HEMT&…...

基于websocket与node搭建简易聊天室
一、前言 上一篇文章介绍了websocket的详细用法与工具类的封装,本篇就基于websocket搭建一个简易实时的聊天室。 在本篇开始之前也可以去回顾一下websocket详细用法:WebSocket详解与封装工具类 二、基于node搭建后台websocket服务 首先确认本机电脑中…...

DevOps全面综述:从概念到实践
一、背景与概述 1.1 DevOps的起源与发展 DevOps(Development and Operations的缩写)是软件工程领域中的一种文化和实践方法,旨在促进开发团队与运维团队之间的协作,从而实现更高效、更可靠的软件交付。DevOps起源于敏捷软件开发方…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...

Linux 下 DMA 内存映射浅析
序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程,可以参考这篇文章,我觉得写的非常…...
React核心概念:State是什么?如何用useState管理组件自己的数据?
系列回顾: 在上一篇《React入门第一步》中,我们已经成功创建并运行了第一个React项目。我们学会了用Vite初始化项目,并修改了App.jsx组件,让页面显示出我们想要的文字。但是,那个页面是“死”的,它只是静态…...