念念不忘
必有回响

Spark2.4.4单节点部署

最近基友送了台电脑,准备将其作为一个虚拟机用来平时在家的学习环境,因为在公司学习的话会被认为是摸鱼或者工作量不饱和。由于是16G的内存,所以也做不了集群,用来学习的话也没必要,就搞个单节点吧。

1. 环境说明

本次安装环境:

  • CentOS 7 lastest
  • Scala_2.11
  • Java_1.8
  • Hadoop_3.1.3
  • Spark_2.4.4

机器列表:

  • 192.168.40.128  node1  hadoop_3.1.3
  • 192.168.40.129  node2  spark_2.4.4

2. 准备环境

虚拟机安装CentOS就不多说了,Hadoop环境也已经搭建好,可参考《Hadoop3.1.3单节点部署》。下载spark-2.4.4-bin-hadoop2.7.tgz、jdk-8u231-linux-x64.tar.gz、scala-2.11.12.tgz。将hadoop-3.1.3的安装目录拷贝到该机器。

scp -r hadoop-3.1.3 cdhuser@node2:/home/cdhuser/

将jdk-8u231-linux-x64.tar.gz、scala-2.11.12.tgz分别解压到/usr/local/java、/usr/local/scala目录,配配置环境变量:

vim /etc/profile
# 追加如下配置
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export SCALA_HOME=/usr/local/scala/scala-2.11.12
export PATH=$JAVA_HOME/bin:$PATH:$SCALA_HOME/bin

使其生效:

source /etc/profile

3.配置Spark

将spark-2.4.4-bin-hadoop2.7.tgz解压到cdhuser的家目录/home/cdhuser/,进入conf目录:

spark-2.4.4-bin-hadoop2.7.tgz

cd spark-2.4.4-bin-hadoop2.7/conf/

3.1 配置spark-env.sh

拷贝spark-env.sh.template文件为spark-env.sh。

cp spark-env.sh.template spark-env.sh

填入如下内容:

export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export SCALA_HOME=/usr/local/scala/scala-2.11.12

export HADOOP_HOME=/home/cdhuser/hadoop-3.1.3
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export SPARK_WORKING_MEMORY=1g  #每一个worker节点上可用的最大内存
export SPARK_MASTER_IP=node2   #驱动器节点IP

3.2 配置spark-defaults.conf

拷贝spark-defaults.conf.template为spark-defaults.conf

cp spark-defaults.conf.template spark-defaults.conf

填入如下内容:

#spark.master           yarn
spark.master            spark://node2:7077
spark.yarn.jars         hdfs://node1:9000/spark_jars/*.jar
spark.driver.extraJavaOptions -Dhdp.version=current
spark.yarn.am.extraJavaOptions -Dhdp.version=current
spark.yarn.am.memory=512M
spark.driver.memory=512M
spark.executor.memory=512M

说明一下,这里本来要配置spark on yarn的模式,但是最终因为找不到主类的错误放弃了,就用spark集群模式即可。这里的spark.yarn.jars配置需要执行如下操作:

hadoop fs -mkdir /spark_libs
hadoop fs -put $SPARK_HOME/jars/* /spark_libs

由于已经配置了Hadoop的环境变量,所以这里就没必要指定为hdfs://node1:9000/spark_libs了。

4. 启动Spark

使用start-all.sh即可启动Spark的Master和Worker

[cdhuser@node2 ~]$start-all.sh 
starting org.apache.spark.deploy.master.Master, logging to /home/cdhuser/spark-2.4.4-bin-hadoop2.7/logs/spark-cdhuser-org.apache.spark.deploy.master.Master-1-node2.out
node2: starting org.apache.spark.deploy.worker.Worker, logging to /home/cdhuser/spark-2.4.4-bin-hadoop2.7/logs/spark-cdhuser-org.apache.spark.deploy.worker.Worker-1-node2.out

由于我们配置Hadoop的环境变量时,并没有配置$HADOOP_HOME/sbin,所以不用担心这两个脚本名字重复的问题。

5. 配置防火墙

一般大家安装时都会将防火墙给关了,其实也没必要,安装完成后通过netstat命令查看下端口即可,这里我们将添加如下防火墙策略:

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --add-port=7077/tcp --permanent
sudo firewall-cmd --add-port=8081/tcp --permanent
sudo firewall-cmd --add-port=8030/tcp --permanent
sudo firewall-cmd --add-port=30000-50000/tcp --permanent
sudo firewall-cmd --reload

此时,Spark2.4.4单节点就已经部署完成。

 

赞(0) 打赏
未经允许不得转载:码农志 » Spark2.4.4单节点部署
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏