Author - yyz
Create Time - 2024/06/21
Last Update Time - 2024/06/21
WSL2# 1 基础语法# 查看 wsl --list
卸载 wsl --unregister SystemName
关机 wsl --shutdown
2 进阶语法# 导出虚拟机 wsl --export Ubuntu-20.04 A:\your_path\Ubuntu-20.04_export.tar
导入虚拟机 wsl --import 分发版本 安装的路径 之前导出的文件
Ubuntu On WSL 机器学习配置# 0 基本设置# 安装后在Linux系统中使用 nvidia-smi
查看是否连接到物理机Nvidia驱动
更新软件列表 sudo apt-get update
安装必备的工具包 sudo apt-get install build-essential
下载地址:CUDA Toolkit 12.5 Downloads | NVIDIA Developer
选项如下:Linux → x86_64 → WSL_Ubuntu → 2.0 → runfile(local)
按操作执行命令:
1
2
wget https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.42.02_linux.run
sudo sh cuda_12.5.0_555.42.02_linux.run
复制
选择 accept 选择 install 添加环境变量 1
2
export PATH = "/usr/local/cuda-12.5/bin: $PATH "
export LD_LIBRARY_PATH = "/usr/local/cuda-12.5/lib64: $LD_LIBRARY_PATH "
复制
检验是否安装成功:nvcc -V
【2024】Windows 11 安装WSL2并搭建深度学习环境(Docker,Pytorch)_win11 安装wsl2-CSDN博客
Spark On Ubuntu On WSL 配置# 操作系统 - Ubuntu24.04 LTS
1 更新软件源# ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
1
2
3
4
5
6
7
8
9
10
11
12
13
sudo nano /etc/apt/sources.list.d/ubuntu.sources
>>>
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
复制
之后更新软件源缓存和软件
1
2
sudo apt update
sudo apt upgrade -y
复制
2 安装openssh-server和jdk# 1
2
3
4
5
6
7
8
9
sudo apt-get install openssh-server openjdk-8-jdk
sudo service ssh restart
ssh localhost
# 成功进入 ssh 后,输入 exit 回车 退出。
cd ~/.ssh/
ssh-keygen -t rsa
cat ./id_rsa.pub >> ./authorized_keys
复制
3 安装Python (可选 Anaconda)# 1
2
#安装python
sudo apt install python3 python3-pip
复制
更改pip源# 4 安装java, hadoop和spark# 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 在你下载 hadoop...tar.gz 和 spark....tgz 的目录打开终端,并进入WSL
sudo tar -xzf hadoop*.tar.gz -C /usr/local
sudo tar -xzf spark*.tgz -C /usr/local
cd /usr/local
sudo mv hadoop-* hadoop
sudo mv spark-* spark
sudo chown -R 你的用户名 hadoop
sudo chown -R 你的用户名 spark
#添加环境变量 >>>后为添加的内容
sudo nano ~/.bashrc
>>>
export HADOOP_HOME = /usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR = $HADOOP_HOME /lib/native
export PATH = $PATH :$HADOOP_HOME /bin:$HADOOP_HOME /sbin
export JAVA_LIBRAY_PATH = /usr/local/hadoop/lib/native
export JAVA_HOME = /usr/lib/jvm/java-1.8.0-openjdk-amd64
export SPARK_HOME = /usr/local/spark
export PATH = $PATH :${ SPARK_HOME } /bin
复制
5 配置hadoop伪分布式# HDFS 配置# 进入配置文件目录 cd /usr/local/hadoop/etc/hadoop
修改 hadoop-env.sh# 1
2
3
4
sudo nano hadoop-env.sh
#将以下内容粘贴到文件内并保存 >>>
export JAVA_HOME = /usr/lib/jvm/java-1.8.0-openjdk-amd64
export HADOOP_OPTS = "-Djava.library.path= ${ HADOOP_HOME } /lib/native"
复制
修改 core-site.xml# 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo nano core-site.xml
# 将以下内容粘贴到<configuration> </configuration>的中间并保存。
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>yyz</value>
</property>
复制
修改 hdfs-site.xml# 1
2
3
4
5
6
7
8
9
10
11
12
13
14
sudo nano hdfs-site.xml
# 将以下内容粘贴到<configuration> </configuration>的中间并保存。
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
复制
HDFS 启动# 1
2
3
4
5
6
7
8
9
#启动ssh
sudo service ssh start
#格式化Namenode
hdfs namenode -format
#启动dfs
/usr/local/hadoop/sbin/start-dfs.sh
#此时输入 jps 命令,正常会显示4个内容: Jps,NameNode,SecondaryNameNode,DataNode
#浏览器访问 http://localhost:9870 可以显示HDFS Web UI
复制
Yarn 配置# 进入配置文件目录 cd /usr/local/hadoop/etc/hadoop
修改 mapred-site.xml# 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sudo nano mapred-site.xml
# 将以下内容粘贴到<configuration> </configuration>的中间并保存。
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME= ${ HADOOP_HOME } </value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME= ${ HADOOP_HOME } </value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME= ${ HADOOP_HOME } </value>
</property>
复制
修改 yarn-site.xml# 1
2
3
4
5
6
sudo nano yarn-site.xml
# 将以下内容粘贴到<configuration> </configuration>的中间并保存。
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
复制
Yarn 启动# 1
2
3
/usr/local/hadoop/sbin/start-all.sh
#浏览器访问 http://localhost:8088/ 可以显示Yarn Web UI
复制
6 Spark配置 启动# 1
2
3
4
5
6
7
8
9
10
11
# 进入spark配置文件夹
cd /usr/local/spark/conf
# 编辑 spark-env.sh
sudo cp spark-env.sh.template spark-env.sh
sudo nano spark-env.sh
# 将以下内容粘贴到文件头并保存。
export SPARK_DIST_CLASSPATH = $( /usr/local/hadoop/bin/hadoop classpath)
# 启动Spark
/usr/local/spark/sbin/start-all.sh
#浏览器访问 http://localhost:8080 可以打开Spark的WebUI
复制
spark命令行# 1
2
#输入spark-shell或者pyspark,可以进入Spark命令行
pyspark
复制