配置项列表

Slack Docker Pulls GitHub edit source

所有Alluxio配置属性都属于以下六类之一: 共有配置项(由Master和Worker共享), Master配置项Worker配置项用户配置项集群管理配置项(用于在诸如Mesos和YARN的集群管理器上运行Alluxio) 以及安全性配置项(由Master,Worker和用户共享)。

共有配置项

共有配置项包含了不同组件共享的常量。

属性名默认值描述
alluxio.conf.dir ${alluxio.home}/conf 包含Alluxio配置文件的目录。
alluxio.debug false 设置为true后即可启用debug模式,会记录更多日志,且在Web UI中会显示更多信息。
alluxio.extensions.dir ${alluxio.home}/extensions 包含Alluxio扩展的目录。
alluxio.fuse.cached.paths.max 500 用于FUSE conversion的Alluxio缓存路径的最大数量。
alluxio.fuse.debug.enabled false 以debug模式运行FUSE,让fuse进程记录每个FS请求。
alluxio.fuse.fs.name alluxio-fuse FUSE文件系统名。
alluxio.fuse.maxwrite.bytes 128KB 写操作的最大粒度,内核将其上限设置为128KB max(从Linux 3.16.0开始)。
alluxio.fuse.user.group.translation.enabled false
alluxio.home /opt/alluxio Alluxio安装目录。
alluxio.jvm.monitor.info.threshold 1sec 额外的睡眠时间超过这个阈值,记录INFO。
alluxio.jvm.monitor.sleep.interval 1sec JVM monitor线程的睡眠时间。
alluxio.jvm.monitor.warn.threshold 10sec 额外的睡眠时间超过这个阈值,记录WARN。
alluxio.locality.compare.node.ip false 是否在本地性检查时尝试解析IP地址。
alluxio.locality.node 用于判断node本地性。
alluxio.locality.order node,rack 本地性级别顺序。
alluxio.locality.rack 用于判断rack本地性。
alluxio.locality.script alluxio-locality.sh 用于确定本地性检查的身份的脚本。
alluxio.logger.type Console logger类型。
alluxio.logs.dir ${alluxio.work.dir}/logs 存放日志文件的路径。
alluxio.logserver.hostname Alluxio logserver主机名。注意:必须将此属性指定为JVM属性;它在alluxio-site.properties不被接受。
alluxio.logserver.logs.dir ${alluxio.work.dir}/logs 远程日志文件默认位置。注意:必须将此属性指定为JVM属性;它在alluxio-site.properties不被接受。
alluxio.logserver.port 45600 从Alluxio server接收日志的默认端口号。注意:必须将此属性指定为JVM属性;它在alluxio-site.properties不被接受。
alluxio.logserver.threads.max 2048 logserver用于响应日志请求的最大线程数。
alluxio.logserver.threads.min 512 logserver用于响应日志请求的最小线程数。
alluxio.metrics.conf.file ${alluxio.conf.dir}/metrics.properties 度量系统配置文件路径,默认是`conf`文件夹下的`metrics.properties`文件。
alluxio.network.host.resolution.timeout 5sec Alluxio在启动Master和Worker过程中,需要确保它们在监听外部可达且可解析的主机名。如果没有显式指定主机名,Alluxio会自动尝试选择一个合适的主机名。该配置项指定用于判断一个候选主机名在网络上是否可达的最长等待时间。
alluxio.network.netty.heartbeat.timeout 30sec 如果没有流量传入,服务器在关闭网络连接之前等待的总时间。
alluxio.network.thrift.frame.size.bytes.max 16MB (实验属性) 设置在Thrift RPC通讯过程中,使用的最大容许帧包(Frame)限值.
alluxio.proxy.s3.deletetype ALLUXIO_AND_UFS 通过S3 API删除桶和对象的删除类型,可选择 `ALLUXIO_AND_UFS`(删除Alluxio和UFS)或`ALLUXIO_ONLY`(只删除Alluxio名空间下)
alluxio.proxy.s3.multipart.temporary.dir.suffix _s3_multipart_tmp 在多部分上传时拥有这些部分的目录的后缀。
alluxio.proxy.s3.writetype CACHE_THROUGH 通过S3 API创建桶和对象的写类型,可选择“MUST_CACHE”(只写入Alluxio,必须存储在Alluxio中)、“CACHE_THROUGH”(尝试缓存,同步写入到UnderFS)、“THROUGH”(无缓存,同步写入到UnderFS)。
alluxio.proxy.stream.cache.timeout 1hour 在代理中输入和输出流缓存回收的时限。
alluxio.proxy.web.bind.host 0.0.0.0 Alluxio代理网络服务器运行的主机名。
alluxio.proxy.web.hostname Alluxio代理的web UI绑定的主机名。
alluxio.proxy.web.port 39999 Alluxio代理的web UI绑定的端口。
alluxio.site.conf.dir ${alluxio.conf.dir}/,${user.home}/.alluxio/,/etc/alluxio/ 加载配置文件时默认的搜索路径
alluxio.test.mode false 设置在测试过程中是否启用某些特殊行为。
alluxio.tmp.dirs /tmp 存储Alluxio临时文件的路径,使用逗号作为分隔符。如果指定了多个路径,每个临时文件将随机选择一个路径。目前,只有上传到对象存储的文件存储在这些路径中。
alluxio.underfs.address ${alluxio.work.dir}/underFSStorage Alluxio在底层文件系统中的文件夹。
alluxio.underfs.allow.set.owner.failure false 是否允许UFS中的设置所有者失败。当设置为true时,文件或目录所有者可能会在Alluxio和UFS之间产生分歧。
alluxio.underfs.gcs.directory.suffix /
alluxio.underfs.gcs.owner.id.to.username.mapping 可选配置项,指定一个预设的gcs拥有者ID到Alluxio用户名的静态映射,格式为“id1=user1;id2=user2”。谷歌云存储的ID可以在控制台地址https://console.cloud.google.com/storage/settings找到。请使用“Owners”选项。
alluxio.underfs.hdfs.configuration ${alluxio.conf.dir}/core-site.xml:${alluxio.conf.dir}/hdfs-site.xml hdfs配置文件的位置。
alluxio.underfs.hdfs.impl org.apache.hadoop.hdfs.DistributedFileSystem 作为底层存储系统的hdfs的实现类。
alluxio.underfs.hdfs.prefixes hdfs://,glusterfs:///,maprfs:/// 可选配置项,指定以哪些前缀开头的文件应该存放在Apache Hadoop底层文件系统。分隔符为任何空白符或者','。
alluxio.underfs.hdfs.remote false 底层存储系统的worker节点对于Alluxio worker节点来说是否是远程的。如果该值为true,那么Alluxio将不会尝试从底层存储系统获取locality相关信息,因为这种情况下不可能存在任何locality,这样做可以提高性能。默认值为false。
alluxio.underfs.listing.length 1000 底层文件系统在一次查询中可以列出的目录条目的最大数量。如果条目数量大于指定长度,则需要多次查询才能列出。
alluxio.underfs.object.store.mount.shared.publicly false 是否对所有Alluxio用户共享挂载的对象存储系统。 注意,该配置对HDFS或者本地文件系统没有任何影响。默认值是false。
alluxio.underfs.object.store.read.retry.base.sleep 50ms 块从对象存储中读取时,将自动重试瞬态错误,并进行指数回退。这个性质决定了指数回退的基本时间。
alluxio.underfs.object.store.read.retry.max.num 20 块从对象存储中读取时,将自动重试瞬态错误,并进行指数回退。这个性质决定了最大重试次数。
alluxio.underfs.object.store.read.retry.max.sleep 30sec 块从对象存储中读取时,将自动重试瞬态错误,并进行指数回退。这个性质决定了回退中最大等待时间。
alluxio.underfs.object.store.service.threads 20 存储底层文件系统操作的并行对象在执行程序池中的线程数。
alluxio.underfs.oss.connection.max 1024 OSS连接最大数目。
alluxio.underfs.oss.connection.timeout 50sec OSS连接时限。
alluxio.underfs.oss.connection.ttl -1 OSS连接的TTL(ms)。
alluxio.underfs.oss.socket.timeout 50sec OSS套接字时限。
alluxio.underfs.s3.admin.threads.max 20 与S3通信时进行元数据操作所使用的最大线程数目,这些操作会并发且频繁执行,但不会花费太多时间。默认值为20。
alluxio.underfs.s3.disable.dns.buckets false 可选配置项,指定所有S3请求路径样式。
alluxio.underfs.s3.endpoint 可选配置项,在组织AWS服务请求的时候可以指定某个区域地址来降低数据延迟或者访问某些隔离在不同AWS Region的资源。 一个endpoint是某个服务的一个入口地址。举例,s3.cn-north-1.amazonaws.com.cn 就是一个北京区域的亚马逊S3服务的一个endpoing。
alluxio.underfs.s3.owner.id.to.username.mapping 可选配置项,指定一个预设的s3规范ID到Alluxio用户名的静态映射,格式为“id1=user1;id2=user2”。AWS的s3规范ID可以在控制台地址https://console.aws.amazon.com/iam/home?#security_credential找到。请展开“Account Identifiers”选项卡,并参考“Canonical User ID”。
alluxio.underfs.s3.proxy.host 可选配置项,指定与S3通信的代理主机。
alluxio.underfs.s3.proxy.port 可选配置项,指定与S3通信的代理端口。
alluxio.underfs.s3.threads.max 40 与S3通信时使用的最大线程数目和最大并发连接数。包括数据上载以及元数据操作线程。该数目至少要等于最大管理线程与最大上传线程数目之和。默认值为40,即默认管理线程与默认上传线程池大小之和。
alluxio.underfs.s3.upload.threads.max 20 进行多部分上传时上传数据到S3所使用的最大线程数目,这些操作会相对耗时,然而由于某些线程会引起错误,过多线程会导致带宽饥饿。默认值为2。
alluxio.underfs.s3a.consistency.timeout 1min 等待底层存储元数据一致所持续的最久时间。该配置仅用于本应该执行成功的Alluxio内部操作,但是由于最终一致性,可能现在并没有执行成功。默认值是60000毫秒(1分钟)。
alluxio.underfs.s3a.default.mode 0700
alluxio.underfs.s3a.directory.suffix / S3会把目录表示为0字节的对象,名字以指定后缀结尾。默认值为“/”。
alluxio.underfs.s3a.inherit_acl true 可选地关闭来关闭对象的ACL桶继承。
alluxio.underfs.s3a.list.objects.v1 false 是否使用GET Bucket(列出对象)API。默认为"false"。
alluxio.underfs.s3a.request.timeout 1min
alluxio.underfs.s3a.secure.http.enabled false 是否使用HTTPS协议与S3进行通信。默认值为false。
alluxio.underfs.s3a.server.side.encryption.enabled false 是否加密存储在S3中的数据。默认值为false。
alluxio.underfs.s3a.signer.algorithm 签名算法,用于向s3服务签名请求。这是可选的,如果没有设置,客户端将自动确定它。若要与仅支持v2签名的S3端点交互,请将其设置为“S3SignerType”。
alluxio.underfs.s3a.socket.timeout 50sec 与S3通信时socket超时的时间长度。
alluxio.web.resources ${alluxio.home}/core/server/common/src/main/webapp web应用资源路径。
alluxio.web.threads 1 web服务器的线程数目。
alluxio.work.dir ${alluxio.home} Alluxio的工作目录。默认情况下,journal、logs以及底层文件系统的数据(如果使用本地文件系统)都会写在该目录下。
alluxio.zookeeper.address ZooKeeper地址。
alluxio.zookeeper.connection.timeout 15s 连接到Zookeeper时的连接时限。
alluxio.zookeeper.election.path /election ZooKeeper的选举文件夹。
alluxio.zookeeper.enabled false 若为true,则使用zooKeeper启动master容错机制。
alluxio.zookeeper.leader.inquiry.retry 10 从ZooKeeper申请leader的最大请求次数。
alluxio.zookeeper.leader.path /leader ZooKeeper的leader文件夹。
alluxio.zookeeper.session.timeout 60s 连接到Zookeeper时的会话时限。
aws.accessKeyId
aws.secretKey
fs.cos.access.key
fs.cos.app.id
fs.cos.connection.max 1024
fs.cos.connection.timeout 50sec
fs.cos.region
fs.cos.secret.key
fs.cos.socket.timeout 50sec
fs.gcs.accessKeyId
fs.gcs.secretAccessKey
fs.oss.accessKeyId
fs.oss.accessKeySecret
fs.oss.endpoint
fs.swift.apikey
fs.swift.auth.method 选择身份验证方法:[tempauth (default), swiftauth, keystone, keystonev3]
fs.swift.auth.url REST服务器的认证URL,例如http://server:8090/auth/v1.0
fs.swift.password user:tenant认证的密码
fs.swift.region Keystone认证的服务地区
fs.swift.simulation 是否模拟单节点Swift后台用于验证,默认为否
fs.swift.tenant Swift user用于认证
fs.swift.use.public.url REST服务器是否在公共域,默认为是
fs.swift.user Swift tenant用于认证

Master配置项

Master配置项指定master节点的信息,例如地址和端口号。

属性名默认值描述
alluxio.master.audit.logging.enabled false
alluxio.master.audit.logging.queue.capacity 10000
alluxio.master.backup.directory /alluxio_backups
alluxio.master.bind.host 0.0.0.0 Alluxio master绑定的主机名。参考多宿主网络
alluxio.master.connection.timeout 0 Alluxio master设置Thrift的超时时间,超过该时间关闭连接,默认值是0,表示无时间限制
alluxio.master.daily.backup.enabled false
alluxio.master.daily.backup.files.retained 3
alluxio.master.daily.backup.time 05:00
alluxio.master.file.async.persist.handler alluxio.master.file.async.DefaultAsyncPersistHandler 处理异步持久化请求的处理类。
alluxio.master.format.file_prefix _format_ 当journal被格式化时,在joural文件夹下生成的文件的文件名前缀。当判断journal是否被格式化时master会查找文件名以该前缀开头的文件。
alluxio.master.heartbeat.timeout 10min
alluxio.master.hostname Alluxio master主机名。
alluxio.master.journal.checkpoint.period.entries 2000000 在创建一个新journal检查点之前写入的journal数。
alluxio.master.journal.flush.batch.time 5ms 等待批处理日志写入的时间。
alluxio.master.journal.flush.timeout 5min 在放弃和关闭master之前保持重试日志写入的时间量。
alluxio.master.journal.folder ${alluxio.work.dir}/journal 存储master journal日志的路径。
alluxio.master.journal.formatter.class alluxio.master.journalv0.ProtoBufJournalFormatter 序列化journal的类。
alluxio.master.journal.gc.period 2min 扫描和删除陈旧的journal检查点的频率。
alluxio.master.journal.gc.threshold 5min 垃圾收集检查点的最小年龄。
alluxio.master.journal.init.from.backup
alluxio.master.journal.log.size.bytes.max 10MB 如果一个日志文件大小超过该值,会产生下一个文件。
alluxio.master.journal.retry.interval 1sec
alluxio.master.journal.tailer.shutdown.quiet.wait.time 5sec 在备用master停止监听线程之前,在该配置项指定的时间内不应对leader master的journal作任何更新。
alluxio.master.journal.tailer.sleep.time 1sec 指定当备用master无法检测到leader master journal的更新时,其睡眠时间。
alluxio.master.journal.temporary.file.gc.threshold 30min 临时文件垃圾收集检查点的最小年龄。
alluxio.master.journal.type UFS 使用journal类型,UFS(存储journal在UFS中)和NOOP(不使用journal)。
alluxio.master.journal.ufs.option journal操作使用的配置。
alluxio.master.jvm.monitor.enabled false 是否在master上启动JVM monitor线程。
alluxio.master.keytab.file Alluxio master的Kerberos密钥表文件。
alluxio.master.lineage.checkpoint.class alluxio.master.lineage.checkpoint.CheckpointLatestPlanner
alluxio.master.lineage.checkpoint.interval 5min
alluxio.master.lineage.recompute.interval 5min
alluxio.master.lineage.recompute.log.path ${alluxio.logs.dir}/recompute.log
alluxio.master.log.config.report.heartbeat.interval 1h
alluxio.master.master.heartbeat.interval 2min
alluxio.master.metastore.inode.inherit.owner.and.group true
alluxio.master.mount.table.root.alluxio / Alluxio mount根节点。
alluxio.master.mount.table.root.option Alluxio mount根节点UFS配置。
alluxio.master.mount.table.root.readonly false Alluxio mount根节点是否只读。
alluxio.master.mount.table.root.shared true Alluxio mount根节点是否共享。
alluxio.master.mount.table.root.ufs ${alluxio.underfs.address} 挂载到Alluxio mount根节点的UFS。
alluxio.master.periodic.block.integrity.check.interval 1hr 块完整性检查的间隔,如果小于0则不启用。
alluxio.master.periodic.block.integrity.check.repair true 完整性检查时是否要删除孤儿块。这是个实验性的属性。
alluxio.master.port 19998 Alluxio master的运行端口。
alluxio.master.principal Alluxio master的Kerberos主体。
alluxio.master.startup.block.integrity.check.enabled true 是否应该在启动时检查系统孤立的块(由于各种系统故障而没有相应文件但仍然占用系统资源的块)。如果此属性为真,则在主启动期间将删除孤立的块。此属性自1.7.1开始可用。
alluxio.master.startup.consistency.check.enabled true 当Alluxio启动时是否检查与底层存储系统的一致性,在该检查过程中,Alluxio会进入只读模式。该检查默认开启。
alluxio.master.thrift.shutdown.timeout 60sec thrift server在关闭时的最大等待时间。
alluxio.master.tieredstore.global.level0.alias MEM 整个系统中最高存储层的名称。
alluxio.master.tieredstore.global.level1.alias SSD 整个系统中第二存储层的名称。
alluxio.master.tieredstore.global.level2.alias HDD 整个系统中第三存储层的名称。
alluxio.master.tieredstore.global.levels 3 系统中存储层的总数目。
alluxio.master.ttl.checker.interval 1hour 清除过期ttl值的文件任务的时间间隔。
alluxio.master.ufs.block.location.cache.capacity 1000000 UFS块缓存的容量。这个cache缓存UFS块位置,适用于要保存但不在Alluxio空间中的文件,以便这些文件的列表状态不需要反复询问UFS的块位置。如果将此设置为0,则缓存将被禁用。
alluxio.master.ufs.path.cache.capacity 100000 UFS路径缓存的容量。此缓存用来近似`一次性`元数据加载行为。(查看 `alluxio.user.file.metadata.load.type`)。更大的缓存将耗费更大的内存,但是能够更好地近似`一次性`行为。
alluxio.master.ufs.path.cache.threads 64 线程池(可异步处理路径,用于缓存UFS路径)的最大容积。更多的线程数将减少异步缓存中的staleness数量,但可能会影响性能。 如果设置为0,缓存将被禁用,而alluxio.user.file.metadata.load.type = Once将表现为“Always”。
alluxio.master.web.bind.host 0.0.0.0 Alluxio master web UI绑定的主机名。参考多宿主网络
alluxio.master.web.hostname 提供Alluxio Master web UI的主机名。
alluxio.master.web.port 19999 Alluxio web UI运行端口。
alluxio.master.whitelist / 以该配置中的前缀开头的路径是可缓存的,这些前缀用分号隔开。Alluxio在第一次读这些文件时会尝试缓存这些可缓存的文件。
alluxio.master.worker.connect.wait.time 5sec 在开始接受client请求之前,Alluxio master会等待一段时间,让所有worker注册。此属性决定等待时间。
alluxio.master.worker.heartbeat.interval 10sec
alluxio.master.worker.threads.max A third of the max file descriptors limit, if b/w 2048 and 32768 Alluxio master能处理的最大RPC并发请求数目,该值用于配置master的Thrift线程池的最大线程数。
alluxio.master.worker.threads.min 512 Alluxio master用于处理RPC请求的最小线程数,该值用于配置master的Thrift线程池的最小线程数。
alluxio.master.worker.timeout 5min Alluxio master与worker之间响应的最大超时时间,超过该时间表明该worker失效。

Worker配置项

Worker配置项指定worker节点的信息,例如地址和端口号。

属性名默认值描述
alluxio.worker.allocator.class alluxio.worker.block.allocator.MaxFreeAllocator worker在特定存储层上分配不同存储目录空间的策略,有效值包括:`alluxio.worker.block.allocator.MaxFreeAllocator`, `alluxio.worker.block.allocator.GreedyAllocator`, `alluxio.worker.block.allocator.RoundRobinAllocator`。
alluxio.worker.bind.host 0.0.0.0 Alluxio worker节点绑定的主机名,参考多宿主网络
alluxio.worker.block.heartbeat.interval 1sec worker心跳时间间隔。
alluxio.worker.block.heartbeat.timeout ${alluxio.worker.master.connect.retry.timeout} worker心跳超时时间。
alluxio.worker.block.master.client.pool.size 11 block master在Alluxio worker上的client池容量。
alluxio.worker.block.threads.max 2048 worker能处理的最大RPC并发请求数目,该值用于配置worker的Thrift线程池的最大线程数。
alluxio.worker.block.threads.min 256 worker用于处理RPC请求的最小线程数,该值用于配置worker的Thrift线程池的最小线程数。
alluxio.worker.data.bind.host 0.0.0.0 运行Alluxio worker数据服务的主机名,参考多宿主网络
alluxio.worker.data.folder /alluxioworker/ 每个存储目录中的一个相对路径,该路径被Alluxio worker用作层次化存储中存放数据的文件夹。
alluxio.worker.data.folder.permissions rwxrwxrwx
alluxio.worker.data.folder.tmp .tmp_blocks 相对于 alluxio.worker.data.folder 的路径, 用于存放临时数据.
alluxio.worker.data.hostname Alluxio worker数据服务的主机名。
alluxio.worker.data.port 29999 运行Alluxio worker数据服务的端口。
alluxio.worker.data.server.class alluxio.worker.netty.NettyDataServer 选择运行worker的网络栈,可选值为:`alluxio.worker.netty.NettyDataServer`。
alluxio.worker.data.server.domain.socket.address domain socket 路径。如果设置,Alluxio worker 通过这个路径读写数据。
alluxio.worker.data.server.domain.socket.as.uuid false 如果为真,则属性worker.data.server.domain.socket是域套接字的主目录的路径,也是唯一标识符用作域套接字名称。此外,客户端忽略alluxio.user.hostname在检测本地工作人员进行短路操作时。如果为false,则该属性是UNIX域套接字的绝对路径。
alluxio.worker.data.tmp.subdir.max 1024 在 alluxio.worker.data.folder.tmp 中可以创建的文件夹的最大数目.
alluxio.worker.evictor.class alluxio.worker.block.evictor.LRUEvictor 当某个存储层空间不足时,worker剔除块文件的策略。可选值包括`alluxio.worker.block.evictor.LRFUEvictor`、 `alluxio.worker.block.evictor.GreedyEvictor`、 `alluxio.worker.block.evictor.LRUEvictor`。
alluxio.worker.evictor.lrfu.attenuation.factor 2.0 在[2, INF)之间的一个衰减因子,用于控制LRFU策略行为。
alluxio.worker.evictor.lrfu.step.factor 0.25 在[0, 1]之间的一个因子,用于控制LRFU策略行为:较小值使LRFU更接近于LFU,较大值更接近于LRU。
alluxio.worker.file.buffer.size 1MB worker将数据写入分层存储的缓冲区大小。
alluxio.worker.file.persist.pool.size 64 在worker上用于异步存储ASYNC_THROUGH类型文件的线程池大小。每个线程会存储一个文件。
alluxio.worker.file.persist.rate.limit 2GB 异步存储时每秒最大写入速度。
alluxio.worker.file.persist.rate.limit.enabled false 是否在异步存储时启用限流功能。
alluxio.worker.filesystem.heartbeat.interval 1sec worker和文件系统master之间的心跳检测时间间隔。
alluxio.worker.free.space.timeout 10sec worker等待驱逐来为客户端写请求提供空间的持续时间。
alluxio.worker.hostname Alluxio worker的主机名。
alluxio.worker.jvm.monitor.enabled false 是否在worker上启用JVM monitor线程。
alluxio.worker.keytab.file Alluxio worker的Kerberos密钥对文件。
alluxio.worker.master.connect.retry.timeout 1hour
alluxio.worker.memory.size 2/3 of total system memory, or 1GB if system memory size cannot be determined 每个worker节点的内存容量。
alluxio.worker.network.netty.async.cache.manager.threads.max 8 用于异步缓存netty数据服务器中的块的最大线程数。
alluxio.worker.network.netty.backlog netty套接字选项SO_BACKLOG:集合队列数量。
alluxio.worker.network.netty.block.reader.threads.max 2048 处理读数据块的线程数目。
alluxio.worker.network.netty.block.writer.threads.max 1024 处理写数据块的线程数目。
alluxio.worker.network.netty.boss.threads 1 收到新的请求时启用的线程数目。
alluxio.worker.network.netty.buffer.receive netty套接字选项SO_RCVBUF:用于接收的应有缓存大小。
alluxio.worker.network.netty.buffer.send netty套接字选项SO_SNDBUF:用于发送的应有缓存大小。
alluxio.worker.network.netty.channel EPOLL netty通道类型:NIO或EPOLL。
alluxio.worker.network.netty.file.transfer MAPPED 当将文件返回给用户时,该配置项用于选择数据如何传输,有效值为`MAPPED` (使用java MappedByteBuffer)以及`TRANSFER` (使用Java FileChannel.transferTo)
alluxio.worker.network.netty.file.writer.threads.max 1024 处理往底层文件系统写文件的线程数目。
alluxio.worker.network.netty.reader.buffer.size.packets 16 client从worker读数据时最大并行数据包数量。
alluxio.worker.network.netty.rpc.threads.max 2048 处理RPC的线程数目。
alluxio.worker.network.netty.shutdown.quiet.period 2sec 沉默期时间长度。当netty服务器正终止时,要确保在该时间段内不会产生RPC调用。如果出现了RPC调用,那么在该netty服务器终止时会该沉默期会重新开始。
alluxio.worker.network.netty.shutdown.timeout 15sec 等待netty服务器终止的最长时间(忽略沉默期)。
alluxio.worker.network.netty.watermark.high 32KB 在切换到不可写状态之前,写队列中可存放的最大字节数。
alluxio.worker.network.netty.watermark.low 8KB 一旦写队列中的high watermark达到了,该队列在切换到可写状态之前必须刷新到该配置项指定的low watermark。
alluxio.worker.network.netty.worker.threads 0 处理请求的线程数目,0表示#cpuCores * 2
alluxio.worker.network.netty.writer.buffer.size.packets 16 client向worker写数据时最大并行数据包数量。
alluxio.worker.port 29998 Alluxio worker节点运行端口。
alluxio.worker.principal Alluxio worker的Kerberos主体。
alluxio.worker.session.timeout 1min worker和client连接的超时时间,超时后表明该会话失效。
alluxio.worker.tieredstore.block.lock.readers 1000 一个Alluxio数据块锁最大允许的并行读数目。
alluxio.worker.tieredstore.block.locks 1000 一个Alluxio数据块worker的数据块锁数目。较大值会达到更好的锁粒度,但会使用更多空间。
alluxio.worker.tieredstore.level0.alias MEM 在worker上最高存储层的别名,该值一定要对应master配置项中全局存储层之一。禁止将全局继承结构中较低级别存储层的别名放在worker中较高级别,因此默认情况下,在任何worker上SSD都不能在MEM之前。
alluxio.worker.tieredstore.level0.dirs.path /mnt/ramdisk on Linux, /Volumes/ramdisk on OSX 顶层存储层在存储目录中的路径。注意对于MacoS该值应为`/Volumes/`。
alluxio.worker.tieredstore.level0.dirs.quota ${alluxio.worker.memory.size} 顶层存储层容量。
alluxio.worker.tieredstore.level0.reserved.ratio 在顶部存储层预留的空间的一部分。这已被弃用,请使用low and high watermark代替。
alluxio.worker.tieredstore.level0.watermark.high.ratio 0.95 在顶层存储层中的高水位比例 (取值为0到1之间)。
alluxio.worker.tieredstore.level0.watermark.low.ratio 0.7 在顶层存储层中的低水位比例 (取值为0到1之间)。
alluxio.worker.tieredstore.level1.alias
alluxio.worker.tieredstore.level1.dirs.path
alluxio.worker.tieredstore.level1.dirs.quota
alluxio.worker.tieredstore.level1.reserved.ratio
alluxio.worker.tieredstore.level1.watermark.high.ratio 0.95
alluxio.worker.tieredstore.level1.watermark.low.ratio 0.7
alluxio.worker.tieredstore.level2.alias
alluxio.worker.tieredstore.level2.dirs.path
alluxio.worker.tieredstore.level2.dirs.quota
alluxio.worker.tieredstore.level2.reserved.ratio
alluxio.worker.tieredstore.level2.watermark.high.ratio 0.95
alluxio.worker.tieredstore.level2.watermark.low.ratio 0.7
alluxio.worker.tieredstore.levels 1 worker上的存储层数目。
alluxio.worker.tieredstore.reserver.enabled true 是否启用层次化存储空间预留服务。
alluxio.worker.tieredstore.reserver.interval 1sec 空间预留服务运行的时间间隔,该服务为每个存储层预留一定比例的空间。
alluxio.worker.tieredstore.retry 3 worker在处理每个存储层block操作时的最大重试次数。
alluxio.worker.ufs.block.open.timeout 5min 从UFS打开一个块的时限。
alluxio.worker.ufs.instream.cache.enabled true 在存储输入流下启用缓存,以便以后在同一个文件上查找操作可重用缓存的输入流。这将提高位置读取性能,因为一些文件系统的打开操作是昂贵的。当UFS文件被修改时,缓存的输入流将过时,而不通知Alluxio。
alluxio.worker.ufs.instream.cache.expiration.time 5min 缓存的UFS输入流过期时间。
alluxio.worker.ufs.instream.cache.max.size 5000 UFS输入流缓存中最大输入数。
alluxio.worker.web.bind.host 0.0.0.0 Alluxio worker web服务绑定的主机名,参考See 多宿主网络
alluxio.worker.web.hostname Alluxio worker web UI绑定的主机名。
alluxio.worker.web.port 30000 Alluxio worker web UI运行的端口号。

用户配置项

用户配置项指定了文件系统访问的相关信息。

属性名默认值描述
alluxio.user.app.id
alluxio.user.block.master.client.pool.gc.interval 120sec
alluxio.user.block.master.client.pool.gc.threshold 120sec
alluxio.user.block.master.client.pool.size.max 10
alluxio.user.block.master.client.pool.size.min 0
alluxio.user.block.remote.read.buffer.size.bytes 8MB 从远程Alluxio worker读取数据时的缓冲区大小。它决定了一个Alluxio client和一个Alluxio worker之间Thrift connections的最大数量
alluxio.user.block.remote.reader.class alluxio.client.netty.NettyRemoteBlockReader 选择运行client使用的网络栈,目前只支持`alluxio.client.netty.NettyRemoteBlockReader`(使用netty远程读取数据)。 这个设置已经不推荐使用,将在2.0.0版本中删除。
alluxio.user.block.remote.writer.class alluxio.client.netty.NettyRemoteBlockWriter 选择运行写数据块的client使用的网络栈。 这个设置已经不推荐使用,将在2.0.0版本中删除。
alluxio.user.block.size.bytes.default 512MB Alluxio文件的默认大小。
alluxio.user.block.worker.client.pool.gc.threshold 300sec 数据块worker client如果闲置超过这个时间会被关闭。
alluxio.user.block.worker.client.pool.size.max 128 数据块worker client池中缓存的worker client的最大数目。
alluxio.user.block.worker.client.read.retry 5 客户端放弃读某个块之前最大重试worker个数。
alluxio.user.block.worker.client.threads 10 数据块worker client向worker发送心跳的线程池大小,如果某些worker宕机会影响client与其他正常worker的通信,那就增大该值。
alluxio.user.conf.cluster.default.enabled true
alluxio.user.date.format.pattern MM-dd-yyyy HH:mm:ss:SSS 以指定的日期格式,在Cli命令和Web页面中显示日期。
alluxio.user.failed.space.request.limits 3 从文件系统请求空间的尝试次数。
alluxio.user.file.buffer.bytes 8MB 在文件系统中进行读写操作时使用的缓冲区大小。
alluxio.user.file.cache.partially.read.block true 当读取类型是 `CACHE` 或者 `CACHE_PROMOTE` 的时候, 如果设置这个变量为真, 没有完全读取的数据块也会被存到Alluxio内.
alluxio.user.file.copyfromlocal.write.location.policy.class alluxio.client.file.policy.RoundRobinPolicy 使用copyFromLocal命令时,选择worker进行写文件数据块所使用的默认定位机制。
alluxio.user.file.delete.unchecked false 在尝试以递归方式删除持久化目录之前,检查底层文件系统中的内容是否与Alluxio同步。
alluxio.user.file.master.client.pool.gc.interval 120sec
alluxio.user.file.master.client.pool.gc.threshold 120sec
alluxio.user.file.master.client.pool.size.max 10
alluxio.user.file.master.client.pool.size.min 0
alluxio.user.file.metadata.load.type Once 从UFS中加载元数据的行为。当访问关于路径的信息,但该路径在Alluxio中不存在时,元数据能够从UFS中加载。合法的选项有`Always`,`Never`,`Once`。`Always`将总是访问UFS来看路径是否存在于UFS中。`Never`表示从来不会访问UFS。`Once`表示在”首次“的时候会访问UFS(根据缓存),但是以后都不会在访问。默认值为`Once`。
alluxio.user.file.metadata.sync.interval -1 在调用路径上的操作之前同步UFS元数据的时间间隔。-1表示不会发生同步。0意味着在操作之前,代理总是会同步路径的元数据。如果指定了一个时间间隔,就可以在该时间间隔内(尽可能)不重新同步路径。同步路径的元数据必须与UFS交互,所以这是一个昂贵的操作。如果对一个操作执行同步,则配置为“alluxio.user.file.metadata.load”将被忽略。
alluxio.user.file.passive.cache.enabled true 当从Alluxio远程worker读文件时,是否缓存文件到Alluxio的本地worker。当从UFS读文件时,是否缓存到本地worker与这个选项无关。
alluxio.user.file.readtype.default CACHE_PROMOTE 创建Alluxio文件时的默认读类型。可选值为`CACHE_PROMOTE` (如果数据已经在Alluxio存储内,将其移动到最高存储层,如果数据需要从底层存储进行读取,将其写到本地Alluxio的最高存储层)、`CACHE` (如果数据需要从底层存储进行读取,将其写到本地Alluxio的最高存储层), `NO_CACHE` (数据不与Alluxio交互,如果是从Alluxio中进行读取,将不会发生数据块迁移或者剔除)。
alluxio.user.file.seek.buffer.size.bytes 1MB 在文件seek操作中使用的缓存大小。这个选项只在 `alluxio.user.file.cache.partially.read.block` 打开的时候有效。
alluxio.user.file.waitcompleted.poll 1sec 当使用waitCompleted机制时,查询文件完成状态的时间间隔。
alluxio.user.file.write.avoid.eviction.policy.reserved.size.bytes 0MB 当用户选择LocalFirstAvoidEvictionPolicy作为写文件数据块的定位机制时,用户需要配置worker预留一些数据量来保证数据的存储,默认是0MB。
alluxio.user.file.write.location.policy.class alluxio.client.file.policy.LocalFirstPolicy 选择worker进行写文件数据块时的默认定位机制。
alluxio.user.file.write.tier.default 0 数据块写入的默认存储层。可选值为整型数值。非负值代表从高层到底层的存储层(0代表第一层存储层,1代表第二层存储层,以此类推)。如果给定值大于存储层数量,这个数字代表最底层的存储层。负值代表从底层到高层的存储层(-1代表最底层存储层,-2代表次底层存储层,以此类推)如果给定值的绝对值大于存储层数量,这个数字代表最高层存储层。
alluxio.user.file.writetype.default MUST_CACHE 创建Alluxio文件时的默认写类型。可选值为`MUST_CACHE` (数据仅仅存储在Alluxio中,并且必须存储在其中), `CACHE_THROUGH` (尽量缓冲数据,同时同步写入到底层文件系统), `THROUGH` (不缓冲数据,同步写入到底层文件系统)。
alluxio.user.heartbeat.interval 1sec Alluxio worker的心跳时间间隔。
alluxio.user.hostname 给alluxio客户端使用的主机名。
alluxio.user.lineage.enabled false
alluxio.user.lineage.master.client.threads 10
alluxio.user.local.reader.packet.size.bytes 8MB 当client从本地worker读数据,数据包的最大容量。
alluxio.user.local.writer.packet.size.bytes 64KB 当client向本地worker写数据,数据包的最大容量。
alluxio.user.metrics.collection.enabled false
alluxio.user.metrics.heartbeat.interval 3sec
alluxio.user.network.netty.channel EPOLL netty网络通道类型。
alluxio.user.network.netty.channel.pool.disabled false 禁用netty网络通道池特性。设置这个选项为真如果客户端的版本 >= 1.3.0 但是服务器版本 <= 1.2.x。
alluxio.user.network.netty.channel.pool.gc.threshold 300sec netty网络通道会被关闭如果它被闲置超过这个时间。
alluxio.user.network.netty.channel.pool.size.max 1024 netty网络通道池的最大容量。
alluxio.user.network.netty.channel.pool.size.min 0
alluxio.user.network.netty.reader.buffer.size.packets 16 当client从远程worker读数据,client可缓存数据包的最大数量。
alluxio.user.network.netty.reader.packet.size.bytes 64KB 当client从远程worker读数据,数据包的最大容量。
alluxio.user.network.netty.timeout 30sec Netty client(用于数据块的读写操作)等待数据服务端回复的最长时间。
alluxio.user.network.netty.worker.threads 0 远程数据块worker client从远程数据块worker读取数据使用的线程数目。
alluxio.user.network.netty.writer.buffer.size.packets 16 当client向远程worker写数据,client可缓存数据包的最大数量。
alluxio.user.network.netty.writer.close.timeout 30min Netty 客户端关闭的最长时间。
alluxio.user.network.netty.writer.packet.size.bytes 64KB 当client向远程worker写数据,数据包的最大容量。
alluxio.user.network.socket.timeout 10min
alluxio.user.rpc.retry.base.sleep 50ms 在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了这个指数级重试的基数。
alluxio.user.rpc.retry.max.duration 2min 在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了放弃前重试的最大时延。
alluxio.user.rpc.retry.max.num.retry 100 在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了重试的最大次数。
alluxio.user.rpc.retry.max.sleep 3sec 在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了这个重试延迟的最大值。
alluxio.user.short.circuit.enabled true 是否允许用户绕过Alluxio读取数据。
alluxio.user.ufs.block.read.concurrency.max 2147483647 一个Block Worker上的一个UFS块并发访问的最大个数。
alluxio.user.ufs.block.read.location.policy alluxio.client.file.policy.LocalFirstPolicy 当Alluxio client从UFS读取文件时,它将读取委托给Alluxio worker。client使用此策略来选择要阅读哪个worker。 内置选择有:[alluxio.client.block.policy.DeterministicHashPolicy, alluxio.client.file.policy.LocalFirstAvoidEvictionPolicy, alluxio.client.file.policy.LocalFirstPolicy, alluxio.client.file.policy.MostAvailableFirstPolicy, alluxio.client.file.policy.RoundRobinPolicy, alluxio.client.file.policy.SpecificHostPolicy]
alluxio.user.ufs.block.read.location.policy.deterministic.hash.shards 1 当alluxio.user.ufs.block.read.location.policy设为alluxio.client.block.policy.DeterministicHashPolicy,这设定了hash shards的数量。
alluxio.user.ufs.delegation.read.buffer.size.bytes 8MB 通过Alluxio worker从ufs读取数据时使用的缓存大小,每个读取操作至少会读取该数量的字节,除非已经到文件结束位置。
alluxio.user.ufs.delegation.write.buffer.size.bytes 2MB 通过Alluxio worker写入数据到ufs时使用的缓存大小,每个写入操作至少会写入该数量的字节,除非已经到文件结束位置。
alluxio.user.ufs.file.reader.class alluxio.client.netty.NettyUnderFileSystemFileReader 选择通过worker的data server从底层文件系统读取数据的client所使用的网络栈。目前只支持 `alluxio.client.netty.NettyUnderFileSystemFileReader` (远程读取使用netty)
alluxio.user.ufs.file.writer.class alluxio.client.netty.NettyUnderFileSystemFileWriter 选择通过worker的data server向底层文件系统写入数据的client所使用的网络栈。目前只支持 `alluxio.client.netty.NettyUnderFileSystemFileWriter` (远程读取使用netty)

集群管理配置项

如果使用诸如Mesos和YARN的集群管理器运行Alluxio,还有额外的配置项。

属性名默认值描述
alluxio.integration.master.resource.cpu 1 运行Alluxio master所需要的cpu核数。
alluxio.integration.master.resource.mem 1024MB 运行Alluxio master所需要的内存大小。
alluxio.integration.mesos.alluxio.jar.url http://downloads.alluxio.org/downloads/files/${alluxio.version}/alluxio-${alluxio.version}-bin.tar.gz
alluxio.integration.mesos.jdk.path jdk1.8.0_151
alluxio.integration.mesos.jdk.url LOCAL
alluxio.integration.mesos.master.name AlluxioMaster Mesos运行Alluxio master的任务名称。
alluxio.integration.mesos.master.node.count 1 启动Alluxio master的进程数目。
alluxio.integration.mesos.principal alluxio Alluxio框架账户。
alluxio.integration.mesos.role * Alluxio框架在Mesos集群中的角色。
alluxio.integration.mesos.secret Alluxio框架密码。
alluxio.integration.mesos.user Mesos executor运行Alluxio worker使用的账户。
alluxio.integration.mesos.worker.name AlluxioWorker Mesos运行Alluxio worker的任务名称。
alluxio.integration.worker.resource.cpu 1 运行Alluxio worker所需要的cpu核数。
alluxio.integration.worker.resource.mem 1024MB 运行Alluxio worker所需要的内存大小,该部分内存不包含为层次化存储配置的内容。
alluxio.integration.yarn.workers.per.host.max 1

安全性配置项

安全性配置项指定了安全性相关的信息,如安全认证和文件权限。 安全认证相关的配置同时适用于master、worker和用户。 文件权限相关的配置只对master起作用。 更多安全性相关的信息详见安全性页面。

属性名默认值描述
alluxio.security.authentication.custom.provider.class 当alluxio.security.authentication.type被设为CUSTOM时,实现安全认证功能的类。 该类必须实现'alluxio.security.authentication.AuthenticationProvider'接口。
alluxio.security.authentication.type SIMPLE 安全认证模式。目前支持三种模式:NOSASL、SIMPLE和CUSTOM。 默认为NOSASL,即不启用安全认证功能。
alluxio.security.authorization.permission.enabled true 是否启用文件权限访问控制功能。
alluxio.security.authorization.permission.supergroup supergroup Alluxio文件系统的超级用户组。所有该组下的用户拥有超级权限。
alluxio.security.authorization.permission.umask 022 创建文件和目录时的文件权限掩码。初始化的创建权限为777,目录和文件之间相差111。 因此,当默认文件权限掩码为022时,新建目录的权限为755,新建文件的权限为644。
alluxio.security.group.mapping.cache.timeout 1min 缓存的组映射过期时间。
alluxio.security.group.mapping.class alluxio.security.group.provider.ShellBasedUnixGroupsMapping 提供“用户-用户组”映射服务的实现类。Master可以通过该服务得到指定用户所在组的组成员。 该类必须实现'alluxio.security.group.GroupMappingService'接口。 默认的实现类通过执行'groups'命令得到指定用户所在组的组成员。
alluxio.security.login.impersonation.username _HDFS_USER_
alluxio.security.login.username 当alluxio.security.authentication.type被设为SIMPLE或CUSTOM时,用户应用使用此配置项 作为连接Alluxio的用户名。若未设置该项,则使用系统登录用户名。