一、搭建1、解压tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module cd /opt/module mv spark-3.0.0-bin-hadoop3.2 spark-local2、local环境bin/spark-shell http://bigdata:4040 1、本地提交作业bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[2] ./examples/jars/spark-examples_2.12-3.0.0.jar 103、Standalone环境1、 修改slaves.template文件名为slavesbigdata2、修改spark-env.sh.template文件名为spark-env.shexport JAVA_HOME=/opt/module/jdk1.8.0_212 SPARK_MASTER_HOST=bigdata SPARK_MASTER_PORT=70773、启动集群sbin/start-all.sh4、查看UI界面 http://bigdata:8080 5、提交作业bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://bigdata:7077 ./examples/jars/spark-examples_2.12-3.0.0.jar 106、配置历史服务 1) 修改spark-defaults.conf.template文件名为spark-defaults.conf mv spark-defaults.conf.template spark-defaults.conf 2) 修改spark-default.conf文件,配置日志存储路径 spark.eventLog.enabled true spark.eventLog.dir hdfs://linux1:8020/directory 注意:需要启动hadoop集群,HDFS上的directory目录需要提前存在。 sbin/start-dfs.sh hadoop fs -mkdir /directory 3) 修改spark-env.sh文件, 添加日志配置 export SPARK_HISTORY_OPTS=" -Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://linux1:8020/directory -Dspark.history.retainedApplications=30" 4)启动集群和历史服务 sbin/start-all.sh sbin/start-history-server.sh 5)提交任务 bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://bigdata:7077 ./examples/jars/spark-examples_2.12-3.0.0.jar 10 6) 查看历史服务:http://bigdata:18080 7) 配置高可用 条件:停止spark和启动zk vim park-env.sh 注释如下内容: #SPARK_MASTER_HOST=bigdata #SPARK_MASTER_PORT=7077 添加如下内容: #Master监控页面默认访问端口为8080,但是可能会和Zookeeper冲突,所以改成8989,也可以自定义,访问UI监控页面时请注意 SPARK_MASTER_WEBUI_PORT=8989 export SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=bigdata -Dspark.deploy.zookeeper.dir=/spark" 再启动集群 sbin/start-all.sh sbin/start-master.sh 提交job bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://bigdata:7077 ./examples/jars/spark-examples_2.12-3.0.0.jar 104、yarn模式1、修改yarn-site.xmlyarn.nodemanager.pmem-check-enabled false 2、修改spark-env.shcd /opt/module/spark-local/conf mv spark-env.sh.template spark-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_212 YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop3、启动hdfs和yarn集群4、提交jobbin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster ./examples/jars/spark-examples_2.12-3.0.0.jar 105、配置历史服务器cp spark-defaults.conf.template spark-defaults.conf spark.eventLog.enabled true spark.eventLog.dir hdfs://bigdata:9820/spark-directory 注意:需要启动hadoop集群,HDFS上的目录需要提前存在。 hadoop fs -mkdir /spark-directory6、 修改spark-env.sh文件, 添加日志配置export SPARK_HISTORY_OPTS=" -Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://bigdata:9820/spark-directory -Dspark.history.retainedApplications=30"7、修改spark-defaults.confspark.yarn.historyServer.address=bigdata:18080 spark.history.ui.port=180808、重新提交jobbin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client ./examples/jars/spark-examples_2.12-3.0.0.jar 109、页面查看bigdata:808810、配置高可用vim /opt/module/spark-local/conf/spark-env.shSPARK_MASTER_WEBUI_PORT=8989 export SPARK_DAEMON_JAVA_OPTS=" -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=bigdata -Dspark.deploy.zookeeper.dir=/spark"cp slaves.template slaves vim slaves bigdata 注意:启动spark前,先启动zk,hdfs和yarn 5、启动脚本vim /home/bigdata/bin/mysparkservices.sh#!/bin/bash if [ $# -lt 1 ] then echo "Input Args Error....." exit fi for i in bigdata do case $1 in start) echo "==================START $i Spark集群===================" ssh $i /opt/module/spark-local/sbin/start-all.sh echo "==================START $i Spark历史服务器===================" ssh $i /opt/module/spark-local/sbin/start-history-server.sh echo "==================START $i Spark的thriftserver的hive2===================" ssh $i /opt/module/spark-local/sbin/start-thriftserver.sh ;; stop) echo "==================STOP $i Spark集群===================" ssh $i /opt/module/spark-local/sbin/stop-all.sh echo "==================STOP $i Spark历史服务器===================" ssh $i /opt/module/spark-local/sbin/stop-history-server.sh echo "==================STOP $i Spark的thriftserver的hive2===================" ssh $i /opt/module/spark-local/sbin/stop-thriftserver.sh ;; *) echo "Input Args Error....." exit ;; esac done#授权 chmod +x mysparkservices.sh #启动 sh mysparkservices.sh start #关闭 sh mysparkservices.sh stop6、hive on saprk1、环境准备启动hive metastore hive --service metastore 2 >&1 >> /opt/module/hive/logs/metastore.log & 启动spark thriftserver注意:相当于启动hive2 sh /opt/module/spark-local/sbin/start-thriftserver.sh 2、搭建1、复制hive-site.xml到Spark的conf目录cp /opt/module/hive/conf/hive-site.xml /opt/module/spark-local/conf 编辑Spark的conf目录下的hive-site.xml配置文件,开启动态分区 vim /opt/module/spark-local/conf/hive-site.xml 增加以下属性 yarn.nodemanager.vmem-check-enabled false 2、在/opt/module/spark/jars目录下增加mysql驱动和lzo依赖cp /opt/module/hive/lib/mysql-connector-java-5.1.37.jar cp /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar /opt/module/spark/jars/3、配置spark-default.conf#指定Spark master为yarn spark.master=yarn #是否记录Spark任务日志 spark.eventLog.enabled=true #Spark任务日志的存储路径 spark.eventLog.dir=hdfs://bigdata:9820/spark_historylog #Spark历史服务器地址 spark.yarn.historyServer.address=bigdata:18080 #Spark历史服务器读取历史任务日志的路径 spark.history.fs.logDirectory=hdfs://bigdata:9820/spark_historylog #开启Spark-sql自适应优化 spark.sql.adaptive.enabled=true #开启Spark-sql中Reduce阶段分区数自适应 spark.sql.adaptive.coalescePartitions.enabled=true #使用Hive提供的Parquet文件的序列化和反序列化工具,以兼容Hive spark.sql.hive.convertMetastoreParquet=false #使用老版的Parquet文件格式,以兼容Hive spark.sql.parquet.writeLegacyFormat=true #解决SPARK-21725问题 spark.hadoop.fs.hdfs.impl.disable.cache=true #降低Spark-sql中类型检查级别,兼容Hive spark.sql.storeAssignmentPolicy=LEGACY4、配置spark-env.shYARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop5、增加ApplicationMaster资源比例vim /opt/module/hadoop-3.1.3/etc/hadoop/capacity-scheduler.xml hive.exec.dynamic.partition.mode nonstrict yarn.scheduler.capacity.maximum-am-resource-percent 0.8
新款MacBook系列将拥有OLED屏幕和多彩外观据消息显示,苹果的屏幕供应商三星已经在准备开始供应MacBookPro的OLED材质屏幕,目前在生产线初级阶段。这代表新款的MacBookPro将会舍弃LCD屏幕转而采用更加昂贵的一篇文章带你深度解析Python线程和进程使用Python中的线程模块,能够同时运行程序的不同部分,并简化设计。如果你已经入门Python,并且想用线程来提升程序运行速度的话,希望这篇教程会对你有所帮助。线程与进程什么是进RedmiK50系列曝光骁龙8981亿像素主摄加持今年3月,小米发布了RedmiK40系列机型,包含K40K40Pro和K40Pro三个版本,自上市之后便饱受好评,是目前K系列最受欢迎的产品。随着下半年旺季的到来,不少消费者正期待5G制造业应用迅速扩大日本地方政府盼压低专网建设门槛作者范仁志急于在东京奥运展示5G技术服务的日本政府,从2019年12月起开放5G专网(Local5G)执照申请,到奥运开幕时已有近60家机关行号取得执照,应用事业已经在制造业快速扩美国网友中国5G技术跟美国比怎么样?看看在美国的日本人怎么讲在人类的不懈努力下,不断地创造出更多的新奇科技,我们的生活水平也得到了极大的提升。甚至很多时候,科技产品更新迭代的速度让我们根本反应不过来。很多电子产品更新换代的速度也就几个月的时如何看待小米向小米手机1首批用户发放1999元红包?问如何看待小米向小米手机1首批用户发放1999元红包?解本次活动中可领取红包的用户仅限于在2011年9月1日000000至2011年12月17日235959之间在小米网(请您翻看订三星拉响了警报声韩国的三星大厦(图片来自网络)三星电子近来有些不淡定。前不久出炉的全球第二季度的智能手机业绩显示,中国的小米手机的出货量,与排名第一的三星手机仅差一个百分点,已经将头顶在了三星的下780元起!诺基亚新机发布真会有人买?昨天,诺基亚在印度发布了一款手机,命名为C20Plus,这款手机是诺基亚与Jio独家合作的产品,将在印度本地销售。不过这款手机早在今年6月份就在国内发售过,售价为699元起,参数方运营商做自主品牌5G手机,为何选择联发科?今年6月,中国移动发布了全新的自主终端品牌NZONE,并同步推出了第一款5G手机NZONES7Pro5G。这款手机为年轻用户打造,其中一大亮点就是采用了联发科天玑720移动芯片,5小米MIX4骁龙888陶瓷机身最全售价来了昨天晚上小米的创始人雷军天在发布会上面展示了自己演讲。同时也是进行发布了小米全新的旗舰手机。这款小米新旗舰手机,也是让不少的米粉比较期待的。毕竟此前的消息爆料都已经出来了不少了。那百元内的宿舍音箱,让你悦耳起来平常的待在宿舍,我们往往会选择听听音乐,陶冶下心绪,让自己放松一下。说到宿舍听音乐,自然缺少不了工具,音箱,作为我们常用的产品,往往属于不可忽视的存在。我们挑选音箱的时候,除了会考