Spark快速大数据分析——Spark下的WSL环境安装与Hadoop环境配置(叁)
系列文章目录
Spark快速大数据分析——Scala语言基础(壹)。 Spark快速大数据分析——Spark安装与IDEA 开发(贰)
软件环境:
- Hadoop-3.2
- Spark-3.1.3
- JDK 8
- WSL2 Ubuntu20.04
- Windos10 20H2
Hadoop的WSL2环境安装:
Hadoop还不算折腾人的,当年caffe环境才是最恶心的,装过caffe以后装什么都很有自信。
俗话说的好windos是最好的linux发行版,WSL2是证明这个观点的强有力的证据。开个玩笑。
先来说如何安装WSL2,注意这里说的是WSL2并不是WSL!
如果你的电脑是Windos专业版,可以直接跳到WSL安装部分,如果你的电脑是家庭中文版就先往下看。
笔记本Windos如何最快速省事升级专业版?
找到你的windos激活界面先查看自己windos版本,如果是家庭版就需要升级来获取高级的系统组件,点击更改产品密钥:

点击更改密钥:

会让你输入密钥来升级,密钥的获取当然是万能的TB了,直接搜索windos激活码然后先问店家买一个升级码再买一个激活码即可。(注意是两个码!)

先输入升级码进行升级,重启后再使用激活码进行激活,一共7块钱就可以搞点,虽然有很多升级办法,但是这个还是最省事的,升级过程最好插上电,防止没电。升级过程因为没办法截图就没有截图,过程都是自动的,不需要太多操作这里就不详细赘述了。
升级完成后在系统激活中输入激活码直接激活即可:

激活完成界面:

这样一来你就升级到了专业版。
WSL的安装
然后进行WSL的安装:
首先添加系统组件:


确定后等待完成:

在windos商店中查找Ubuntu:

直接点击下载然后等待安装即可,安装完成以后打开,设置一下用户名和密码:

先关闭界面,因为这里可能安装的是WSL1,不过没关系,我们可以升级一下直接用就行,先检测一下版本:
打开windos cmd或者powershell(以管理员身份打开):
输入命令:wsl -l -v

如果如图,那么你就安装的是WSL2,可以直接跳到hadoop安装,如果你输出的是1请往下看升级步骤:
升级之前先要注意一个问题就是windos的版本:
若要更新到 WSL 2:
- 对于 x64 系统:版本 1903 或更高版本,采用内部版本 18362 或更高版本。
- 我的是20H2所以没问题,你如果版本不够请先升级windos。

升级WSL至WSL2
首先下载Linux内核更新包:点击下载。
下载完成后直接安装即可:

如果你没有安装内核更新包直接打开WSL就有可能遇到以下错误:
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernelPress any key to continue.. .

安装内核包以后就没有问题了。
这时候我们再设置一下WSL的默认版本:
打开cmd使用命令:
wsl --set-version Ubuntu-20.04 2
使用完成后再打开WSL就可以看见:

等一段时间然后按一下回车就可以看见:
可以看到WSL已经更新到了WSL2。 
如果你没有这个界面或者更新失败,问题不大,不要慌,卸载然后返回到安装步骤再来一遍即可:

Hadoop环境配置
首先介绍一下,WSL下一些常用的功能:
在WSL下打开windos的文件浏览器来访问linux下的文件。
输入命令:
explorer.exe .
注意exe后边还有一个空格。
创建hadoop用户
如果你安装 Ubuntu 的时候不是用的 “hadoop” 用户,那么需要增加一个名为 hadoop 的用户。
$ sudo useradd -m hadoop -s /bin/bash
这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell。(在Ubuntu终端窗口中,复制粘贴的快捷键需要加上 shift,即粘贴是 ctrl+shift+v。)
$ sudo passwd hadoop
为hadoop用户增加管理员权限:
$ sudo adduser hadoop sudo
最后输入:
$ su hadoop
切换到hadoop用户。
更新apt
用 hadoop 用户登录后,我们先更新一下 apt,后续我们使用 apt 安装软件,如果没更新可能有一些软件安装不了。 按 ctrl+alt+t 打开终端窗口,执行如下命令:
$ sudo apt-get update
若出现如下 “Hash校验和不符” 的提示,可通过更改软件源来解决。若没有该问题,则不需要更改。从软件源下载某 些软件的过程中,可能由于网络方面的原因出现没法下载的情况,那么建议更改软件源。
安装Vim
$ sudo apt-get install vim
vim的常用模式有分为命令模式,插入模式,可视模式,正常模式。本教程中,只需要用到正常模式和插入模式。二 者间的切换即可以帮助你完成本指南的学习。
- 正常模式 正常模式主要用来浏览文本内容。一开始打开vim都是正常模式。在任何模式下按下Esc键就可以返回正常模式
- 插入编辑模式 插入编辑模式则用来向文本中添加内容的。在正常模式下,输入i键即可进入插入编辑模式
- 退出vim 如果有利用vim修改任何的文本,一定要记得保存。Esc键退回到正常模式中,然后输入:wq即可保存文本并退出 vim。
安装SSH、配置SSH无密码登陆
集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令), Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:
$ sudo apt-get install openssh-server
安装后,需要重新启动一下:
$ sudo service ssh restart
输入命令后发现报错:
hadoop@LAPTOP-74GAR8S9:/home/jszszzy$ sudo service ssh restart
sshd: no hostkeys available -- exiting.
使用exit切换到root用户:
hadoop@LAPTOP-74GAR8S9:/home/jszszzy$ exit
exit
jszszzy@LAPTOP-74GAR8S9:~$
检查ssh是否生成密钥,发现没有:
jszszzy@LAPTOP-74GAR8S9:~$ cd ~/.ssh/
-bash: cd: /home/jszszzy/.ssh/: No such file or directory
再切换到hadoop用户尝试连接一下本地ssh:
hadoop@LAPTOP-74GAR8S9:/home/jszszzy$ sudo ssh localhost
[sudo] password for hadoop:
ssh: connect to host localhost port 22: Connection refused
发现报错:
ssh: connect to host localhost port 22: Connection refused
这报错可使用下边的命令解决,或者卸载ssh再重新安装一遍也可能会解决。
使用管理权限开始ssh服务:
hadoop@LAPTOP-74GAR8S9:/home/jszszzy$ sudo service ssh start
* Starting OpenBSD Secure Shell server sshd sshd: no hostkeys available -- exiting.
**sshd: no hostkeys available – exiting.**仍报错
没办法手动生成一下hostkey,两种加密方式:
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /etc/ssh/ssh_host_dsa_key
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub
The key fingerprint is:
SHA256:Oizwqo5xcIIVUTAetxHLW8StQ2+oRT/FMAWei/EoKIA root@LAPTOP-74GAR8S9
The key's randomart image is:
+---[DSA 1024]----+
| *+=o..+=. |
|.. * =+..oo |
|E o +oo=o. |
|o. . o===. |
|= + ooooS. |
| = o.o . |
|. . o + |
|.o . . . |
|+o. |
+----[SHA256]-----+
hadoop@LAPTOP-74GAR8S9:/home/jszszzy$ sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /etc/ssh/ssh_host_rsa_key
Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub
The key fingerprint is:
SHA256:2iivZii9bXWn7GXnkK3oVoEbjuVkfKuVnjocVyABTcM root@LAPTOP-74GAR8S9
The key's randomart image is:
+---[RSA 3072]----+
| .=+. |
| E.. |
| . o . |
| B o . |
| BS+ = |
| o+* Bo |
| . ...o+.X=.o |
|. o.+o B+o= |
| ..=o..+=o. . |
+----[SHA256]-----+
再次打开ssh,发现成功:
sudo service ssh restart
* Restarting OpenBSD Secure Shell server sshd
然后查找进程是否存在:
hadoop@LAPTOP-74GAR8S9:/home/jszszzy$ sps -e | grep ssh
12765 ? 00:00:00 sshd
生成本低公钥添加至免密中:
hadoop@LAPTOP-74GAR8S9:~/.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:kMkQ2+migmrgDhEKXw4k7pBs8k88Eawq6aqqhFnz2iw hadoop@LAPTOP-74GAR8S9
The key's randomart image is:
+---[RSA 3072]----+
|. ..+. |
|o+ .* + |
|*+..+ B |
|B+.= o . |
|o+= * . S |
|B+ * o |
|@.. o |
+----[SHA256]-----+
添加至免密:
注意当前所在位置:~/.ssh
hadoop@LAPTOP-74GAR8S9:~/.ssh$ sudo cat ./id_rsa.pub >> ./authorized_keys
测试一下ssh,发现能连接:
hadoop@LAPTOP-74GAR8S9:~/windos_pubkey$ ssh localhost
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Tue Apr 12 22:00:21 CST 2022
System load: 0.0 Processes: 13
Usage of /: 0.8% of 250.98GB Users logged in: 0
Memory usage: 1% IPv4 address for eth0: 172.20.4.176
Swap usage: 0%
19 updates can be applied immediately.
12 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable
Last login: Tue Apr 12 21:38:02 2022 from 127.0.0.1
Java环境配置
推荐使用openjdk。
输入命令直接安装:
hadoop@LAPTOP-74GAR8S9:~/windos_pubkey$ sudo apt-get install openjdk-8-jdk
安装完成后测试一下:
hadoop@LAPTOP-74GAR8S9:~/windos_pubkey$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
JAVAHOME环境变量设置:
打开环境变量设置:
hadoop@LAPTOP-74GAR8S9:~$ vim ~/.bashrc
在最下边输入一下内容:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
Hadoop环境配置
下载hadoop 3.2:hadoop3.2下载。
使用windos的文件浏览器将下载好的hadoop直接拖拽到root目录对应位置即可:
这里再介绍一种方法打开文件浏览器:
在浏览器上栏输入:
\\wsl$
效果如下:  我拷贝到了这个目录下:  然后使用命令解压到/usr/local目录下:
hadoop@LAPTOP-74GAR8S9:~$ sudo tar -zxf /home/jszszzy/hadoop/hadoop-3.2.2.tar.gz -C /usr/local
然后转移到文件夹下,进行一系列操作:
$ cd /usr/local/
$ sudo mv ./hadoop-3.1.3/ ./hadoop # 将文件夹名改为hadoop
$ sudo chown -R hadoop ./hadoop # 修改文件权限
最后运行一下:
$ cd /usr/local/hadoop
$ ./bin/hadoop version
提示:
相对路径与绝对路径 请务必注意命令中的相对路径与绝对路径,本文后续出现的 ./bin/… , ./etc/… 等包含 ./ 的路径,均 为相对路径,以 /usr/local/hadoop 为当前目录。例如在 /usr/local/hadoop 目录中执行 ./bin/hadoop version 等同于执行 /usr/local/hadoop/bin/hadoop version 。可以将相对路径改成绝对路径来执行,但 如果你是在主文件夹 ~ 中执行 ./bin/hadoop version ,执行的会是 /home/hadoop/bin/hadoop version , 就不是我们所想要的了。
下一篇将会介绍Hadoop单机配置、Hadoop伪分布式配置。
|