Alluxio
ProductsLanguageHome
  • Alluxio概览
  • 用户指南
    • 快速上手指南
    • 架构
    • FAQ
    • 作业服务器
    • 应用场景
  • 核心功能
    • 缓存
    • 统一命名空间
  • 部署 Alluxio
    • 在Kubernetes上部署Alluxio
    • 本地运行Alluxio
    • 在集群上独立运行Alluxio
    • 在Docker上运行Alluxio
    • 在具有HA的群集上部署Alluxio
    • 使用Docker部署AlluxioFuse加速深度学习训练(试验)
    • 基本要求
  • 云源生
    • Tencent EMR
  • 计算应用
    • Apache Spark
    • Presto
    • Spark on Kubernetes
    • Apache Flink
    • Apache Hadoop MapReduce
    • Presto on Iceberg (Experimental)
    • Trino
    • Apache Hive
    • 深度学习框架
    • Tensorflow
  • 底层存储系统
    • Alluxio集成Amazon AWS S3作为底层存储
    • Alluxio集成GCS作为底层存储
    • Alluxio集成Azure Blob Store作为底层存储
    • Azure Data Lake Storage Gen2
    • Azure 数据湖存储
    • Alluxio集成HDFS作为底层存储
    • Alluxio集成COS作为底层存储
    • Alluxio集成COSN作为底层存储
    • Alluxio集成Ceph Object Storage作为底层存储
    • Alluxio集成NFS作为底层存储
    • Alluxio集成Kodo作为底层存储
    • Alluxio集成Swift作为底层存储
    • Alluxio集成WEB作为底层存储
    • Alluxio集成Minio作为底层存储
    • 阿里云对象存储服务
    • Alluxio集成Ozone作为底层存储
    • Alluxio集成CephFS作为底层存储
  • 安全设置
    • 安全性
  • 运维指南
    • 配置项设置
    • 命令行接口
    • 管理员命令行接口
    • Web界面
    • 日志
    • 度量指标系统
    • 远程记录日志
  • 管理
    • 升级
    • 异常诊断与调试
  • APIs
    • Filesystem API
    • S3 Client
    • POSIX API
    • REST API
    • Python Client
    • 兼容Hadoop的Java
    • Go 客户端
  • 开发者资源
    • 编译Alluxio源代码
    • 开发指南
    • 代码规范
    • 如何开发单元测试
    • 文档规范
  • 参考
    • 配置项列表
    • List of Metrics
  • REST API
    • Master REST API
    • Worker REST API
    • Proxy REST API
    • Job REST API
  • Javadoc
Powered by GitBook
On this page
  • 本地运行Alluxio
  • 前提条件
  • 挂载RAMFS文件系统
  • 格式化Alluxio文件系统
  • 本地启动Alluxio文件系统
  • 验证Alluxio是否运行
  • FAQ
  • 为什么在linux上运行Alluxio需要sudo权限?
  • 用户没有sudo权限,仍然可以在linux下使用Alluxio么?
  • 我怎样避免通过输入密码运行sudo命令?
  1. 部署 Alluxio

本地运行Alluxio

Last updated 6 months ago

本地运行Alluxio

前提条件

这部分的前提条件是你安装了(JDK 8或更高版本)。

下载 二进制发行版。

在独立模式下运行,请执行以下操作:

通过拷贝conf/alluxio-site.properties.template文件,创建conf/alluxio-site.properties。

  • 将conf/alluxio-site.properties中的alluxio.master.hostname设置为localhost(即alluxio.master.hostname=localhost)。

  • 将conf/alluxio-site.properties中的alluxio.master.mount.table.root.ufs设置为一个本地文件系统上的临时文件夹(例如,alluxio.master.mount.table.root.ufs=/tmp)。

  • 开启远程登录服务,确保ssh localhost能成功。为了避免重复输入密码,你可以将本机的ssh公钥添加到~/.ssh/authorized_keys文件中。更多细节请参考。

挂载RAMFS文件系统

运行以下命令以挂载RAMFS文件系统。

$ ./bin/alluxio-mount.sh SudoMount

格式化Alluxio文件系统

注意:这个步骤只有在第一次运行Alluxio系统时才需要执行。 如果用户在已部署好的Alluxio集群上运行格式化命令, 当前服务器上之前保存的Alluxio文件系统的所有数据和元数据都会被清除。 但是,底层数据不会改变。

$ ./bin/alluxio format

本地启动Alluxio文件系统

简单运行如下的命令来启动Alluxio文件系统。

# 如果您尚未挂载ramdisk或要重新挂载(如为了改变ramdisk大小)
$ ./bin/alluxio-start.sh local SudoMount
# 或者,如果已经安装了ramdisk
$ ./bin/alluxio-start.sh local

验证Alluxio是否运行

运行一个更全面的系统完整性检查:

$ ./bin/alluxio runTests

可以在任意时刻执行以下命令以关闭Alluxio:

$ ./bin/alluxio-stop.sh local

FAQ

为什么在linux上运行Alluxio需要sudo权限?

用户没有sudo权限,仍然可以在linux下使用Alluxio么?

假设用户没有sudo权限,那么必须有一个RAMFS(例如/path/to/ramdisk)已经被系统管理员挂载,并且用户对此RAMFS有读写权限。你可以在conf/alluxio-site .properties文件中指定该路径:

alluxio.worker.tieredstore.level0.alias=MEM
alluxio.worker.tieredstore.level0.dirs.path=/path/to/ramdisk

然后在不需要请求root权限的情况下启动Alluxio,使用上述的目录作为存储器:

$ ./bin/alluxio-start.sh local NoMount
alluxio.worker.tieredstore.level0.alias=MEM
alluxio.worker.tieredstore.level0.dirs.path=/dev/shm

其次是:

$ ./bin/alluxio-start.sh local NoMount

我怎样避免通过输入密码运行sudo命令?

选项:

  • 通过超级用户身份启动Alluxio。

  • 在Linux文件 /etc/sudoers下添加下面一行,赋予当前用户(e.g., "alluxio")有限的sudo权限

alluxio ALL=(ALL) NOPASSWD: /bin/mount * /mnt/ramdisk, /bin/umount * /mnt/ramdisk, /bin/mkdir * /mnt/ramdisk, /bin/chmod * /mnt/ramdisk

注意:用户在linux系统下运行上述命令需要输入密码来获取sudo权限, 以便启动RAMFS。如果用户不想每次运行命令输入密码, 或者没有sudo权限,可以使用中介绍的其他方法。

为了确认Alluxio处于运行状态,用户可以访问 ,或者查看logs文件夹下的日志。

默认情况下,Alluxio使用 存储内存数据。用户在MacOS系统下可以挂载ramfs,不需要超级用户身份。然而,在linux系统下,用户运行"mount"命令(以及 "umount", "mkdir" 和 "chmod" 命令)需要sudo权限。

另外,用户可以使用Linux 存储数据, Tmpfs是一个由内存支持的临时文件夹(e.g.,常见的Linux下的 /dev/shm),但会使用交换空间, 因此相比于使用RAMFS,Tmpfs提供的性能会稍差。和使用预先挂载的RAMFS类似,用户可以通过conf/alluxio-site.properties配置项配置Tmpfs文件夹

在中增加启动Alluxio的用户。

这允许"alluxio"用户应用sudo权限在一个具体路径/mnt/ramdisk 下执行命令mount, umount, mkdir 和 chmod (假设命令在 /bin/) ,并且不需要输入密码。 查看更多关于 的介绍。

Java
Alluxio
该指南
常见问题
http://localhost:19999
RAMFS
tmpFS
sudoers
Sudoer User Specifications