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 软件列表

  1. Unbuntu 24.04LTS
  2. java 1.8
  3. Hadoop 3.1.3
  4. Hive 3.1.3
  5. mysql 8
  6. vmware 17pro
  7. finshell
    1. inshell
  8. 大数据软件资源链接:hadoop+hive+java1.8+mysql8.jar
    在这里插入图片描述
https://pan.baidu.com/s/1k63c-srXl6CQACVyGjhlkg?pwd=5vqr 
提取码:5vqr 
--来自百度网盘超级会员V6的分享

1.2 系统软件列表

  1. openssh-server(ssh 连接)sudo apt-get install ssh-contact-service

ssh 登陆时直接使用 root 最高级别用户登陆即可
教程详见 Linux学习笔记文章第一部分 root权限的设置
Linux学习笔记文章

  1. vim(文本编辑)sudo apt-get install vim
  2. 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 是否安装成功

image.png

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

image.png

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

image.png

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
image.png

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” 的提示,具体返回信息类似如下:image.png初始工作完成之后,我们就可以开启Hadoop了,具体命令如下:

cd /opt/module/hadoop
./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格

本地 web 访问:hadoopimage.png虚拟机 web 访问:hadoopimage.png启动完成后,我们可以通过输入jps命令来进行验证Hadoop伪分布式是否配置成功:image.pngimage.png

2.2.8 拓展: Hadoop 目录 结构

  1. bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本
  2. etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件
  3. lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
  4. sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
  5. share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例

2.2.9 报错

  1. 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

将看到类似于以下内容的输出:image.png

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 连接

image.png

四、配置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

image.png

5)使用Hive

show databases;
show tables;
create table stu(id int, name string);
insert into stu values(1,"ss");
select * from stu;

6)查看MySQL中的元数据

  1. 查看元数据库中存储的库信息(DBS)

image.png

  1. 查看元数据库中存储的表信息(TBLS)
    image.png

  2. 查看元数据库中存储的表中列相关信息(COLUMNS_V2)

image.png

五、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命令启动后界面如下为正常,且未连接远程之前皆为正常 image.pngimage.pngimage.png

# 重启hadoop
sbin/stop-all.sh 
sbin/start-all.sh 
# 重启hive 
ps -aux|grep hive 查找进程命令
kill -9 2323
#启动metastore服务
hive --service metastore &

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一些关于深度聚类以及部分对比学习的论文阅读笔记

目录 资料SwAV问题方法方法的创新点为什么有效有什么可以借鉴的地方聚类Multi-crop 代码 PCL代码 Feature Alignment and Uniformity for Test Time Adaptation代码 SimSiam 资料 深度聚类算法研究综述(很赞&#xff0c;从聚类方法和深度学习方法两个方面进行了总结&#xff0…

基于聚类和回归分析方法探究蓝莓产量影响因素与预测模型研究附录

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 目录 背景数据说明数据来源思考 附录数据预处理导入包以及数据读取数据预览数据处理 相关性分析聚类分析数据处理确定聚类数建立k均值聚类模型 …

《面试笔记》——MySQL终结篇30

三大范式&#xff1f; 第一范式&#xff1a;字段具有原子性&#xff0c;不可再分&#xff08;字段单一职责&#xff09; 第二范式&#xff1a;满足第一范式&#xff0c;每行应该被唯一区分&#xff0c;加一列存放每行的唯一标识符&#xff0c;称为主键&#xff08;都要依赖主…

【Linux】深入解析动静态库:原理、制作、使用与动态链接机制

文章目录 前言&#xff1a;1. 什么是动静态库2. 动静态库的制作和使用3. 动态库的查找问题4. 理解动态库的加载4.1. 站在系统的角度理解4.2. 编址、可执行程序4.3. 动态库动态链接和加载问题 总结&#xff1a; 前言&#xff1a; 在软件开发中&#xff0c;动静态库是两种重要的…

【miniconda】安装miniconda

☆ 问题描述 ubuntu环境下安装miniconda ★ 解决方案 ubuntu环境下安装miniconda 下载miniconda 包 miniconda官网地址&#xff1a;https://docs.conda.io/en/latest/miniconda.html 清华大学镜像地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/anaconda/minicon…

Arduino ESP8266模块TFT液晶屏

ESP8266模块 模块实物图&#xff1a; 模块引脚定义&#xff1a; 工作模式选择&#xff1a; FlashBoot启动模式&#xff1a; GPIO15接GND UART固件下载模式: GPIO15接GND&#xff0c; GPIO0接GND 调试串口&#xff1a; URXD/UTXD 可用来下载固件和调试信息输出 模块使能&…

天润融通携手好丽友,打造食品零售行业智能客服新标杆

AI大模型&#xff0c;如何给食品零售行业的客服服务带来质变&#xff1f; 在很多人印象中&#xff0c;食品零售行业是不需要客户服务的。 因为绝大多数食品都是通过经销商、零售商、商场这样的渠道进行销售。所以在食品零售行业&#xff0c;一直都有一句话&#xff0c;叫“渠…

Mac终端operation not permitted问题、禁用和启用SIP(系统完整性保护)

Mac终端operation not permitted问题、禁用和启用SIP&#xff08;系统完整性保护&#xff09; 注意&#xff1a; 仅在必要时临时禁用SIP&#xff0c;并尽快重新启用它。在测试完成后不重新启用SIP将使您的计算机容易受到恶意代码的攻击 文章目录 Mac终端operation not permitt…

Spring Boot发送邮件时如何支持定时功能?

如何使用Spring Boot结合AokSend以实现高效邮件发送&#xff1f; 如何高效地进行sendmail发送邮件并支持定时功能是一个值得探讨的问题。本文将详细介绍如何在Spring Boot中实现定时sendmail发送邮件&#xff0c;并结合AokSend工具实现高效邮件发送。 Spring Boot发送邮件&am…

Java程序策——Java连接数据库保姆级教程(超详细步骤)

【Java程序策】——连接数据库 目录 ​编辑 一&#xff1a;在数据库中建立一个表&#xff08;student表&#xff09; 1.1&#xff1a;进入mysql 1.2&#xff1a;建立一个“数据库成员” 1.3&#xff1a;建立一个表&#xff08;student表&#xff09; 1.4&#xff1a;给表…

【代码随想录】【算法训练营】【第25天】 [216]组合总和III [17] 电话号码的字母组合

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 25&#xff0c;周六&#xff0c;坚持有点困难~ 题目详情 [216] 组合总和III 题目描述 216 组合总和III 解题思路 前提&#xff1a;组合子集问题 思路&#xff1a;回溯算法&#xff0c;剪枝…

【vscode篇】1-VScode设置语言为中文,2-解决中文注释乱码问题。

设置语言为中文 在前端开发中&#xff0c;Visual Studio Code(简称vscode)是一个非常好用的工具&#xff0c;但第一次打开vscode会发现界面为英文&#xff0c;这对很多开发者来说会很不友好&#xff08;比如我&#xff09;&#xff0c;把界面设置成中文只需要安装一个插件即可&…

《QT从基础到进阶·四十二》QT运行后项目图标,exe图标问题,VS加载.pro文件问题

1、QT图标有时候不能正常显示&#xff0c;不管是加到qrc还是用绝对路径&#xff0c;都无法正常显示&#xff0c;之前是可以的&#xff0c;具体原因目前还不太清楚&#xff0c;我在VS项目——vcpkg——use vcpkg把否改为是就可以了 2、出现无法定位程序输入点的报错&#xff0c…

36. 【Java教程】输入输出流

本小节将会介绍基本输入输出的 Java 标准类&#xff0c;通过本小节的学习&#xff0c;你将了解到什么是输入和输入&#xff0c;什么是流&#xff1b;输入输出流的应用场景&#xff0c;File类的使用&#xff0c;什么是文件&#xff0c;Java 提供的输入输出流相关 API 等内容。 1…

AVL树的介绍与实现

前言 我们上一期介绍了二叉搜索树并做了实现&#xff0c;本期我们来继续学习另一个更优的树即AVL树&#xff01; 本期内容介绍 什么是AVL树&#xff1f; AVL树的实现 AVL树的性能分析 在正式的介绍AVL树之前&#xff0c;我们先来回忆一下二叉搜索树的特点&#xff1a;左子树的…

OceanBase 4.3.0 列存引擎解读:OLAP场景的入门券

近期&#xff0c;OceanBase 发布了4.3.0版本&#xff0c;该版本成功实现了行存与列存存储的一体化&#xff0c;并同时推出了基于列存的全新向量化引擎和代价评估模型。通过强化这些能力&#xff0c;OceanBase V4.3.0 显著提高了处理宽表的效率&#xff0c;增强了在AP&#xff0…

PS插件一键轻松搞定电商产品摄影图!

在电商行业中&#xff0c;一张高质量的产品摄影图往往能够吸引更多潜在消费者的目光&#xff0c;从而增加产品的销量。然而&#xff0c;对于许多电商卖家和摄影师来说&#xff0c;后期处理产品图片却是一个既耗时又费力的工作。 最近我发现一款PS插件可以一键生成电商产品摄影…

Flutter基础 -- Dart 语言 -- 基础类型

目录 0. 配置 1. 变量 1.1 弱类型 var Object dynamic 1.2 强类型 1.3 使用场景 var 简化定义变量 查询参数定义 返回的实例对象 2. 常量 final 和 const 2.1 相同点 类型声明可以省略 初始后不能再赋值 不能和 var 同时使用 2.2 不同点 const 需要确定的值 …

【Python绘画】画笑脸简笔画

本文收录于 《一起学Python趣味编程》专栏&#xff0c;从零基础开始&#xff0c;分享一些Python编程知识&#xff0c;欢迎关注&#xff0c;谢谢&#xff01; 文章目录 一、前言二、代码示例三、知识点梳理四、总结 一、前言 本文介绍如何使用Python的海龟画图工具turtle&#…