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

一.环境概述

  • 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博客

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值