大数据:VMware | Ubuntu | Hadoop | Spark | VMwaretools | Python 安装配置总结

news2024/11/18 8:37:44

一.环境概述

  • Linux发行版:Ubuntu
  • 虚拟机应用:VMware Workstation Pro
  • Hadoop版本:3.1.3|伪分布式集群
  • JDK版本:JDK1.8.0_162
  • Spark版本:2.4.0
  • Scala版本:2.12.8
  • Python版本:3.6.8 | 3.7.16

二.Ubuntu

2.1 光盘文件

首先进入链接Download Ubuntu Desktop | Download | Ubuntu进行镜像文件的下载

在这里插入图片描述

将完成下载的光盘镜像文件放入如下文件路径中:

 D:\Program Files\Virtual Machines
  • 该放置文件路径并不重要 可以自由选择
  • 但需要记住该路径 因为后续需要指定

2.2 创建虚拟机

在VMware Workstation首页中选择创建虚拟机

在这里插入图片描述

选择典型推荐配置-下一步

在这里插入图片描述

安装来源-选择稍后安装操作系统-下一步

在这里插入图片描述

选择客户机操作系统-下一步

在这里插入图片描述

虚拟机名称与文件位置根据需求调整即可 而后点击下一步

在这里插入图片描述

选择磁盘容量 -拆分成多个文件 -下一步

在这里插入图片描述

创建好虚拟机基础设置后- 点击自定义硬件

在这里插入图片描述

选择CD文件 指定我们下载好的镜像文件[这儿需要使用我们在2.1中记录的文件路径]

在这里插入图片描述

点击启动虚拟机 语言项默认为英文 我此处选择了中文

在这里插入图片描述

更新和其他软件-点击继续即可

在这里插入图片描述

安装类型-点击现在安装即可

在这里插入图片描述

确认写入磁盘:

在这里插入图片描述

地区选择china-shanghai即可

在这里插入图片描述

设置用户名密码

在这里插入图片描述

而后进行等待即可完成安装:

在这里插入图片描述

三.Hadoop

3.1 Sudo

首先需要为hadoop创建用户并设置密码 打开终端输入如下命令

sudo useradd -m hadoop -s /bin/bash

此处若不使用sudo 将会提示权限不足

为刚创建的新用户hadoop 设置认证密码

passwd hadoop 

在这里插入图片描述

  • 此处我将用户hadoop的密码设置为hadoop
  • 进行密码设置的时候命令行会出现提示“无效的密码:密码少于8个字符”“未通过字典检查”等等
  • 通通可以无视
  • 连续两次相同密码的输入后 完成密码的设置

为 hadoop 用户增加管理员权限

adduser hadoop sudo

在这里插入图片描述

切换到用户hadoop

在这里插入图片描述

3.2 SSH

在hadoop用户登录下 继续进行SSH的配置:

1、更新 apt

为了确保openssh-server 安装过程顺利进行,执行下面命令更新APT工具:

sudo apt-get update

将命令输入后,等待联网程序自动进行更新即可

在这里插入图片描述

在这里插入图片描述

当出现“完成”提示符时 进行下一步操作

2、安装 SSH

sudo apt-get install openssh-server 

输入命令后 将会询问是否继续执行 回答Y即可

在这里插入图片描述

如上等待安装完成即可

3 、安装后,可以使用如下命令登陆本机

ssh localhost 

此时会有如下提示(SSH 首次登陆提示) ,输入 yes

在这里插入图片描述

然后按提示输入密码 hadoop

在这里插入图片描述

这样就登陆到本机了

在这里插入图片描述

4 、配置 SSH 无密码登陆

exit #退出刚才的 ssh localhost模式
cd ~/.ssh/  #若没有该目录,请先执行一次 ssh localhost
ssh-keygen -t rsa   #命令行会有提示 多次敲击回车键就可以向后推进 回车键意味着无密码

在这里插入图片描述

sudo cat ./id_rsa.pub >> ./authorized_keys # 加入授权 

在这里插入图片描述

  • 此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了

  • 无密码登录是无法省略的 否则后续启动hadoop集群时会出现权限不足 需要认证的问题

  • 省略无密码登录设置 后续启动hadoop集群时将会报错:localhost: root localhost: permission denied

3.3 JDK

下载jdk-8u162-linux-x64.tar文件地址:
Java Archive Downloads - Java SE 8 (oracle.com)

在这里插入图片描述

在本机中拥有JDK文件后 需将其传入虚拟机中

  • 此处可借助VMwaretools工具 参考内容四
  • 或是使用U盘在主机与虚拟机间进行文件的复制粘贴

1.首先在主机内复制文件

在这里插入图片描述

2.再将装载了我们虚拟机内所需文件的U盘 插入虚拟机中

在这里插入图片描述

3.再把文件复制在虚拟机中 弹出U盘即可完成文件转移

在这里插入图片描述

在这里插入图片描述

  • 拥有tar文件后,便可离线进行文件的解压与安装
  • 此处展示JDK的安装:

1、 解压 jdk

登录hadoop用户 使用特权命令sudo进行解压

sudo tar -zxvf jdk-8u162-linux-x64.tar.gz 

2、设置 JDK 的环境变量

vi ~/.bashrc 

确定JDK文件位置 在我的虚拟机中 解压后的jdk文件位于/opt文件夹路径下

在这里插入图片描述

因此在.bashrc 文件中添加:

export JAVA_HOME=/opt/jdk1.8.0_162

export JRE_HOME=${JAVA_HOME}/jre 

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 

export PATH=${JAVA_HOME}/bin:$PATH 

3、使得添加的 JDK 的环境变量生效

 source ~/.bashrc 

4、查看 JDK 是否安装成功

java -version

完成检验 JDK已经安装成功

在这里插入图片描述

3.4 hadoop

下载hadoop-3.1.3.tar.gz文件地址:Apache Hadoop

登录hadoop用户 使用特权模式下的tar命令解压 hadoop

sudo tar -zxf ./hadoop-3.1.3.tar.gz 

完成解压后的文件夹:

在这里插入图片描述

将文件夹名改为 hadoop 去除不必要的版本号信息 便于之后的工作

mv ./hadoop-3.1.3/ ./hadoop 

在这里插入图片描述

修改文件权限 将文件分配给hadoop用户

sudo chown -R hadoop ./hadoop 

需要将hadoop配置在环境变量 才能够使得其命令有效

在.bashrc 文件中添加:

export HADOOP_HOME=/opt/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使得环境变量的修改生效

source ~/.bashrc

查看 hadoop 版本信息

/opt/hadoop/bin/hadoop version

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YL8i0xWI-1684997700223)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230523221032234.png)]

3.5 伪分布集群

1、进入到 hadoop 的安装目录

cd ./hadoop 

2、登录拥有修改权限的账户 hadoop

su hadoop

3、修改配置文件 core-site.xml

sudo vi ./etc/hadoop/core-site.xml

在 core-site.xml 文件后加上:

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/yt/桌面/files/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xkBH7SsW-1684997700223)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230518145348801.png)]

4、登录拥有修改文件内容权限的账户hadoop

su hadoop

5、修改配置文件 hdfs-site.xml

vi ./etc/hadoop/hdfs-site.xml

在 hdfs-site.xml文件加上

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/yt/桌面/files/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/yt/桌面/files/hadoop/tmp/dfs/data</value>
</property>
</configuration>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UqLVMxCr-1684997700224)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230518150847548.png)]

6、修改sbin下配置

在Hadoop安装目录下找到sbin文件夹

在里面修改四个文件

在start-dfs.sh和stop-dfs.sh文件顶部添加:

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

在start-yarn.sh和stop-yarn.sh文件顶部添加:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

7、执行 NameNode 的格式化

./bin/hdfs namenode -format

观察到窗口中出现提示[successfully formatted]

[hadoop@:]   sudo  ./bin/hdfs namenode -format

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gZq8P6ZT-1684997700225)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230518180110423.png)]

格式化完成 在hadoop主文件夹下的tmp/name文件夹中 出现多个文件

8、调整文件权限

为文件夹添加权限

sudo chmod -R 777 ./logs
sudo chmod -R hadoop /opt/hadoop/tmp

9、启动 hadoop

sudo /opt/hadoop/sbin/start-all.sh

10、通过 jps 命令查看 hadoop 是否启动成功,如果同时显示有:DataNode、NodeManager、 NameNode、SecondaryNameNode 和ResourceManager,则说明已经启动成功。

jps

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eRRluKfb-1684997700225)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230519174653430.png)]

11、使用浏览器进入hadoop web界面

https:localhost:9870

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d0QWMpCl-1684997700226)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230519175505981.png)]

12、停止 hadoop

进入到目录/opt/hadoop/sbin 运行:

sudo ./stop-all.sh

四.VMwaretools

4.1 安装

  • 此部分展示安装VMwaretools工具的尝试

  • 主要目的是通过拖拽实现win与虚拟机环境的文件传输

  • 点开VM菜单 点击 虚拟机-安装VMware tools

  • 将在文件目录中出现新磁盘 其中拥有如下文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6MkHGVhV-1684997700227)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230514215241638.png)]

我们将所需的gz文件复制至桌面 方便使用终端寻找其位置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cRpRJ0q1-1684997700228)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230514215529245.png)]

在终端打开 并输入如下指令

在这里插入图片描述

相同目录下将出现其对应的解压缩文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aGzouyc0-1684997700229)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230514220047567.png)]

双击进入该文件中 在这儿打开终端模式

sudo ./vmware-install.pl

而后对于交互窗口 如果没有特定的配置需求

一直按回车或是回复YES即可继续进行工具的安装 直到出现enjoy完成

在这里插入图片描述

在这里插入图片描述

点开VM菜单栏 点击虚拟机

下方的"安装VMware tools"按钮变成了"重新安装VMware tools"

4.2 使用

首先非虚拟机内存上建个文件夹 记住该文件的位置

在这里插入图片描述

点击菜单栏 虚拟机-设置-选项

在这里插入图片描述

选中"共享文件夹" 启用并点击”添加“

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pss3WxGJ-1684997700232)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230514235814664.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CuyBRSGy-1684997700233)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230515000003311.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zUkKjkWs-1684997700233)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230515000037210.png)]

启用成功

在这里插入图片描述

而后在虚拟机的如下路径中:

其他\计算机\mnt\hgfs\

能够找到共享文件 该文件夹中与我们在主机中创建的文件夹拥有相同的结构与内容。

五.Spark

5.1 scala

命令行 输入密码hadoop用户下

su hadoop

进入压缩包文件路径

cd /opt

sudo tar命令完成解压缩

sudo tar -zxf scala-2.12.8.tgz

在这里插入图片描述

修改名称

sudo mv ./scala-2.12.8/ ./scala

修改配置文件

sudo vi ~/.bashrc 

添加配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xAJzTAI1-1684997700236)(C:\Users\yt\AppData\Roaming\Typora\typora-user-images\image-20230519182356456.png)]

使用source命令使得修改后的配置文件生效

source ~/.bashrc 

测试是否安装成功 成功进入代码环境

在这里插入图片描述

5.2 spark

解压 Spark

cd /opt 
sudo tar -zxf spark-2.4.0-bin-with.tgz 
mv ./spark-2.4.0-bin-without-hadoop/ ./spark

进行简单的配置 对template文件进行复制后 使用vi编辑器修改spark-env.sh文件的配置

cd /opt/spark/conf
sudo cp spark-env.sh.template spark-env.sh
sudo vi spark-env.sh

在打开的vi编辑环境下:

export SCALA_HOME=/opt/scala
export LD_LIBRARY_PATH = $HADOOP_HOME/lib/native
export SPARK_LOCAL_DIRS=/opt/spark
export SPARK_DIST_CLASSPATH=$(/opt/hadoop/bin/hadoop classpath)
export JAVA_HOME=/opt/jdk1.8.0_162
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
export SPARK_MASTER_HOST=hostname
export SPARK_MASTER_PORT=7077

编辑环境变量

vi ~/.bashrc

在.bashrc 文件中添加:

export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin

使其生效

source ~/.bashrc

编辑slaves

cd /opt/spark/conf
cp slaves.template slaves
vi slaves

将localhost注释掉 加入自己主机名称在该行下

#localhost
hostname

修改sbin目录下的spark-config.sh 添加jdk的环境变量

export JAVA_HOME=/opt/jdk1.8.0_162 

启动spark

cd /opt/spark/bin
./spark-shell

能够进行简单的文件读取与计算 Spark测试安装成功:

在这里插入图片描述

5.3 pyspark

首先需要安装配置Python环境

  • 运行pyspark必须使用python旧版本 不可使用3.10版本

  • 否则会报错TypeErroe:“bytes” object cannot be interpreted as an integer

  • 完成python3.7版本安装后 (此处安装参考当前博客内容第六部分 Python)

  • 进行pyspark文件测试 能够进行简单文件读取与计算

在这里插入图片描述

若想在Python环境下直接启动pyspark 需要进行如下环境变量配置:

sudo vi ~/.bashrc

在打开的环境下添加如下语句:

export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/pyspark:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH

使用source语句使得环境配置生效

source ~/.bashrc

通过导入语句 测试Python环境下能够直接运行pyspark:

在这里插入图片描述

5.4 伪分布式

依据前述安装过程 已经完成了伪分布式的配置

将日志文件的打印等级调整一下

cd /opt/spark/conf
cp log4j.properties.template log4j.properties
vi log4j.properties
将 log4j.rootcategory=INFO,console 改为: log4j.rootcategory=WARN,console

启动Spark

/opt/spark/sbin/start-all.sh  

启动后使用jps命令能够观察到 则代表成功启动伪分布集群

$ jps
12770 Master
12949 Worker

停止Spark

/opt/spark/sbin/stop-all.sh

六.Python

6.1 源代码形式

6.1 python

在华为镜像下载Python-3.6.8.tgz:Index of python-local/3.6.8 (huaweicloud.com)

登录hadoop用户

su hadoop

进行Python包的解压安装

sudo tar -zxf Python-3.6.8.tgz 

进行重命名去除版本号信息

mv ./Python-3.6.8/ ./python 

进入python目录

cd python

安装依赖

sudo apt-get install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev

检查依赖

sudo ./configure --enable-optimizations --prefix=/usr/local/bin/python3.6

此处若缺失gcc将会导致报错,无法产生makefile文件

通过apt工具安装gcc库

sudo apt install gcc

此处若遇见“无法获得锁 /var/lib/dpkg/lock-frontend”报错

在这里插入图片描述

可以运行代码 杀死该进程 进程号根据自身报错进行修改

sudo kill 22035

若出现下载失败 无法下载等报错

在这里插入图片描述

运行如下代码并检查网络

sudo apt-get update

成功建立Makefile文件后

在这里插入图片描述

当存在该文件后 命令行继续输入

sudo make
sudo make install

检测安装情况与Python路径

$ Python3.6 --version
python 3.6.8

安装成功 但是由于此时电脑中存在多Python版本 使用时存在问题

使用如下命令

sudo ln -s -f /usr/local/bin/python3.6/bin/python3.6 /usr/bin/python3.6
sudo ln -s -f /usr/local/bin/python3.6/bin/pip3.6 /usr/bin/pip3.6

将上述安装的python变成我们的默认Python版本

在这里插入图片描述

6.2 pip

获取pip-20.2.3.tar.gz文件在/opt路径下

下载链接:Links for pip (tsinghua.edu.cn)

登录hadoop

su hadoop

进入拥有压缩包的目录

cd /opt

进行解压缩

sudo tar -zxvf pip-20.2.3.tar.gz

进入pip文件的目录

cd /opt/pip-20.2.3

进行安装(若未指定python版本 此处可能权限报错)

sudo python setup.py build
sudo python setup.py install

6.3 numpy

安装pip工具后

pip install numpy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

成功安装numpy库

在这里插入图片描述

6.2 默认python

如果无特殊的需求,可以直接使用自带python版本

如ubuntu 20.4.2 存在 python3.10

通过如下几行简单的命令完成Python环境的安装与配置

python3 --version
sudo apt install python3-pip
update-alternatives --install /usr/bin/python python /usr/bin/python3 1
python --version
pip -V
sudo pip install numpy
  • 这种方式是最为简便的 但是可能因为Python版本过新
  • 造成一些不兼容的问题

6.3 apt方式

更新apt工具

sudo apt update

添加ppa源

sudo apt install software-properties-common

安装Python 3.7

sudo apt install python3.7

完成Python版本安装 添加版本选项 使得你需要的版本保持高优先级

update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2

窗口出现版本选择 随时能够更换Python版本

# update-alternatives --config python

此时在命令行输入python 将不会再出现指向不明

在这里插入图片描述

使用Python3.7自带的pip工具进行numpy等第三方库的安装

sudo python3.7 -m pip install numpy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

在这里插入图片描述

七.参考博客

[1] VMware虚拟机安装Ubuntu-CSDN博客

[2] Ubuntu出现:Please remove the installation medium-CSDN博客

[3] ubuntu报错:su认证失败-CSDN博客

[4] VMware虚拟机经常性卡死-博客园

[5] VMware Tools安装-CSDN博客

[6] 设置共享文件夹主机与vmware传输文件-CSDN博客

[7] Ubuntu中vi命令的使用-博客园

[8] linux .bashrc文件误操作后进行恢复-CSDN博客

[9] ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation-CSDN博客

[10] ubuntu下进行HDFS伪分布式环境搭建-CSDN博客

[11] Hadoop安装搭建伪分布式教程-CSDN博客

[12] Ubuntu 用户权限-CSDN博客

[13] Error:localhost:permission denied-CSDN博客

[14] ERROR: Attempting to operate on hdfs namenode as root-CSDN博客

[15] Hadoop伪分布式安装问题总结-CSDN博客

[16] datanode启动失败:Too many failed volumes-华为云

[17] hadoop进程启动不全-CSDN博客

[18] linux修改文件夹下所有文件的权限-CSDN博客

[19] Linux文件 profile、bashrc、bash_profile区别 - 知乎

[20] Spark伪分布式安装 - 博客园

[21] Ubuntu-Error: no acceptable C compiler found in $PATH - 博客园

[22] 解决锁正由进程xx持有-CSDN博客

[23] sudo: make: command not found-CSDN博客

[24] ZipImportError: can’t decompress data-CSDN博客

[25] Ubuntu 20.04安装Python Pip - 知乎

[26] Ubuntu下切换Python版本-CSDN博客

[27] Spark启动时报JAVA_HOME is not set异常-CSDN博客

[28] Falling back to unsupported java.lang.NumberFormatException-CSDN博客

[29] pyspark:TypeError: ‘bytes’ object cannot be interpreted as an integer-CSDN问答

[30] Ubuntu 20.4 安装 python3.6 - 知乎

[31] ubuntu如何完整的卸载pip - 亿速云

[32] ubuntu18.04通过apt安装python3.7.7-CSDN博客

[33] Spark启动:Your hostname resolves to a loopback address-CSDN博客

[34] Unable to load native-hadoop library for your platform-CSDN博客

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

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

相关文章

因为AI,我被裁了;MJ设计海报全流程;独立开发者每周收入2.3K美元;MJ常用参数超详细介绍 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 受 AI 影响&#xff0c;这 8 家公司开始裁员…… 为了搞清楚 AI 最近在影响哪些行业、哪些职业&#xff0c;作者花了三天事件找到了八…

基于SSM的网络在线考试系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 前言…

《Java并发编程实战》课程笔记(二)

可见性、原子性和有序性问题&#xff1a;并发编程 Bug 的源头 源头之一&#xff1a;缓存导致的可见性问题 在单核时代&#xff0c;所有的线程都是在一颗 CPU 上执行&#xff0c;CPU 缓存与内存的数据一致性容易解决。 因为所有线程都是操作同一个 CPU 的缓存&#xff0c;一个…

《面试1v1》ThreadLocal

我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 面试官&#xff1a; 你好&#xff0c;请问你对 ThreadLocal 有了解吗&#xff1f; 候选人&#xff1a; 您好&#xff0c;我知道 ThreadLocal 是一个 Java 中的类&a…

【坐标变换】坐标系坐标变换简单推导--未完待续

如图所示&#xff0c;假设已知坐标系 ( X , Y ) (X,Y) (X,Y)&#xff0c;旋转后的坐标系为 ( X ′ , Y ′ ) (X,Y) (X′,Y′)&#xff0c;旋转角度为 θ \theta θ&#xff0c;假设点p在 ( X , Y ) (X,Y) (X,Y)坐标系下为 ( x , y ) (x,y) (x,y)&#xff0c;坐标在旋转后的坐标…

速来!谷歌师兄的LeetCode刷题笔记开源了!

有小伙伴私聊我说刚开始刷LeetCode的时候&#xff0c;感到很吃力&#xff0c;刷题效率很低。我以前刷题的时候也遇到这个问题&#xff0c;直到后来看到这个谷歌师兄总结的刷题笔记&#xff0c;发现LeetCode刷题都是套路呀&#xff0c;掌握这些套路之后&#xff0c;就变得非常简…

kubernetes高可用+harbor高可用

kubernetes高可用harbor高可用 基于kubeadm安装kubernetes高可用集群全部主机环境初始化双主节点部署keepalive双主节点初始化kubeadm在k8smaster1节点上初始化k8s在k8smaster2节点上做扩容操作 harbor高可用集群初始化harbor1节点安装环境在另一台节点上配置使用私有harbor仓库…

初学QT:使用QtDesigner绘制一个简单的界面(Day01)

关于Qt 打算在这里记录我学习qt过程中遇见的问题的收获 今天是学习qt的第一天&#xff0c;首先找了一个界面打算照着这个界面写一个一样的 因为是第一天&#xff0c;所以我用的是qt designer写的 其中遇到的问题&#xff1a; 设置背景图片 首先不能直接添加图片到背景图片中…

如何在华为OD机试中获得满分?Java实现【分界线】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

在 Alma Linux 9 上安装 Node.js 的 3 种不同方法

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时&#xff0c;用于构建快速、可扩展的网络应用程序。在 Alma Linux 9 上安装 Node.js 可以为开发者提供强大的工具和库来开发服务器端应用程序。 本文将介绍三种不同的方法来安装 Node.js 在 Alma Linux 9 上。 1. 方法一…

LLMs的自动化工具系统(HuggingGPT、AutoGPT、WebGPT、WebCPM)

在前面两篇博文中已经粗略介绍了增强语言模型和Tool Learning&#xff0c;本篇文章看四篇代表性的自动化框架&#xff0c;HuggingGPT、AutoGPT、WebGPT、WebCPM。 Augmented Language Models&#xff08;增强语言模型&#xff09;Toolformer and Tool Learning&#xff08;LLM…

chatgpt赋能python:了解PythonSpace:Python编程中的重要概念

了解Python Space&#xff1a;Python编程中的重要概念 Python Space是Python编程的一个关键概念&#xff0c;可以帮助你更好地理解Python中的命名空间和作用域。在这篇文章中&#xff0c;我们将深入探讨Python Space&#xff0c;介绍命名空间的概念&#xff0c;讨论命名空间和…

支付系统设计四:支付核心设计03-快捷发送短信(失败转代扣)

文章目录 前言一、背景1. 应用架构2. 分层支撑机制 二、银行卡快捷支付1. 用户操作流程2. 系统执行流程--正常2.1 发送短信2.2 短信确认 3. 系统执行流程--异常3.1 异常环节3.1.1 路由失败3.1.2 调用支付渠道失败 3.2 异常处理3.2.1 路由失败3.2.2 调用支付渠道失败 4. 流程解析…

指导实验心得5篇实用技巧

指导实验心得1 我觉得化工原理实验是一门验证性课程&#xff0c;它把我们在化工原理学到的各种单元操作化为实实在在的东西&#xff0c;而让我们把学到的知识认识到它的实在性。流体输送——离心泵、过滤——板框压滤机、对流传热——套管式换热器、吸收蒸馏——填料塔板式塔、…

AF594 NHS,Alexa Fluor594 NHS Ester,AF 594 NHS 活化酯,用于成像和流式细胞术中的稳定信号生成

【产品描述】 陕西新研博美生物科技有限公司供应的​Alexa Fluor594是一种鲜红色染料。Alexa Fluor用于成像和流式细胞术中的稳定信号生成 594染料是水溶性的&#xff0c;并且从pH 4到pH 10对pH不敏感。Alexa Fluor 594染料与多种抗体、肽、蛋白质、示踪剂和扩增底物偶联&#…

java内存问题

各种OOM的情况 1. 堆溢出-java.lang.OutOfMemoryError: Java heap space。 2. 栈溢出-java.lang.OutOfMemorryError。 3. 栈溢出-java.lang.StackOverFlowError。 4. 元信息溢出-java.lang.OutOfMemoryError: Metaspace。 5. 直接内存溢出-java.lang.OutOfMemoryError: Direct …

软件开发工程师个人简历模板3篇

软件开发工程师个人简历模板篇1 姓 名&#xff1a; 张先生 性 别&#xff1a; 男 婚姻状况&#xff1a; 未婚 民 族&#xff1a; 汉族 户 籍&#xff1a; 广东-珠海 年 龄&#xff1a; 28 现所在地&#xff1a; 广东-珠海 身 高&#xff1a; 168cm 希望地区&#xff1a; …

Toolformer and Tool Learning(LLMs如何使用工具)

大模型的能力让学术和工业界都对通用人工智能的未来充满幻想&#xff0c;在前一篇博文中已经粗略介绍&#xff0c; Augmented Language Models&#xff08;增强语言模型&#xff09; ALM的两大思路是推理和工具&#xff0c;本篇博文整理两篇关于Toolformer或Tool Learning的论…

web实现日历、阳历农历之间相互转换、npm、push、unshift、includes、innerHTML

文章目录 1、原生web实现效果图htmlJavaScriptstyle vue2实现htmlJavaScript 1、原生web实现 效果图 html <div class"box"><div class"week"><div>星期日</div><div>星期一</div><div>星期二</div><…

Three.js--》建模软件如何加载外部3D模型?

目录 三维建模软件的介绍 Blender官方文档介绍 Blender软件安装 GLTF格式简介 gltf不同文件形式 看过我之前讲解的three文章的人都知道&#xff0c;我在创建模型的时候都没有使用three.js自带的一些简单模型&#xff0c;而是引入外部的模型并加载到页面上&#xff0c;简言…