美文网首页
Spark的安装与集群配置

Spark的安装与集群配置

作者: 静宸丶水默含声 | 来源:发表于2018-08-07 16:16 被阅读19次

一、spark的安装

Spark安装包下载地址:http://spark.apache.org/downloads.html

1.安装jdk,并配置jdk环境变量
2.解压缩
tar -xf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/module/
3.修改文件夹
mv spark-2.1.1-bin-hadoop2.7/ spark-2.1.1

二、配置Spark【Standalone】

1.进入spark-2.1.1/conf目录下
  • 将slaves.template复制为slaves
  • 将spark-env.sh.template复制为spark-env.sh
  • 修改slave文件,将work的hostname输入:
hadoop202
hadoop203
  • 修改spark-env.sh文件,添加如下配置:
SPARK_MASTER_HOST=hadoop201
SPARK_MASTER_PORT=7077
2.进入sbin目录,修改spark-config.sh
export JAVA_HOME=/opt/module/jdk1.7.0_79
3.同步所有集群的其他节点配置
xsync.sh /opt/module/spark-2.1.1/conf/
xsync.sh /opt/module/spark-2.1.1/sbin/spark-config.sh

三、操作spark

1.启动和停止spark
sbin/start-all.sh
停止spark
sbin/stop-all.sh
2.访问spark集群
  • 命令行操作
bin/spark-shell  --master spark://hadoop201:7077
# 或者
/opt/module/spark-2.1.1/bin/spark-shell \
--master spark://hadoop201:7077 \
--executor-memory 2g \
--total-executor-cores 2
bin/spark-submit

例如:

# 利用蒙特卡罗算法求PI
/opt/module/spark-2.1.1/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop201:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
/opt/module/spark-2.1.1/examples/jars/spark-examples_2.11-2.1.1.jar \
100

四、配置Job History Server【Standalone】

  • 将spark-default.conf.template复制为spark-default.conf
    修改spark-default.conf文件,开启Log:
spark.eventLog.enabled     true
spark.eventLog.dir         hdfs://hadoop101:9000/directory
spark.eventLog.compress    true

【注意:HDFS上的目录需要提前存在】

  • 修改spark-env.sh文件,添加如下配置:
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://hadoop101:9000/directory"
  • 注意:如果遇到Hadoop HDFS的写入权限问题:org.apache.hadoop.security.AccessControlException
    解决方案: 在hdfs-site.xml中添加如下配置,关闭权限验证
<property>
           <name>dfs.permissions</name>
           <value>false</value>
</property>  

五、配置Spark HA【Standalone】

集群部署完了,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠.

  • Spark集群规划:master01,master02是Master;slave01,slave02,slave03是Worker
  • 安装配置Zookeeper集群,并启动Zookeeper集群
  • 停止spark所有服务,修改配置文件spark-env.sh,在该配置文件中删掉SPARK_MASTER_IP并添加如下配置:
export SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1,zk2,zk3 -Dspark.deploy.zookeeper.dir=/spark"
具体步骤:
  • 1.在 master01节点上修改spark-env.sh配置文件
  • 2.将配置文件同步到所有节点。
  • 3.在master01上执行sbin/start-all.sh脚本,启动集群并启动第一个master节点,然后在master02上执行sbin/start-master.sh启动第二个master节点。
  • 4.程序中spark集群的访问地址需要改成:spark://master01:port1,master02:port2

六、配置Spark【Yarn】

  • 修改Hadoop配置下的yarn-site.xml:
<configuration>
<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master01</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
        <property>
                <name>yarn.nodemanager.pmem-check-enabled</name>
                <value>false</value>
        </property>
        <!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
        <property>
                <name>yarn.nodemanager.vmem-check-enabled</name>
                <value>false</value>
        </property>
</configuration>
  • 修改Spark-env.sh 添加:
HADOOP_CONF_DIR=/opt/hadoop/hadoop-2.7.3/etc/hadoop
YARN_CONF_DIR=/opt/hadoop/hadoop-2.7.3/etc/hadoop

相关文章

网友评论

      本文标题:Spark的安装与集群配置

      本文链接:https://www.haomeiwen.com/subject/xyhhvftx.html