/ 城寒 / Spark - Install Standalone

Spark - Install Standalone

2018-01-27 posted in [Spark]

准备工作

修改配置

如果是编译好的版本,直接解压,修改conf文件夹下的配置文件,比如: spark-env.sh

export SPARK_MASTER_IP=[master ip]
export SPARK_MASTER_PORT=7077

slave:添加从节点host或者IP core-site.xml:修改HDFS相关配置

<property>
    <name>hadoop.job.ugi</name>
    <value>用户名,密码</value>
    <!-- 需要替换 -->
</property>
<property>
    <name>fs.default.name</name>
    <value>hdfs://host.ip:54310</value>
    <!-- 有权限的hdfs服务地址 -->
</property>

配置文件说明

Spark 2.x 系列中,针对配置文件做了一下修改,不在使用hadoop-site.xml文件,采用 hdfs-site.xmlmapred-site.xml代替

名称 作用 备注
Spark相关    
core-site.xml Spark主要的配置,包括读写hadoop相关的配置,安全配置,权限和其他控制等 全局作用域
spark-defaults.conf Spark默认配置,包括运行方式、端口、日志和包等信息 优先级最低,代码写死 > 提交时的额外配置 > default
spark-env.sh Spark任务启动前执行,添加各种环境变量,文件中有详细的说明 可以不配置
HDFS相关    
hdfs-site.xml 在Spark的配置中,只需要添加一些读写hdfs的配置 在hadoop或者hdfs client中需要详细
mapred-site.xml 填写job tracker地址  
hive-site.xml hive相关配置 如果没有使用则不用配置
其他    
yarn-site.xml 集群节点服务器地址  
log4j.properties 控制本地或者集群日志的输出情况 控制集群日志时,需要通过 –files 提交该文件
HDFS/Hadoop 配置    
hadoop-site.xml 等于上边core-site.xml中hadoop部分和HDFS相关配置的组合 需要能成功执行 hadoop fs -ls 或hdfs dfs -ls

程序部署

Spark程序直接复制到其他几台机器上即可 然后执行sh $HADOOP_HOME/sbin/start-all.sh启动即可

需要注意的是,每个节点的HDFS Client都要正常才可以

任务提交

./bin/spark-submit \
    --class org.apache.spark.examples.SparkPi\
    --master yarn \
    --num-executors 3 \
    --driver-memory 4g \
    --executor-memory 2g \
    --executor-cores 1 \
    --driver-class-path jars/spark-yarn_2.11-2.1.0.2.jar \
examples/jars/spark-examples*.jar 10

可以在 sprak_host:8080 查看集群和任务状态

遇到的问题