续上一篇Spark as a Service之jobServer部署使用开发者模式来测试,本文正式部署并使用jobserver,当前版本有很多BUG和不完善的地方,期待后续的版本修复。
部署
复制config/local.sh.template到local.sh ,并且设置相关参数。 可以在多个主机上配置jobserver,并指定安装路径,Spark Home, Spark Conf等参数。
1 2 3 4 5 6 7 8 9 10 11 |
cd /root/spark-jobserver/config cp local.sh.template local.sh vim local.sh DEPLOY_HOSTS="hdp01" APP_USER=spark APP_GROUP=spark INSTALL_DIR=/var/lib/spark LOG_DIR=/var/lib/spark/log PIDFILE=spark-jobserver.pid SPARK_HOME=/usr/lib/spark SPARK_CONF_HOME=/etc/spark/conf |
然后修改project/Dependencies.scala,修改spark依赖的版本(修改为1.1.0会报错,可能是akka版本匹配的问题),否则会出现一些API找不到的情况。(参考:https://github.com/ooyala/spark-jobserver/issues/29)
将其中
1 2 |
lazy val sparkDeps = Seq( "org.apache.spark" %% "spark-core" % "1.0.0" ...... |
此处一定修改为当前spark的版本。
部署jobserver,需要漫长的等待。这个过程如果没有配置SSH互信,还需要输入操作系统用户的密码。为了方面部署,先创建一个key并复制到spark用户中。
1 2 3 4 5 6 |
ssh-keygen -t rsa ssh-copy-id spark@hdp01 cp local.sh /root/spark-jobserver/bin/config/ /root/spark-jobserver/bin/server_deploy.sh local ....... cp /root/spark-jobserver/config/local.conf /var/lib/spark/ |
部署完成后,在INSTALL_DIR下可以看到相关文件
1 2 |
ls log log4j-server.properties server_start.sh server_stop.sh settings.sh spark-job-server.jar |
启动JobServer
进入服务器指定目录,运行server_start.sh
需要把config下的local.conf复制到INSTALL_DIR下面,改名为local.conf,并修改其中的master以及两个路径。
1 2 |
jar-store-rootdir = /var/lib/spark/jars rootdir = /var/lib/spark/filedao |
完成后可以启动jobServer,并执行测试。
1 2 3 4 5 6 7 8 9 10 |
SHELL> ./server_start.sh SHELL> curl --data-binary @job-server-tests-0.4.0.jar localhost:8090/jars/test SHELL> curl -d "input.string = hello job server" 'hdp01:8090/jobs?appName=test&classPath=spark.jobrver.WordCountExample' { "status": "STARTED", "result": { "jobId": "e20162ce-f710-4665-896c-3dd6c04a02a9", "context": "e2fa0372-spark.jobserver.WordCountExample" } } |
修改为1.4.1会报错,可能是akka版本匹配的问题? 有解决办法吗?
不是很清楚啊。
同问akka-app/*:update) sbt.ResolveException: unresolved dependency: org.scalacheck#scalacheck_2.10;1.11.3: not found
在build.sbt中添加对应的版本依赖试试。
[ncms@cms-241 spark-jobserver-master]$ curl –data-binary @job-server-tests_2.10.jar localhost:8090/jars/test
curl: (7) couldn’t connect to host
要保证你的localhost:8090或者cms-241:8090可以访问才可以哦~~使用nc来测试下。
localhost:8090不能访问是什么原因呢?jobserver启动正常,我检查了防火墙,并且添加了8090端口,还是不能访问
[ncms@cms-241 spark-jobserver-master]$ curl –data-binary @job-server-tests_2.10.jar cms-241:8090/jars/test
curl: (7) couldn’t connect to host
这个更刺j激,准备好手纸哦 A 片。。 http://T.CN/RcWeTaH
万 c部 A 片 高c清 国产.日韩 http://www.288D.pW
精彩大片你懂,htTP://uVU.Cc/ijW6
精彩大片你懂,htTP://uVU.Cc/ijW6
图片这货不是蜥蜴人,这不科学啊,鼻孔都赶上尔康了,扎眼一看我还以为是霸王龙呢!
想起了以前家里电视只有几个当地台 为了搜出频道看宠物小精灵 整整调了一天