操作平台:虚拟机
操作系统:CentOS-7-x86_64-Minimal-1810.iso
软件版本:
软件 | 安装包版本 |
---|---|
JDK | jdk-8u191-linux-x64.tar.gz |
Spark | spark-2.4.3-bin-hadoop2.7.tgz |
其他软件:
软件 | 功能 |
---|---|
VMware | 提供虚拟机环境 |
Xshell | 远程连接虚拟机 |
FileZile | 传输文件到虚拟机 |
集群软件部署情况如下:
Ip | User | Hostname | 环境配置情况 |
---|---|---|---|
192.168.49.137 | root | sparktest | JDK,Spark |
软件放置位置:/opt/soft
软件安装位置:/opt/server
软件数据位置:/opt/data
软件日志位置:/opt/var/logs
关闭防火墙并去除开机自启动
systemctl stop firewalld && systemctl disable firewalld
修改 selinux 为禁用状态并生效(可以重启自生效)
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
setenforce 0
安装ntp服务
yum install ntp ntpdate -y
查找当前地区,最适合的时间服务器
http://www.pool.ntp.org/zone/asia
(注意:从中复制一条,下面选择的是第一条)
修改ntp.conf 中时间服务器地址
vi /etc/ntp.conf
添加一行:
server 0.asia.pool.ntp.org iburst
停止 ntpd 服务,手动同步时间,启动 ntpd 服务
systemctl stop ntpd
ntpdate 0.asia.pool.ntp.org
systemctl start ntpd
修改hostname文件
vi /etc/hostname
(我将主机名修改为sparkTest了)
修改虚拟机中/etc/hosts 文件
vi /etc/hosts
添加如下内容:
192.168.49.137 sparkTest
修改Windows中C:\Windows\System32\drivers\etc\hosts 文件
添加如下内容:
192.168.49.137 sparkTest
mkdir -p /opt/server
mkdir -p /opt/soft
mkdir -p /opt/data
mkdir -p /opt/var/logs
生成私钥(一直按回车键)
ssh-keygen
下发私钥至本机 (第一次需要输出密码123)
ssh-copy-id sparkTest
免密登入测试
ssh sparkTest
退出
exit
通过FileZile将压缩包都传输到/opt/soft目录下
在/opt/soft/目录解压 jdk 压缩包至/opt/server 目录下
tar -zxvf /opt/soft/jdk-8u191-linux-x64.tar.gz -C /opt/server/
打开/etc/profile 文件
vi /etc/profile
追加以下变量
################set java home##################
export JAVA_HOME=/opt/server/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
及时生效环境变量
source /etc/profile
验证 java
java -version
解压安装包到指定位置
tar -zxvf /opt/soft/spark-2.4.3-bin-hadoop2.7.tgz -C /opt/server
复制配置文件
cp /opt/server/spark-2.4.3-bin-hadoop2.7/conf/spark-env.sh.template /opt/server/spark-2.4.3-bin-hadoop2.7/conf/spark-env.sh
cp /opt/server/spark-2.4.3-bin-hadoop2.7/conf/slaves.template /opt/server/spark-2.4.3-bin-hadoop2.7/conf/slaves
修改配置文件spark-env
vi /opt/server/spark-2.4.3-bin-hadoop2.7/conf/spark-env.sh
在该配置文件中添加如下配置
export JAVA_HOME=/opt/server/jdk1.8.0_191
export SPARK_MASTER_IP=sparkTest
export SPARK_MASTER_PORT=7077
修改配置文件slaves
vi /opt/server/spark-2.4.3-bin-hadoop2.7/conf/slaves
在该文件中添加子节点所在的位置(Worker节点)
sparkTest
打开/etc/profile 文件
vi /etc/profile
追加以下变量
############set spark home###################
export SPARK_HOME=/opt/server/spark-2.4.3-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
及时生效环境变量
source /etc/profile
启动Master和Worker
start-all.sh
查看运行的进程情况
jps
登录Spark管理界面查看状态:
http://sparkTest:8080/
调用spark-submit进程执行任务
spark-submit --class org.apache.spark.examples.SparkPi --executor-memory 3G --total-executor-cores 3 /opt/server/spark-2.4.3-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.3.jar 100
(是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用scala编写spark程序)
spark-shell --executor-memory 2g --total-executor-cores 2
stop-all.sh