Centos6.4 安装Spark Job Server详解

来源:互联网 发布:怎么做好网络宣传 编辑:程序博客网 时间:2024/06/07 15:20

Centos6.4 安装Spark Job Server详解

为了让自己的spark运行结果可以给java web开发人员调用,搜寻了多个门路,找到了spark job server这个好东西。github上有详情:https://github.com/spark-jobserver/spark-jobserver/。主要特色还是context持久运行,快,restful api。好了下面就是坑爹的安装过程。

  1. 前期准备
    java1.8.0安装,参考http://www.linuxidc.com/Linux/2014-12/110211.htm
    spark1.6.0的安装,本人装的cdh5.12.1版本,直接添加spark服务即可。如果是spark原生,参考http://blog.csdn.net/nooneyanghuijava/article/details/51952828
    特别的sbt的安装

    1. 下载sbt,我们这里选择的是0.13.15,下载地址如下:
      https://github.com/sbt/sbt/releases/download/v0.13.15/sbt-0.13.15.tgz
    2. 解压到安装目录
      tar zxvf sbt-0.13.15.tgz -C /usr
    3. 修改/etc/profile,增加SBT_HOME,并加入path
      这里写图片描述
    4. 然后sbt -version,这个可能要耗时很久,因为从外国服务器上下载,一旦下载好了,可以看到版本信息。过程下载缓慢的问题,网上有多种解决方法,下面列出来三种
      首先:修改repositories为aliyun的源,此方法不知道在哪里修改,所以放弃使用
      其次:使用别人下载好的预装jar包就可以了,具体参考http://blog.csdn.net/chongxin1/article/details/76472898
      最后:过程中有包没有下载好,根据提示自己下载,下载的路径https://dl.bintray.com/typesafe/ivy-releases/org.scala-sbt/
      安装好之后可以在/root/.ivy2/cache目录下看到很多预装的jar包
  2. 利用sbt编译spark-jobserver
    首先下载spark-jobserver,与spark1.6.0对硬的版本没有,我就下载了一个0.6.2的,它其实是对应spark1.6.1的,我们暂且先用着。
    进入spark-jobserver的根目录,键入sbt命令,可以看到启动了一个0.13.11的sbt版本,又在缓慢的下载,但是不要慌,这个是正常的,不要终止,让它下载,下载完成之后提示切换到根目录,直接输入exit,调回主目录
    接着继续用sbt编译,sbt job-server-tests/package
    接着sbt
    最后restart
    要知道这些过程中会出现很多info,resolving,downloading,放置不管,让机器自己下载完成,过程中假如出现让你选择测试的例子,随便选一个,最后会报错,提示org.apache.spark中没有此内容,这种错误,可以直接忽略。最后在安装机器的8090端口,可以看到spark-jobserver的web ui,如图所示
    这里写图片描述
    !安装成功!

  3. 测试wordcount实例
    curl -data-binary @/software/spark-jobserver-jobserver-0.6.2-spark-1.6.1/job-server-tests/target/scala-2.10/job-server-tests_2.10-0.6.2.jar 192.168.77.154:8090/jars/test
    注:@后面是测试jar包的绝对路径,紧接着是主机地址与端口,端口后面是在jars目录,命名一个test的文件,命令成功之后在linux界面上出现ok字样,如图:
    这里写图片描述
    在web ui里面可以看到如下图:这里写图片描述
    接下来利用curl命令输入wordcount参数
    curl -d “input.string = a b c a b see” “master:8090/jobs?appName=test&classPath=spark.jobserver.WordCountExample”
    注:”input.string = a b c a b see”,是入参; master:8090/jobs,job地址;appName=test,程序名称;classPath,主函数地址
    最后wordcount的结果在linux查看,可见下图:
    这里写图片描述
    Web ui界面如下:
    这里写图片描述
    测试成功,至于怎么用,下回深究。
    ps1:可以参考youtube上的视频学习
    https://www.youtube.com/watch?v=JKKqAgNkHZk
    ps2:翻墙软件,亲测超级好用
    链接:http://pan.baidu.com/s/1pLJpCfT 密码:k2lq
原创粉丝点击