记一次spark任务调优过程

  最近跑了一个spark任务(逻辑回归训练建模的),数据量是3000多万左右,在跑的过程中出现了各种错误,跑了8h左右,结果还是错了.最后下载了日志,分析之后,做了些修改,最终跑成功了,而且只用了0.8h,这里记录下:

1.maven打包失败问题:

    我的项目是用maven管理的,在打包时,因为之前的target没有删除干净,结果导致打包失败.改用如下命令后成功:

mvn clean install assembly:assembly

 

2.yarn集群时间同步问题

   集群主节点与从节点的时间不一致,导致失败,解决如下:

   新建一台ntp服务器,该服务器和yarn全部安装ntp和ntpdate: yum -y install ntp ntpdate 并开启服务,开启开机自启

  service ntpd start, chkconfig ntpd on

   a.ntp服务器配置

    vim /etc/ntp.conf(添加如下):

          server 210.72.145.44 perfer

          restrict 210.72.145.44 nomodify notrap noquery

          restrict 202.112.10.36 nomodify notrap noquery
          restrict 59.124.169.83 nomodify notrap noquery
          server 127.127.1.0
          fudge 127.127.1.0 stratum 10

 b.集群机器配置

   vim /etc/ntp.conf(添加如下, 192.168.0.111是ntp服务器ip):

    server 192.168.0.111
    estrict 192.168.0.111 nomodify notrap noquery

    server  127.127.1.0     # local clock
    fudge   127.127.1.0 stratum 10

 c.修改保存后,重启ntp服务,再同步时间: ntpdate -u 192.168.0.111, 之后可用date命令查看集群机器是否同步.

3.spark任务调优及各种timeout错误解决

a.任务提交脚本修改(添加如下):

        --conf spark.shuffle.consolidateFiles=true \
        --conf spark.speculation=true \
        --conf spark.task.maxFailures=8 \
        --conf spark.network.timeout=300 \
        --conf spark.yarn.max.executor.failures=100 \
        --conf spark.executor.heartbeatInterval=300 \
        --conf spark.sql.broadcastTimeout=300 \

 也可以在saprk-default.conf里面添加,不过它是全局的.如果yarm集群有多人用的话,还是设置自己的比较好(具体属性值,可自行百度)

b.集群全部机器(hadoop 2.6.1)yarn-site.xml修改:

        <property>
                <name>yarn.nodemanager.pmem-check-enabled</name>
                <value>false</value>
        </property>
        <property>
                <name>yarn.nodemanager.vmem-check-enabled</name>
                <value>false</value>
        </property>

保存后重启hadoop和yarn

c.spark(2.0.2)全部机器 spark-env.sh修改:

  export SPARK_MASTER_IP=master
  export SPARK_LOCAL_DIRS=/usr/local/src/spark-2.0.2-bin-hadoop2.6
  export SPARK_DRIVER_MEMORY=1G

保存后重启saprk

以上修改完毕后,跑spark任务就可以了

如上,记录完毕.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值