前提:已经安装了Hadoop
或者Linux上下载:
wget https://archive.apache.org/dist/spark/spark-2.2.3/spark-2.2.3-bin-hadoop2.7.tgz
速度太慢了,换一种:
axel -a -n 10 https://archive.apache.org/dist/spark/spark-2.2.3/spark-2.2.3-bin-hadoop2.7.tgz
如果没有axel命令的话,就安装一下: yum install axel
下载完成了,解压一下:tar xzvf spark-2.2.3-bin-hadoop2.7.tgz
修改下文件夹: mv spark-2.2.3-bin-hadoop2.7 spark
放到其他目录,没有的话新建目录。mv spark /export/servers/
cd /export/servers/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
# 指定JAVA HOME
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/jre
# 指定SPARK MASTER 地址
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077
# 指定 SPARK History 运行参数
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplication=3 -Dspark.history.fs.logDirecto
ry=hdfs://master:8020/spark_log"
cp slaves.template slaves
vi slave
cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://master:8020/spark_log
spark.eventLog.compress true
hdfs dfs -mkdir -p /spark_log
cd /export/servers
scp -r spark hadoop@hadoop1:$PWD
scp -r spark hadoop@hadoop2:$PWD
Hadoop1和Hadoop2没有文件夹,分别建一下:
cd /
sudo mkdir export
sudo mkdir servers
在master启动整个集群:
cd /export/servers/spark
sbin/start-all.sh
sbin/start-history-server.sh
需要输入三次密码:
jps的时候,hadoop1和hadoop2并没有worker
配置Spark伪分布式环境的时候,source /etc/profile之后,jps查看进程中只有jps进程,没有Master和Worker进程。造成这种情况的原因就是配置spark-env.sh和/etc/profile文件的时候Spark主节点的IP和Spark本地的IP配置错误。
解决:
cd /export/servers/spark/conf
vim spark-env.sh
添加:
export SPARK_MASTER=192.168.43.30
export SPARK_LOCAL=127.0.0.1
再修改/etc/profile文件
vim /etc/profile
#spark
export SPARK_MASTER_IP=192.168.43.30
export SPARK_LOCAL_IP=127.0.0.1
修改完成:source /etc/profile 启动配置
接下来:cd /export/servers/spark/sbin
关闭 stop-all.sh 再重新启动 start-all.sh 即可。