一.介绍
集群安装模式:
独立 - 包含在Spark中的简单集群管理器,可以轻松设置集群。
Apache Mesos - 一个通用的集群管理器,也可以运行Hadoop MapReduce和服务应用程序。
Hadoop YARN - Hadoop 2中的资源管理器。
本文是基于yarn的。
二.安装
1.安装前
hadoop和zookeeper的安装,请参考梦游攀山的csdn博客
2.spark
spark的目录下conf
spark-env.sh配置:
export SPARK_HOME=/mnt/hadoop/spark
export SCALA_HOME=/usr/local/scala-2.11.6
export JAVA_HOME=/usr/local/jdk1.7
export HADOOP_HOME=/mnt/hadoop/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_MASTER_IP=bigdata1
export SPARK_LOCAL_DIRS=/mnt/hadoop/hadoop
export SPARK_WORKER_MEMORY=1g
export SPARK_DRIVER_MEMORY=1g
export SPARK_MASTER_WEBUI_PORT=18080
export SPARK_LIBARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native
Spark Standalone HA 部署
– 基于文件系统的 HA
● spark.deploy.recoveryMode 设成 FILESYSTEM
● spark.deploy.recoveryDirectory Spark 保存恢复状态的目录
● Spark-env.sh 里对 SPARK_DAEMON_JAVA_OPTS 设置
● export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -D
spark.deploy.recoveryDirectory=/app/hadoop/spark100/recovery"
– 基于 zookeeper 的 HA
● spark.deploy.recoveryMode 设置成 ZOOKEEPER
● park.deploy.zookeeper.url ZooKeeper URL
● spark.deploy.zookeeper.dir ZooKeeper 保存恢复状态的目录,缺省为 /spark
● spark-env 里对 SPARK_DAEMON_JAVA_OPTS 设置
● export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Ds
park.deploy.zookeeper.url= bigdata1:2181, bigdata2:2181, bigdata3:2181 -Dspar
k.deploy.zookeeper.dir=/spark"
slaves配置:
bigdata1
bigdata2
bigdata3
spark-defaults.conf配置:
spark.executor.extraJavaOptions -XX: PrintGCDetails -Dkey=value -Dnumbers="one two three"
spark.eventLog.enabled true
spark.eventLog.dir hdfs://bigdata1:9000/historyserverforSpark
spark.yarn.historyServer.address bigdata1:18080
spark.history.fs.logDirectory hdfs://bigdata1:9000/historyserverforSpark
如果要Master的ha,可在其它节点运行sbin/start-master.sh
配置完毕运行sbin/start-all.sh
架构图:
运行spark-shell
spark-shell --master yarn-client --executor-memory 1G
总结:配置方面就这些了,如果配置spark on hive的话,得配置更多,麻烦,我本人并没有觉得这种形式下,hive的效率提高多大,不建议适用这种形式。
------------------------未完待续