spark-jobserver安裝實踐 (centos7.4)

spark-jobserver 提供了一個RESTful接口來提交和管理spark的jobs,jars和job contexts。html

該工程位於:https://github.com/spark-jobserver/spark-jobserverjava

特性:node

  • 針對job 和 contexts的各個方面提供了REST風格的api接口進行管理
  • 支持SparkSQL,Hive,Streaming Contexts/jobs 以及定製job contexts!
  • 支持壓秒級別低延遲的任務經過長期運行的job contexts
  • 能夠經過結束context來中止運行的做業(job)
  • 分割jar上傳步驟以提升job的啓動
  • 異步和同步的job API,其中同步API對低延時做業很是有效
  • 支持Standalone Spark和Mesos
  • Job和jar信息經過一個可插拔的DAO接口來持久化
  • 命名RDD以緩存,並能夠經過該名稱獲取RDD。這樣能夠提升做業間RDD的共享和重用
  • 支持scala 2.10 和 2.11 和2.12
當前部署環境:
    1.java:1.8.0
    2.scala:2.12.6
  3.spark:2.3.1
  4.sbt:1.2.* 
    5.jobserver  github最新版本 brench:master               
 
java(jdk)安裝:
      jdk下載地址:連接:https://pan.baidu.com/s/1Gtrr-X4NkSJGsd6P_XZzpQ  密碼:s09p
      mkdir /usr/local/java
  tar xf jdk-8u191-linux-x64.tar -C /usr/local/java
      添加環境變量  vim /etc/profile  在最後添加
      

  export JAVA_HOME=/usr/local/java/jdk1.8.0_191
  export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
  export PATH=$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATHmysql

  使配置文件生效linux

  source /etc/profile  或 . /etc/profilegit

  驗證是否成功github

  java -versionsql

  

scala安裝:shell

   下載源碼包:   數據庫

  wget https://downloads.lightbend.com/scala/2.12.6/scala-2.12.6.tgz

    建立安裝目錄:

  mkdir /usr/local/scala

  解壓:

  tar -zxf scala-2.12.6.tgz -C  /usr/local/scala/

  添加環境變量:vim /etc/profile 在最後添加

   

  export SCALA_HOME=/usr/local/scala/scala-2.12.6
  export PATH=$PATH:$SCALA_HOME/bin

  使配置生效:

  source /etc/profile  或 . /etc/profile

  驗證是否成功:

  scala -version

  

spark安裝:

  下載安裝包:wget https://archive.apache.org/dist/spark/spark-2.3.1/spark-2.3.1-bin-hadoop2.6.tgz

  建立安裝目錄:

  mkdir /usr/local/spark

  解壓安裝包:

  tar -xzvf spark-2.3.1-bin-hadoop2.6.tgz  -C /usr/local/spark/

  設置環境變量:vim /etc/profile 在最後添加

  

  export SPARK_HOME=/usr/local/spark/spark-2.3.1-bin-hadoop2.6

  export PATH=$PATH:$SPARK_HOME/bin

  使配置生效:

  source /etc/profile  或 . /etc/profile

  修改配置:

  cd  /usr/local/spark/spark-2.3.1-bin-hadoop2.6/conf/

  cp spark-env.sh.template  spark-env.sh

  vim spark-env.sh

  

  export JAVA_HOME=/usr/local/java/jdk1.8.0_191
  export SCALA_HOME=/usr/local/scala/scala-2.12.6
  #export HADOOP_HOME=/usr/local/spark/hadoop-2.6.0-cdh5.9.3
  #export HADOOP_CONF_DIR=/root/yao/hadoop-2.6.0-cdh5.9.3/etc/hadoop
  export SPARK_MASTER_IP=iz2ze1xr636ein1xa7qq3rz
  export SPARK_WORKER_MEMORY=60g
  export SPARK_WORKER_CORES=6

  

  *spark 爲單節點 

  cp slaves.template  slaves 

  

  

  啓動spark 

  sh ./sbin/start-all.sh  或者

  sh /bin/spark-shell.sh 

  

  驗證是否成功:

  spark-shell

  

  

  jps查看

  

 

  瀏覽器查看

  ip:8080

 

sbt安裝:

  下載yum源repo:

  curl https://bintray.com/sbt/rpm/rpm > /etc/yum.repos.d/bintray-sbt-rpm.repo

  安裝sbt:

  yum install sbt -y

  驗證安裝是否成功:

  

 

spark-jobserver安裝:

  1)安裝mysql 版本不限 當前使用版本爲mysql5.6 

  查看已安裝的 Mariadb 數據庫版本並卸載:

     rpm -qa|grep mariadb|xargs rpm -e --nodeps

  下載安裝包:

  wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

  安裝mysql-community-release-el7-5.noarch.rpm包:

  rpm -ivh mysql-community-release-el7-5.noarch.rpm

  安裝完成以後,會在 /etc/yum.repos.d/ 目錄下新增 mysql-community.repo 、mysql-community-source.repo 兩個 yum 源文件

  安裝mysql :

  yum install mysql-server

  啓動msyql:

  systemctl start mysqld.service #啓動 mysql
  systemctl restart mysqld.service #重啓 mysql
  systemctl stop mysqld.service #中止 mysql
  systemctl enable mysqld.service #設置 mysql 開機啓動

  設置密碼:

  mysql5.6 安裝完成後,它的  root 用戶的密碼默認是空的,咱們須要及時用 mysql 的 root 用戶登陸(第一次直接回車,不用輸入密碼),並修改密碼。

  # mysql -u root
  mysql> use mysql;
  mysql> update user set password=PASSWORD("這裏輸入root用戶密碼") where User='root';
  mysql> flush privileges;

    建立spark-jobserver數據庫

  mysql>create database spark_jobserver;

  mysql>grant all privileges on *.* to root@'%'  identified by '123456';

  mysql> flush privileges;

  2)安裝jobserver

  官方文檔:https://github.com/spark-jobserver/spark-jobserver  

  clone jobserver源代碼:

  cd  /usr/local/spark/spark-2.3.1-bin-hadoop2.6/

  git clone https://github.com/spark-jobserver/spark-jobserver.git

  修改配置:

  cd /usr/local/spark/spark-2.3.1-bin-hadoop2.6/spark-jobserver/job-server/config/

  cp local.conf.template local.conf

  cp local.sh.template local.sh

  cp shiro.ini.basic.template shiro.ini

  修改local.conf  修改內容以下:

  

 

  

   

 

  local.sh :修改屬性
  

    修改配置文件application.conf:

  vim /usr/local/spark/spark-2.3.1-bin-hadoop2.6/spark-jobserver/job-server/src/main/resources/application.conf

  

  修改心跳檢測超時時間爲30s

  

 

  vim  /usr/local/spark/spark-2.3.1-bin-hadoop2.6/spark-jobserver/config/local.conf

  在結尾添加

  

  

  spray.can.server {
  parsing.max-content-length = 150m
  idle-timeout = 400s
  request-timeout = 300s
  }

  上傳jar包大小限制配置,大小自定義

  

  打包配置:

  cd  /usr/local/spark/spark-2.3.1-bin-hadoop2.6/spark-jobserver/bin/

  sh server_deploy.sh local 

  

  啓動jobserver:

  cd ..

  sh server_start.sh

  

  驗證啓動是否成功:

  

 

上傳jar包時,可能會出現以下問題

1) jar包大小限制問題

    

 

解決方法:vim /etc/my.cnf   添加max_allowed_packet=80M  添加後重啓mysql服務

    

 

2)innodb_log_file_size大小問題 

  

 解決方法:vim /etc/my.cnf     添加innodb_log_file_size=600M      添加後重啓mysql服務

  

 

 3)健康檢測超時時間問題

  

解決方法: vim  /usr/local/spark/spark-2.3.1-bin-hadoop2.6/spark-jobserver/job-server/src/main/resources/application.conf

  

 

修改failure-detector.acceptable-heartbeat-pause = 30s 

問題解決 :jar包成功上傳!

 

  

 

 

完成~

  若有問題歡迎加入qq羣討論 羣號:340939208

相關文章
相關標籤/搜索