spark集群安装部署测试(高可用)
1、下载解压安装包
官网:http://spark.apache.org/downloads.html
2、修改配置文件在conf目录下
salves.template spark-env.sh.template
mv salves.template salves
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
export JAVA_HOME=/bigdata/jdk1.8
export SPARK_MASTER_HOST=spark01
export SPARK_MASTER_PORT=7077
vi salves
从节点
3、将安装包传到其他节点并启动
通过 scp 指令传文件
启动脚本在sbin目录下
start-all.sh 启动所有
start-master.sh 启动主节点
管理界面 主节点ip:8080
4、高可用配置
vi spark-env.sh
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=spark01:2181,spark02:2181,spark03:2181 -Dspark.deploy.zookeeper.dir=/spark"
#指定工作的内核数,内存大小
export SPARK_WORKER_CORES=4
export SPARK_WORKER_MEMORY=1g
另一个master需要单独启动
5、运行一个spark自带的测试用例(求π)
bin/spark-submit --master spark://spark01:7077 --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.4.5.jar 100
定制化运行指定内核数和内存大小
bin/spark-submit --master spark://spark01:7077 --class org.apache.spark.examples.SparkPi –executor-memory 512mb –total-executor-cores 6 examples/jars/spark-examples_2.11-2.4.5.jar 100
–executor-memory 每个executor用多少内存
6、spark shell(交互式命令行,可以写spark程序,方便学习和测试,也是一个客户端,用于提交spark程序)
bin/spark-shell 没有指定master,用的是本地模式
bin/spark-shell --master spark://spark01:7077,spark02:7077 集群模式
7、Wordcount程序 sc(spark core)
sc.textFile(“hdfs://spark01:9000/wc”).flatMap(.split(" ")).map((, 1)).reduceByKey(+).collect
sc.textFile(“hdfs://spark01:9000/wc”).flatMap(.split(" ")).map((, 1)).reduceByKey(+).sortBy(_._2,false).collect 排序