ToB企服应用市场:ToB评测及商务社交产业平台

标题: Spark环境搭建及Spark shell [打印本页]

作者: 熊熊出没    时间: 2023-6-27 20:59
标题: Spark环境搭建及Spark shell
StandAlone模式环境搭建

环境准备:三台Linux,一个安装Master,其他两台机器安装Worker

  1. tar -zxvf spark-3.2.3-bin-hadoop3.2.tgz -C /opt/apps
复制代码
  1. export JAVA_HOME=/usr/local/jdk1.8.0_251/
  2. export SPARK_MASTER_HOST=linux01
复制代码
  1. linux02
  2. linux03
复制代码
  1. for i in {2..3}; do scp -r spark-3.2.3-bin-hadoop3.2 linux0$i:$PWD; done
复制代码
启动Spark集群

  1. sbin/start-all.sh
复制代码
  1. jps
复制代码
在ndoe-1上可以看见Master进程,在其他的节点上可以看见到Worker进程
一些重要参数
  1. export SPARK_WORKER_CORES=4    #指定worker可用的逻辑核数
  2. export SPARK_WORKER_MEMORY=2g  #指定worker可用的内存大小
复制代码
standalone模式高可用部署

spark的standalone模式可以启动两个以上的Master,但是需要依赖zookeeper进行协调,所有的节点启动后,都向zk注册

修改配置文件spark-env.sh
  1. # 注释掉master的地址,所有节点都先连接zookeeper
  2. # export SPARK_MASTER_HOST=linux01
  3. export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=linux01:2181,linux02:2181,linux03:2181 -Dspark.deploy.zookeeper.dir=/spark"
复制代码
启动Spark Shell编程

spark shell是spark中的交互式命令行客户端,可以在spark shell中使用scala编写spark程序,启动后默认已经创建了SparkContext,别名为sc
  1. /opt/apps/spark-3.2.3-bin-hadoop3.2/bin/spark-shell \
  2. --master spark://linux01:7077 --executor-memory 1g \
  3. --total-executor-cores 3
复制代码
如果Master配置了HA高可用,需要指定两个Master(因为这两个Master任意一个都可能是Active状态)
  1. /bigdata/spark-3.2.3-bin-hadoop3.2/bin/spark-shell \
  2. --master spark://linux01:7077,linux02:7077 \
  3. --executor-memory 1g \
  4. --total-executor-cores 3
复制代码
参数说明:
--master 指定masterd地址和端口,协议为spark://,端口是RPC的通信端口
--executor-memory 指定每一个executor的使用的内存大小
--total-executor-cores指定整个application总共使用了cores
在shell中编写第一个spark程序
  1. sc.textFile("hdfs://linux01:9000/words.txt").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).sortBy(_._2,false).saveAsTextFile("hdfs://linux01:9000/out")
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4