1 Star 0 Fork 18

落泉之竹 / Spark-Autotuning

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Spark-Autotuning

Apache Spark是一个流行的开源的分布式数据处理平台,它使用分布式内存抽象模型来对分布在集群内存中的数据进行高效地处理。 Apache Spark的性能表现受到配置参数的影响,这些参数的调优往往由人力完成,然而不适当的参数配置可能严重地降低系统的性能表现。 本工具能够根据历史记录自动调整Apache spark的参数设置

软件架构说明

.
├── conf
│   ├── HIT_tiny_cluster_SearchDistrict.json
│   └── netWorkConf.json
├── LICENSE
├── historyDataWhenDBnotAvaliable
│   ├── Application_Record_418aad6c2653113c77fc9eae20f15af8_cn.ac.ict.bigdatabench.Sort.data
│   ├── Application_Record_464af204c579b99b3665667fc2a82611_KmeansAppJava.data
│   ├── Application_Record_96b59fd590cd7eda7ab0481505b62e89_src.main.scala.pagerankApp.data
│   └── Application_Record_f997016922b609ede885f609f1f3d484_LogisticRegression.src.main.java.LogisticRegressionApp.data
├── PythonFiles
│   ├── daemon_fromDB.py
│   ├── daemon_from_File2.py
│   ├── dataFileReader.py
│   ├── DBReader.py
│   ├── MLModels.py
│   ├── trainModelFromData2_only_use_SVM.py
│   ├── trainModelFromData2.py
│   └── trainModelFromDB.py
└── src
    ├── confs
    │   ├── DataType.java
    │   ├── ParameterGroup.java
    │   └── SingleParameter.java
    ├── fetcher
    │   ├── APIFetcher.java
    │   ├── HTTPWebFetcher.java
    │   ├── RDDInfo.java
    │   ├── RunRecord.java
    │   ├── SparkConfiguration.java
    │   ├── StageInfo.java
    │   └── TaskInfo.java
    ├── FileIO
    │   └── OutPutFile.java
    ├── gradientDescent
    ├── graybox
    │   ├── CallPythonWindows.java
    │   ├── GrayBoxConf.java
    │   ├── ParameterDistrict.java
    │   └── ParameterSearch.java
    ├── huristic
    │   ├── Estimator.java
    │   ├── HuristicConf.java
    │   ├── StandAloneResourceEstimator.java
    │   ├── yarnResourceEstimator.java
    │   └── zlocal_test.java
    ├── mysql
    │   ├── DataFile.java
    │   └── DB.java
    ├── others
    │   ├── DataType.java
    │   └── Global.java
    ├── shellInterface
    │   ├── LinuxShell.java
    │   ├── OSinfo.java
    │   ├── OSType.java
    │   ├── Temp.java
    │   └── UserSubmitInterface_test.java
    └── tools
        └── DummyRecordGen_test.java

环境要求

JDK 1.8.0 Hadoop:2.7.0 Spark :2.1.0 (on yarn 模式) Python 2.7.0 请确保python已经安装以下版本的包 MySQL-python 1.2.5
numpy 1.13.1
Pillow 4.2.1
scikit-learn 0.18.2
scipy 0.19.1

安装

  1. 本工具需要在已经安装Apache spark 的环境下进行工作,在Apache Spark安装完成后,需要开启Spark历史服务器,并在配置文件中配置历史服务器对应地址。
  2. 将java源代码打成编译为jar包之后,放在工程根目录下即可

使用说明

  1. 命令格式: java -jar 编译得到的jar包名.jar + spark 命令
Java -jar Spark-tune-submit.jar [options]  <app jar | python file>  [app arguments]
参数字段 描述 其他
Spark-tune-submit.jar 优化模块程序包
[options] Spark原生系统的选项,如参数,运行模式等 可选
<app jar 或 python file> 用户向系统提交的可执行文件,可以是jar包或python 脚本。 需要使用绝对路径
[app arguments] 用户提交的jar包或者python 脚本的输入参数。 可选

示例

  1. 根据不同的历史数据积累情况,以及用户的选择,本工具将采用不同的优化模式进行调优,用户可以拒绝对应用进行优化。

配置文件

  1. 主要配置文件
  2. 配置参数搜索空间
  3. 部分配置由于没有什么改动的需求,直接使用硬编码方式,如需调整可以在编译前修改

目前还有部分代码因为论文原因没有全部上传

MIT License Copyright (c) 2019 苏文昌 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Apache Spark的性能表现受到配置参数的影响,这些参数的调优往往由人力完成,然而不适当的参数配置可能严重地降低系统的性能表现。 本工具能够根据历史记录自动调整Apache spark的参数设置 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/jiyulong/Spark-Autotuning.git
git@gitee.com:jiyulong/Spark-Autotuning.git
jiyulong
Spark-Autotuning
Spark-Autotuning
master

搜索帮助