单机部署指南

以下为单机部署vega的指南:

  1. 推荐使用linux系统运行(windows系统在部分环节可能略有不同,需要自己摸索)

  2. 关于rust的版本,请选择 rust nightly ,具体版本请参考这里: 推荐rustup default stable(日常开发用稳定版),在vega目录下rustup override set nightly重载为nightly格式。

  3. 如果出现error: failed to run custom build command for openssl-sys v*`类似的错误,请按照提示下载openssl即可:

    # On Ubuntu
    sudo apt-get install libssl-dev
    # On Arch Linux
    sudo pacman -S openssl
    # On Fedora
    sudo dnf install openssl-devel

如果不能解决,可以参考错误提示,可能需要安装pkg-config:sudo apt-get install pkg-config

  1. 注意,Rust运行需要完整的编译环境,安装 GCC 或 Clang,Ubuntu 系统下可以通过安装 build-essential 包完成。如果出现error: failed to run custom build command for ccl-sys v*`类似的错误,请检查是否安装了 GCC 或 Clang 。

  2. 在家目录下(echo $HOME),创建hosts.conf文件,内容格式同config,参考的内容为:

master = "<host_ip>:8080"
# 请将<host_ip>替换成本机ip地址
# 单机运行模式下不要需要配置slave节点
# 非hdfs模式下不需要配置namenode参数
  1. cargo run --release时报错,建议参考[https://github.com/alecmocatta/serde_traitobject/issues/35] 运行命令行命令
rustup install nightly-2023-04-17
rustup default nightly-2023-04-17
rustup component add rust-src --toolchain nightly-2023-04-17
rustup override set nightly-2023-04-17-x86_64-unknown-linux-gnu
  1. 需要安装capnpc:
    curl -O https://capnproto.org/capnproto-c++-0.7.0.tar.gz
    tar zxf capnproto-c++-0.7.0.tar.gz
    cd capnproto-c++-0.7.0
  1. 通过cargo run(main.rs文件已添加,为wordcount内容)。更多样例请见examplebenchmark

条件编译使用

在Cargo.toml

[features]
default=["hdrs_valid"]
hdrs_valid=[]
# aws_connectors = ["rusoto_core", "rusoto_s3"]

在default前加'#'表示注释,使得条件编译生效,忽略hdrs的编译. 去除'#'表示有hdrs_valid可用,条件编译会使得hdrs相关的模块正常编译.