Spark的安装与集群配置

2018-08-07  本文已影响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目录下
hadoop202
hadoop203
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.eventLog.enabled     true
spark.eventLog.dir         hdfs://hadoop101:9000/directory
spark.eventLog.compress    true

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

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://hadoop101:9000/directory"
<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"
具体步骤:

六、配置Spark【Yarn】

<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>
HADOOP_CONF_DIR=/opt/hadoop/hadoop-2.7.3/etc/hadoop
YARN_CONF_DIR=/opt/hadoop/hadoop-2.7.3/etc/hadoop
上一篇 下一篇

猜你喜欢

热点阅读