请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

thriftserver停止

描述:我是win环境,将代码打包后放到spark-submit使用local运行成功后,从beeline窗口发现beeline已经closed了,jps发现SparkSubmit已经没了,重新启动thriftserver后进入beeline可以看到表已经正确保存。
一开始以为是代码spark.stop()会将thriftserver关闭,于是把代码中的stop()去掉,重跑了一次jar,发现跑完后thriftserver依然会停止(运行完jar后JPS查看SparkSubmit已经没有了)。

问题:请问老师,thriftserver不是长服务吗?是什么导致它停止的呢?
图片描述

正在回答 回答被采纳积分+3

插入代码

1回答

Michael_PK 2020-07-22 18:13:23

你的代码是什么?beeline启动之前务必是要保证thriftserver启动成功,你要是thrift都没启动肯定连不上。而且thrift也不是通过代码起的,而是脚本启动的,要是thrift进程挂了,那么就去查thrift对应的日志到底发生了什么

0 回复 有任何疑惑可以回复我~
  • 提问者 某不入流码农 #1
    val spark = SparkSession.builder()
          .enableHiveSupport() //开启hive支持
          .getOrCreate()
    
        import spark.implicits._
    
        val jdbcDF = spark.read
          .format("jdbc")
          .option("url", "jdbc:mysql://xxx:3306")
          .option("dbtable", "spark.t_emp")
          .option("user", "xxx")
          .option("password", "xxx")
          .load()
    
        val valueDF = jdbcDF.filter($"salary" > 10000)
    
        valueDF.write.saveAsTable("t_emp_hive")
        
        spark.stop()
    回复 有任何疑惑可以回复我~ 2020-07-22 18:25:28
  • Michael_PK 回复 提问者 某不入流码农 #2
    你这代码只是普通的不能再普通的作业呢,和thrift没有半毛钱关系。只有启动thrift后beeline才能连得上呢
    回复 有任何疑惑可以回复我~ 2020-07-22 18:27:38
  • 提问者 某不入流码农 #3
    在执行代码前thrift是已经启动的,beeline窗口也可以正常操作,但是跑完jar后,thrift进程就没了,beeline也断开了,我的服务器在跑jar的时候,有几次失败了,提示jvm没有足够的内存支持继续运行,是不是这个原因导致的呢?
    回复 有任何疑惑可以回复我~ 2020-07-22 18:28:39
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号