学习目标:
学会Spark环境的搭建
学习内容:
学习Spark搭建环境的过程
学习环境
环境组合是Spark2.3.3+Java8+Scala2.11(这里都不是最新版本的,需要的话自行去官网搜索就好,直接官网下载就可以)
第一步:软件的下载:
这里方便大家下载直接用wget命令代替了
wget http://i9000.net:8888/sgn/HUP/spark/spark-2.3.3-bin-hadoop2.7.tgz #spark的下载
wget http://i9000.net:8888/sgn/HUP/spark/scala-2.11.12.tgz #scala的下载
wget http://i9000.net:8888/sgn/HUP/spark/jdk-8u201-linux-x64.tar.gz #jdk的下载
下载之后就要用tar命令解压文件了
tar -zxvf jdk-8u201-linux-x64.tar.gz
tar -zxvf spark-2.3.3-bin-hadoop2.7.tgz
tar -zxvf scala-2.11.12.tgz
将软件放进/opt里面
使用sudo命令的时候发现出现下面问题,下面给出解决问题,没出问题最好
wangyiping@ubuntu:~/Desktop$ sudo cp –R jdk1.8.0_201 /opt
sudo: /etc/sudoers.d is world writable
cp: cannot stat '–R': No such file or directory
cp: -r not specified; omitting directory 'jdk1.8.0_201'
可以使用pkexec命令(这是分享的CSDN的一个介绍pkexec命令出自
飞鸿踏雪(蓝屏选手)https://blog.csdn.net/qq_41252520pkexec 提权漏洞(CVE-2021-4034) 分析_飞鸿踏雪(蓝屏选手)的博客-CSDN博客_pkexec漏洞)进入root用户,
Spark在使用之前,需要进行一定的配置。主要包括安装SSH,实现免密码登录,修改环境变量,修改Spark文件夹的访问权限,节点参数配置等。
(1)安装SSH
sudo apt-get update
sudo apt-get install openssh-server
输入yes
(2) SSH免密码登录
ssh-keygen -t rsa
一直点enter键就行了
把公钥的内容添加到authorized_keys文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
更改权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
设置完后输入命令
sudo service ssh start
ssh localhost
如果出现欢迎字样而不出现需要输入密码的情况则说明设置成功。如果出现需要 输入密码的情况,修改一下.ssh文件夹的权限和authorized_keys的权限即可。如下图所示:
(3)tar 命令解压下载的文件并使用复制命令把所有软件包复制 到/opt文件夹中,修改文件夹的权限为777
tar –zxvf jdk-8u201-linux-x64.tar.gz #使用tar 命令解压下载的文件。
tar –zxvf spark-2.3.3-bin-hadoop2.7.tgz
tar –zxvf scala-2.11.12.tgz
sudo cp –R jdk1.8.0_201 /opt #使用复制命令把所有软件包复制 到/opt文件夹中
sudo cp –R spark-2.3.3-bin-hadoop2.7 /opt
sudo cp –R Scala-2.11.12 /opt
sudo chmod –R 777 /opt #修改文件夹的权限为777
这里就不一一演示;
(4)修改profile文件
这里面有两个不同方法,一个是修改etc下的profile(每次都需要启动才能用),一个是修改主目录下的.bashrc文件(虚拟机重启也不需要重启)。不同点就是bashrc仅在交 互式shell启动时被读取,profile仅在login shell启动进程被读取。
①修改/etc/profile文件
sudo vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_17 #配置JAVA_HOME
export CLASS_PATH=/opt/jdk1.8.0_17/lib #配置类路径
export PATH=$PATH:$JAVA_HOME/bin #添加bin路径到PATH,添加后可以在命令行中直接调用。
export SCALA_HOME=/opt/Scala-2.11.12 #配置SCALA_HOME
export PATH=$PATH:$SCALA_HOME/bin #添加bin目录到PATH
export SPARK_HOME=/opt/spark-2.3.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin #添加bin目录到PATH
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin
source /etc/profile #重启文件才能用
sudo vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_17
export CLASS_PATH=/opt/jdk1.8.0_17/lib
export PATH=$PATH:$JAVA_HOME/bin
export SCALA_HOME=/opt/Scala-2.11.12
export PATH=$PATH:$SCALA_HOME/bin
export SPARK_HOME=/opt/spark-2.3.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin
source /etc/profile
②修改~/.bashrc文件
需要获得root权限
su root #转成root用户
vi ~/.brshrc
export JAVA_HOME=/opt/jdk1.8.0_17 #配置JAVA_HOME
export CLASS_PATH=/opt/jdk1.8.0_17/lib #配置类路径
export PATH=$PATH:$JAVA_HOME/bin #添加bin路径到PATH,添加后可以在命令行中直接调用。
export SCALA_HOME=/opt/Scala-2.11.12 #配置SCALA_HOME
export PATH=$PATH:$SCALA_HOME/bin #添加bin目录到PATH
export SPARK_HOME=/opt/spark-2.3.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin #添加bin目录到PATH
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin
source ~/.brshrc #重启文件
su root
vi ~/.brshrc
export JAVA_HOME=/opt/jdk1.8.0_17
export CLASS_PATH=/opt/jdk1.8.0_17/lib
export PATH=$PATH:$JAVA_HOME/bin
export SCALA_HOME=/opt/Scala-2.11.12
export PATH=$PATH:$SCALA_HOME/bin
export SPARK_HOME=/opt/spark-2.3.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin
source ~/.brshrc
先打开隐藏文件
然后vi命令修改
(5)修改Spark配置文件
先进入conf目录,然后复制模板文件,然后修改spark-env设置主节点和从节点的配置
cd /opt/spark-2.3.3-bin-hadoop2.7/conf
cp spark-env.sh.template spark-env.sh #注意 把.template去掉,然后Spark启动时就会对文件中的配置项进行读取,否则找不到配置。
cp log4j.properties.template log4j.properties
cp slaves.template slaves
#修改spark-env设置主节点和从节点的配置
vi spark-env
export JAVA_HOME=/opt/jdk1.8.0_201 #添加Java位置
export SCALA_HOME=/opt/Scala-2.11.12 #添加Scala位置
export SPARK_MASTER_IP=SparkMaster #设置主节点地址
export SPARK_WORKER_MEMORY=4g #设置节点内存大小,此处为4G。
export SPARK_WORKER_CORES=2 #设置节点参与计算的核心数
export SPARK_WORKER_INSTANCES=1 #设置节点实例数
(6)修改slaves设置从节点地址 添加节点主机名称。默认为:localhost
(6)开启spark集群
cd /opt/spark-2.3.3-bin-hadoop2.7/sbin #进入sbin目录,能开启集群
./start-all.sh #开启
这就是ssh做的不是很好 的下场。