配置项列表

Slack Docker Pulls GitHub edit source

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

共有配置项

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

属性名默认值描述
alluxio.conf.dir${alluxio.home}/conf包含Alluxio配置文件的目录。
alluxio.debugfalse设置为true后即可启用debug模式,会记录更多日志,且在Web UI中会显示更多信息。
alluxio.extensions.dir${alluxio.home}/extensions包含Alluxio扩展的目录。
alluxio.fuse.cached.paths.max500用于FUSE conversion的Alluxio缓存路径的最大数量。
alluxio.fuse.debug.enabledfalse以debug模式运行FUSE,让fuse进程记录每个FS请求。
alluxio.fuse.fs.namealluxio-fuseFUSE文件系统名。
alluxio.fuse.maxwrite.bytes128KB写操作的最大粒度,内核将其上限设置为128KB max(从Linux 3.16.0开始)。
alluxio.fuse.user.group.translation.enabledfalse
alluxio.home/opt/alluxioAlluxio安装目录。
alluxio.job.master.bind.host0.0.0.0
alluxio.job.master.client.threads1024
alluxio.job.master.embedded.journal.addresses
alluxio.job.master.embedded.journal.port20003
alluxio.job.master.finished.job.purge.count-1
alluxio.job.master.finished.job.retention.time300sec
alluxio.job.master.hostname${alluxio.master.hostname}
alluxio.job.master.job.capacity100000
alluxio.job.master.lost.worker.interval1sec
alluxio.job.master.rpc.addresses
alluxio.job.master.rpc.port20001
alluxio.job.master.web.bind.host0.0.0.0
alluxio.job.master.web.hostname${alluxio.job.master.hostname}
alluxio.job.master.web.port20002
alluxio.job.master.worker.heartbeat.interval1sec
alluxio.job.master.worker.timeout60sec
alluxio.job.worker.bind.host0.0.0.0
alluxio.job.worker.data.port30002
alluxio.job.worker.hostname${alluxio.worker.hostname}
alluxio.job.worker.rpc.port30001
alluxio.job.worker.threadpool.size10
alluxio.job.worker.web.bind.host0.0.0.0
alluxio.job.worker.web.port30003
alluxio.jvm.monitor.info.threshold1sec额外的睡眠时间超过这个阈值,记录INFO。
alluxio.jvm.monitor.sleep.interval1secJVM monitor线程的睡眠时间。
alluxio.jvm.monitor.warn.threshold10sec额外的睡眠时间超过这个阈值,记录WARN。
alluxio.locality.compare.node.ipfalse是否在本地性检查时尝试解析IP地址。
alluxio.locality.node用于判断node本地性。
alluxio.locality.ordernode,rack本地性级别顺序。
alluxio.locality.rack用于判断rack本地性。
alluxio.locality.scriptalluxio-locality.sh用于确定本地性检查的身份的脚本。
alluxio.logger.typeConsolelogger类型。
alluxio.logs.dir${alluxio.work.dir}/logs存放日志文件的路径。
alluxio.logserver.hostnameAlluxio logserver主机名。注意:必须将此属性指定为JVM属性;它在alluxio-site.properties不被接受。
alluxio.logserver.logs.dir${alluxio.work.dir}/logs远程日志文件默认位置。注意:必须将此属性指定为JVM属性;它在alluxio-site.properties不被接受。
alluxio.logserver.port45600从Alluxio server接收日志的默认端口号。注意:必须将此属性指定为JVM属性;它在alluxio-site.properties不被接受。
alluxio.logserver.threads.max2048logserver用于响应日志请求的最大线程数。
alluxio.logserver.threads.min512logserver用于响应日志请求的最小线程数。
alluxio.metrics.conf.file${alluxio.conf.dir}/metrics.properties度量系统配置文件路径,默认是conf文件夹下的metrics.properties文件。
alluxio.network.connection.auth.timeout30sec
alluxio.network.connection.health.check.timeout5sec
alluxio.network.connection.server.shutdown.timeout60sec
alluxio.network.connection.shutdown.timeout60sec
alluxio.network.host.resolution.timeout5secAlluxio在启动Master和Worker过程中,需要确保它们在监听外部可达且可解析的主机名。如果没有显式指定主机名,Alluxio会自动尝试选择一个合适的主机名。该配置项指定用于判断一个候选主机名在网络上是否可达的最长等待时间。
alluxio.proxy.s3.deletetypeALLUXIO_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.writetypeCACHE_THROUGH通过S3 API创建桶和对象的写类型,可选择“MUST_CACHE”(只写入Alluxio,必须存储在Alluxio中)、“CACHE_THROUGH”(尝试缓存,同步写入到UnderFS)、“THROUGH”(无缓存,同步写入到UnderFS)。
alluxio.proxy.stream.cache.timeout1hour在代理中输入和输出流缓存回收的时限。
alluxio.proxy.web.bind.host0.0.0.0Alluxio代理网络服务器运行的主机名。
alluxio.proxy.web.hostnameAlluxio代理的web UI绑定的主机名。
alluxio.proxy.web.port39999Alluxio代理的web UI绑定的端口。
alluxio.secondary.master.metastore.dir${alluxio.work.dir}/secondary-metastore
alluxio.site.conf.dir${alluxio.conf.dir}/,${user.home}/.alluxio/,/etc/alluxio/加载配置文件时默认的搜索路径
alluxio.table.catalog.path/catalog
alluxio.table.enabledtrue
alluxio.table.transform.manager.job.history.retention.time300sec
alluxio.table.transform.manager.job.monitor.interval10000
alluxio.test.deprecated.key
alluxio.tmp.dirs/tmp存储Alluxio临时文件的路径,使用逗号作为分隔符。如果指定了多个路径,每个临时文件将随机选择一个路径。目前,只有上传到对象存储的文件存储在这些路径中。
alluxio.underfs.allow.set.owner.failurefalse是否允许UFS中的设置所有者失败。当设置为true时,文件或目录所有者可能会在Alluxio和UFS之间产生分歧。
alluxio.underfs.cleanup.enabledfalse
alluxio.underfs.cleanup.interval1day
alluxio.underfs.eventual.consistency.retry.base.sleep50ms
alluxio.underfs.eventual.consistency.retry.max.num20
alluxio.underfs.eventual.consistency.retry.max.sleep30sec
alluxio.underfs.gcs.default.mode0700
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.xmlhdfs配置文件的位置。
alluxio.underfs.hdfs.implorg.apache.hadoop.hdfs.DistributedFileSystem作为底层存储系统的hdfs的实现类。
alluxio.underfs.hdfs.prefixeshdfs://,glusterfs:///,maprfs:///可选配置项,指定以哪些前缀开头的文件应该存放在Apache Hadoop底层文件系统。分隔符为任何空白符或者’,’。
alluxio.underfs.hdfs.remotefalse底层存储系统的worker节点对于Alluxio worker节点来说是否是远程的。如果该值为true,那么Alluxio将不会尝试从底层存储系统获取locality相关信息,因为这种情况下不可能存在任何locality,这样做可以提高性能。默认值为false。
alluxio.underfs.kodo.connect.timeout50sec
alluxio.underfs.kodo.downloadhost
alluxio.underfs.kodo.endpoint
alluxio.underfs.kodo.requests.max64
alluxio.underfs.listing.length1000底层文件系统在一次查询中可以列出的目录条目的最大数量。如果条目数量大于指定长度,则需要多次查询才能列出。
alluxio.underfs.object.store.breadcrumbs.enabledtrue
alluxio.underfs.object.store.mount.shared.publiclyfalse是否对所有Alluxio用户共享挂载的对象存储系统。 注意,该配置对HDFS或者本地文件系统没有任何影响。默认值是false。
alluxio.underfs.object.store.multi.range.chunk.size${alluxio.user.block.size.bytes.default}
alluxio.underfs.object.store.service.threads20存储底层文件系统操作的并行对象在执行程序池中的线程数。
alluxio.underfs.oss.connection.max1024OSS连接最大数目。
alluxio.underfs.oss.connection.timeout50secOSS连接时限。
alluxio.underfs.oss.connection.ttl-1OSS连接的TTL(ms)。
alluxio.underfs.oss.socket.timeout50secOSS套接字时限。
alluxio.underfs.s3.admin.threads.max20与S3通信时进行元数据操作所使用的最大线程数目,这些操作会并发且频繁执行,但不会花费太多时间。默认值为20。
alluxio.underfs.s3.default.mode0700
alluxio.underfs.s3.directory.suffix/
alluxio.underfs.s3.disable.dns.bucketsfalse可选配置项,指定所有S3请求路径样式。
alluxio.underfs.s3.endpoint可选配置项,在组织AWS服务请求的时候可以指定某个区域地址来降低数据延迟或者访问某些隔离在不同AWS Region的资源。 一个endpoint是某个服务的一个入口地址。举例,s3.cn-north-1.amazonaws.com.cn 就是一个北京区域的亚马逊S3服务的一个endpoing。
alluxio.underfs.s3.inherit.acltrue
alluxio.underfs.s3.intermediate.upload.clean.age3day
alluxio.underfs.s3.list.objects.v1false
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.request.timeout1min
alluxio.underfs.s3.secure.http.enabledfalse
alluxio.underfs.s3.server.side.encryption.enabledfalse
alluxio.underfs.s3.signer.algorithm
alluxio.underfs.s3.socket.timeout50sec
alluxio.underfs.s3.streaming.upload.enabledfalse
alluxio.underfs.s3.streaming.upload.partition.size64MB
alluxio.underfs.s3.threads.max40与S3通信时使用的最大线程数目和最大并发连接数。包括数据上载以及元数据操作线程。该数目至少要等于最大管理线程与最大上传线程数目之和。默认值为40,即默认管理线程与默认上传线程池大小之和。
alluxio.underfs.s3.upload.threads.max20进行多部分上传时上传数据到S3所使用的最大线程数目,这些操作会相对耗时,然而由于某些线程会引起错误,过多线程会导致带宽饥饿。默认值为2。
alluxio.underfs.web.connnection.timeout60s
alluxio.underfs.web.header.last.modifiedEEE, dd MMM yyyy HH:mm:ss zzz
alluxio.underfs.web.parent.namesParent Directory,..,../
alluxio.underfs.web.titlesIndex of ,Directory listing for
alluxio.web.cors.enabledfalse
alluxio.web.file.info.enabledtrue
alluxio.web.refresh.interval15s
alluxio.web.threads1web服务器的线程数目。
alluxio.work.dir${alluxio.home}Alluxio的工作目录。默认情况下,journal、logs以及底层文件系统的数据(如果使用本地文件系统)都会写在该目录下。
alluxio.zookeeper.addressZooKeeper地址。
alluxio.zookeeper.auth.enabledtrue
alluxio.zookeeper.connection.timeout15s连接到Zookeeper时的连接时限。
alluxio.zookeeper.election.path/alluxio/electionZooKeeper的选举文件夹。
alluxio.zookeeper.enabledfalse若为true,则使用zooKeeper启动master容错机制。
alluxio.zookeeper.job.election.path/job_election
alluxio.zookeeper.job.leader.path/job_leader
alluxio.zookeeper.leader.inquiry.retry10从ZooKeeper申请leader的最大请求次数。
alluxio.zookeeper.leader.path/alluxio/leaderZooKeeper的leader文件夹。
alluxio.zookeeper.session.timeout60s连接到Zookeeper时的会话时限。
aws.accessKeyId
aws.secretKey
fs.cos.access.key
fs.cos.app.id
fs.cos.connection.max1024
fs.cos.connection.timeout50sec
fs.cos.region
fs.cos.secret.key
fs.cos.socket.timeout50sec
fs.gcs.accessKeyId
fs.gcs.secretAccessKey
fs.kodo.accesskey
fs.kodo.secretkey
fs.oss.accessKeyId
fs.oss.accessKeySecret
fs.oss.endpoint
fs.swift.auth.method选择身份验证方法:[tempauth (default), swiftauth, keystone, keystonev3]
fs.swift.auth.urlREST服务器的认证URL,例如http://server:8090/auth/v1.0
fs.swift.passworduser:tenant认证的密码
fs.swift.regionKeystone认证的服务地区
fs.swift.simulation是否模拟单节点Swift后台用于验证,默认为否
fs.swift.tenantSwift user用于认证
fs.swift.userSwift tenant用于认证

Master配置项

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

属性名默认值描述
alluxio.master.audit.logging.enabledfalse
alluxio.master.audit.logging.queue.capacity10000
alluxio.master.backup.directory/alluxiobackups
alluxio.master.backup.entry.buffer.count10000
alluxio.master.bind.host0.0.0.0Alluxio master绑定的主机名。参考多宿主网络
alluxio.master.daily.backup.enabledfalse
alluxio.master.daily.backup.files.retained3
alluxio.master.daily.backup.time05:00
alluxio.master.embedded.journal.addresses
alluxio.master.embedded.journal.appender.batch.size512KB
alluxio.master.embedded.journal.election.timeout10s
alluxio.master.embedded.journal.heartbeat.interval3s
alluxio.master.embedded.journal.port19200
alluxio.master.embedded.journal.shutdown.timeout10sec
alluxio.master.embedded.journal.storage.levelDISK
alluxio.master.embedded.journal.transport.max.inbound.message.size100MB
alluxio.master.embedded.journal.transport.request.timeout.ms5sec
alluxio.master.embedded.journal.triggered.snapshot.wait.timeout2hour
alluxio.master.embedded.journal.write.timeout30sec
alluxio.master.file.access.time.journal.flush.interval1h
alluxio.master.file.access.time.update.precision1d
alluxio.master.file.access.time.updater.shutdown.timeout1sec
alluxio.master.filesystem.liststatus.result.message.length10000
alluxio.master.format.file.prefix_format当journal被格式化时,在joural文件夹下生成的文件的文件名前缀。当判断journal是否被格式化时master会查找文件名以该前缀开头的文件。
alluxio.master.heartbeat.timeout10min
alluxio.master.hostnameAlluxio master主机名。
alluxio.master.journal.checkpoint.period.entries2000000在创建一个新journal检查点之前写入的journal数。
alluxio.master.journal.flush.batch.time5ms等待批处理日志写入的时间。
alluxio.master.journal.flush.timeout5min在放弃和关闭master之前保持重试日志写入的时间量。
alluxio.master.journal.folder${alluxio.work.dir}/journal存储master journal日志的路径。
alluxio.master.journal.gc.period2min扫描和删除陈旧的journal检查点的频率。
alluxio.master.journal.gc.threshold5min垃圾收集检查点的最小年龄。
alluxio.master.journal.init.from.backup
alluxio.master.journal.log.size.bytes.max10MB如果一个日志文件大小超过该值,会产生下一个文件。
alluxio.master.journal.retry.interval1sec
alluxio.master.journal.tailer.shutdown.quiet.wait.time5sec在备用master停止监听线程之前,在该配置项指定的时间内不应对leader master的journal作任何更新。
alluxio.master.journal.tailer.sleep.time1sec指定当备用master无法检测到leader master journal的更新时,其睡眠时间。
alluxio.master.journal.temporary.file.gc.threshold30min临时文件垃圾收集检查点的最小年龄。
alluxio.master.journal.typeEMBEDDED使用journal类型,UFS(存储journal在UFS中)和NOOP(不使用journal)。
alluxio.master.journal.ufs.optionjournal操作使用的配置。
alluxio.master.jvm.monitor.enabledfalse是否在master上启动JVM monitor线程。
alluxio.master.keytab.fileAlluxio master的Kerberos密钥表文件。
alluxio.master.lock.pool.concurrency.level100
alluxio.master.lock.pool.high.watermark1000000
alluxio.master.lock.pool.initsize1000
alluxio.master.lock.pool.low.watermark500000
alluxio.master.log.config.report.heartbeat.interval1h
alluxio.master.metastoreHEAP
alluxio.master.metastore.dir${alluxio.work.dir}/metastore
alluxio.master.metastore.inode.cache.evict.batch.size1000
alluxio.master.metastore.inode.cache.high.water.mark.ratio0.85
alluxio.master.metastore.inode.cache.low.water.mark.ratio0.8
alluxio.master.metastore.inode.cache.max.size10000000
alluxio.master.metastore.inode.enumerator.buffer.count10000
alluxio.master.metastore.inode.inherit.owner.and.grouptrue
alluxio.master.metastore.inode.iteration.crawler.countUse {CPU core count} for enumeration
alluxio.master.metrics.time.series.interval5min
alluxio.master.mount.table.root.alluxio/Alluxio mount根节点。
alluxio.master.mount.table.root.optionAlluxio mount根节点UFS配置。
alluxio.master.mount.table.root.readonlyfalseAlluxio mount根节点是否只读。
alluxio.master.mount.table.root.sharedtrueAlluxio mount根节点是否共享。
alluxio.master.mount.table.root.ufs${alluxio.work.dir}/underFSStorage挂载到Alluxio mount根节点的UFS。
alluxio.master.periodic.block.integrity.check.interval1hr块完整性检查的间隔,如果小于0则不启用。
alluxio.master.periodic.block.integrity.check.repairfalse完整性检查时是否要删除孤儿块。这是个实验性的属性。
alluxio.master.persistence.blacklist
alluxio.master.persistence.checker.interval1s
alluxio.master.persistence.initial.interval1s
alluxio.master.persistence.max.interval1hr
alluxio.master.persistence.max.total.wait.time1day
alluxio.master.persistence.scheduler.interval1s
alluxio.master.principalAlluxio master的Kerberos主体。
alluxio.master.replication.check.interval1min
alluxio.master.rpc.addresses
alluxio.master.rpc.executor.core.pool.size0
alluxio.master.rpc.executor.keepalive60sec
alluxio.master.rpc.executor.max.pool.size500
alluxio.master.rpc.executor.min.runnable1
alluxio.master.rpc.executor.parallelism2 * {CPU core count}
alluxio.master.rpc.port19998Alluxio master的运行端口。
alluxio.master.standby.heartbeat.interval2minAlluxio master进程间的心跳间隔时间。
alluxio.master.startup.block.integrity.check.enabledtrue是否应该在启动时检查系统孤立的块(由于各种系统故障而没有相应文件但仍然占用系统资源的块)。如果此属性为真,则在主启动期间将删除孤立的块。此属性自1.7.1开始可用。
alluxio.master.tieredstore.global.level0.aliasMEM整个系统中最高存储层的名称。
alluxio.master.tieredstore.global.level1.aliasSSD整个系统中第二存储层的名称。
alluxio.master.tieredstore.global.level2.aliasHDD整个系统中第三存储层的名称。
alluxio.master.tieredstore.global.levels3系统中存储层的总数目。
alluxio.master.tieredstore.global.mediumtypeMEM, SSD, HDD
alluxio.master.ttl.checker.interval1hour清除过期ttl值的文件任务的时间间隔。
alluxio.master.ufs.active.sync.event.rate.interval60sec
alluxio.master.ufs.active.sync.interval30sec
alluxio.master.ufs.active.sync.max.activities10
alluxio.master.ufs.active.sync.max.age10
alluxio.master.ufs.active.sync.poll.timeout10sec
alluxio.master.ufs.active.sync.thread.pool.size3
alluxio.master.ufs.block.location.cache.capacity1000000UFS块缓存的容量。这个cache缓存UFS块位置,适用于要保存但不在Alluxio空间中的文件,以便这些文件的列表状态不需要反复询问UFS的块位置。如果将此设置为0,则缓存将被禁用。
alluxio.master.ufs.path.cache.capacity100000UFS路径缓存的容量。此缓存用来近似一次性元数据加载行为。(查看 alluxio.user.file.metadata.load.type)。更大的缓存将耗费更大的内存,但是能够更好地近似一次性行为。
alluxio.master.ufs.path.cache.threads64线程池(可异步处理路径,用于缓存UFS路径)的最大容积。更多的线程数将减少异步缓存中的staleness数量,但可能会影响性能。 如果设置为0,缓存将被禁用,而alluxio.user.file.metadata.load.type = Once将表现为“Always”。
alluxio.master.unsafe.direct.persist.object.enabledtrue
alluxio.master.update.check.enabledtrue
alluxio.master.web.bind.host0.0.0.0Alluxio master web UI绑定的主机名。参考多宿主网络
alluxio.master.web.hostname提供Alluxio Master web UI的主机名。
alluxio.master.web.port19999Alluxio web UI运行端口。
alluxio.master.whitelist/以该配置中的前缀开头的路径是可缓存的,这些前缀用分号隔开。Alluxio在第一次读这些文件时会尝试缓存这些可缓存的文件。
alluxio.master.worker.connect.wait.time5sec在开始接受client请求之前,Alluxio master会等待一段时间,让所有worker注册。此属性决定等待时间。
alluxio.master.worker.heartbeat.interval10sec
alluxio.master.worker.timeout5minAlluxio master与worker之间响应的最大超时时间,超过该时间表明该worker失效。

Worker配置项

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

属性名默认值描述
alluxio.worker.allocator.classalluxio.worker.block.allocator.MaxFreeAllocatorworker在特定存储层上分配不同存储目录空间的策略,有效值包括:alluxio.worker.block.allocator.MaxFreeAllocator, alluxio.worker.block.allocator.GreedyAllocator, alluxio.worker.block.allocator.RoundRobinAllocator
alluxio.worker.bind.host0.0.0.0Alluxio worker节点绑定的主机名,参考多宿主网络
alluxio.worker.block.heartbeat.interval1secworker心跳时间间隔。
alluxio.worker.block.heartbeat.timeout${alluxio.worker.master.connect.retry.timeout}worker心跳超时时间。
alluxio.worker.block.master.client.pool.size11block master在Alluxio worker上的client池容量。
alluxio.worker.data.folder/alluxioworker/每个存储目录中的一个相对路径,该路径被Alluxio worker用作层次化存储中存放数据的文件夹。
alluxio.worker.data.folder.permissionsrwxrwxrwx
alluxio.worker.data.folder.tmp.tmp_blocks相对于 alluxio.worker.data.folder 的路径, 用于存放临时数据.
alluxio.worker.data.server.classalluxio.worker.grpc.GrpcDataServer选择运行worker的网络栈,可选值为:alluxio.worker.netty.NettyDataServer
alluxio.worker.data.server.domain.socket.addressdomain socket 路径。如果设置,Alluxio worker 通过这个路径读写数据。
alluxio.worker.data.server.domain.socket.as.uuidfalse如果为真,则属性worker.data.server.domain.socket是域套接字的主目录的路径,也是唯一标识符用作域套接字名称。此外,客户端忽略alluxio.user.hostname在检测本地工作人员进行短路操作时。如果为false,则该属性是UNIX域套接字的绝对路径。
alluxio.worker.data.tmp.subdir.max1024在 alluxio.worker.data.folder.tmp 中可以创建的文件夹的最大数目.
alluxio.worker.evictor.classalluxio.worker.block.evictor.LRUEvictor当某个存储层空间不足时,worker剔除块文件的策略。可选值包括alluxio.worker.block.evictor.LRFUEvictoralluxio.worker.block.evictor.GreedyEvictoralluxio.worker.block.evictor.LRUEvictor
alluxio.worker.evictor.lrfu.attenuation.factor2.0在[2, INF)之间的一个衰减因子,用于控制LRFU策略行为。
alluxio.worker.evictor.lrfu.step.factor0.25在[0, 1]之间的一个因子,用于控制LRFU策略行为:较小值使LRFU更接近于LFU,较大值更接近于LRU。
alluxio.worker.file.buffer.size1MBworker将数据写入分层存储的缓冲区大小。
alluxio.worker.file.persist.pool.size64在worker上用于异步存储ASYNC_THROUGH类型文件的线程池大小。每个线程会存储一个文件。
alluxio.worker.file.persist.rate.limit2GB异步存储时每秒最大写入速度。
alluxio.worker.file.persist.rate.limit.enabledfalse是否在异步存储时启用限流功能。
alluxio.worker.filesystem.heartbeat.interval1secworker和文件系统master之间的心跳检测时间间隔。
alluxio.worker.free.space.timeout10secworker等待驱逐来为客户端写请求提供空间的持续时间。
alluxio.worker.hostnameAlluxio worker的主机名。
alluxio.worker.jvm.monitor.enabledfalse是否在worker上启用JVM monitor线程。
alluxio.worker.keytab.fileAlluxio worker的Kerberos密钥对文件。
alluxio.worker.master.connect.retry.timeout1hour
alluxio.worker.memory.size2/3 of total system memory, or 1GB if system memory size cannot be determined每个worker节点的内存容量。
alluxio.worker.network.async.cache.manager.threads.max8
alluxio.worker.network.block.reader.threads.max2048
alluxio.worker.network.block.writer.threads.max1024
alluxio.worker.network.flowcontrol.window2MB
alluxio.worker.network.keepalive.time30sec
alluxio.worker.network.keepalive.timeout30sec
alluxio.worker.network.max.inbound.message.size4MB
alluxio.worker.network.netty.boss.threads1收到新的请求时启用的线程数目。
alluxio.worker.network.netty.channelEPOLLnetty通道类型:NIO或EPOLL。
alluxio.worker.network.netty.shutdown.quiet.period2sec沉默期时间长度。当netty服务器正终止时,要确保在该时间段内不会产生RPC调用。如果出现了RPC调用,那么在该netty服务器终止时会该沉默期会重新开始。
alluxio.worker.network.netty.watermark.high32KB在切换到不可写状态之前,写队列中可存放的最大字节数。
alluxio.worker.network.netty.watermark.low8KB一旦写队列中的high watermark达到了,该队列在切换到可写状态之前必须刷新到该配置项指定的low watermark。
alluxio.worker.network.netty.worker.threads0处理请求的线程数目,0表示#cpuCores * 2
alluxio.worker.network.reader.buffer.size4MB
alluxio.worker.network.reader.max.chunk.size.bytes2MB
alluxio.worker.network.shutdown.timeout15sec
alluxio.worker.network.writer.buffer.size.messages8
alluxio.worker.network.zerocopy.enabledtrue
alluxio.worker.principalAlluxio worker的Kerberos主体。
alluxio.worker.rpc.port29999Alluxio worker节点运行端口。
alluxio.worker.session.timeout1minworker和client连接的超时时间,超时后表明该会话失效。
alluxio.worker.storage.checker.enabledtrue
alluxio.worker.tieredstore.block.lock.readers1000一个Alluxio数据块锁最大允许的并行读数目。
alluxio.worker.tieredstore.block.locks1000一个Alluxio数据块worker的数据块锁数目。较大值会达到更好的锁粒度,但会使用更多空间。
alluxio.worker.tieredstore.level0.aliasMEM在worker上最高存储层的别名,该值一定要对应master配置项中全局存储层之一。禁止将全局继承结构中较低级别存储层的别名放在worker中较高级别,因此默认情况下,在任何worker上SSD都不能在MEM之前。
alluxio.worker.tieredstore.level0.dirs.mediumtype${alluxio.worker.tieredstore.level0.alias}
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.watermark.high.ratio0.95在顶层存储层中的高水位比例 (取值为0到1之间)。
alluxio.worker.tieredstore.level0.watermark.low.ratio0.7在顶层存储层中的低水位比例 (取值为0到1之间)。
alluxio.worker.tieredstore.level1.alias
alluxio.worker.tieredstore.level1.dirs.mediumtype${alluxio.worker.tieredstore.level1.alias}
alluxio.worker.tieredstore.level1.dirs.path
alluxio.worker.tieredstore.level1.dirs.quota
alluxio.worker.tieredstore.level1.watermark.high.ratio0.95
alluxio.worker.tieredstore.level1.watermark.low.ratio0.7
alluxio.worker.tieredstore.level2.alias
alluxio.worker.tieredstore.level2.dirs.mediumtype${alluxio.worker.tieredstore.level2.alias}
alluxio.worker.tieredstore.level2.dirs.path
alluxio.worker.tieredstore.level2.dirs.quota
alluxio.worker.tieredstore.level2.watermark.high.ratio0.95
alluxio.worker.tieredstore.level2.watermark.low.ratio0.7
alluxio.worker.tieredstore.levels1worker上的存储层数目。
alluxio.worker.tieredstore.reserver.interval1sec空间预留服务运行的时间间隔,该服务为每个存储层预留一定比例的空间。
alluxio.worker.ufs.block.open.timeout5min从UFS打开一个块的时限。
alluxio.worker.ufs.instream.cache.enabledtrue在存储输入流下启用缓存,以便以后在同一个文件上查找操作可重用缓存的输入流。这将提高位置读取性能,因为一些文件系统的打开操作是昂贵的。当UFS文件被修改时,缓存的输入流将过时,而不通知Alluxio。
alluxio.worker.ufs.instream.cache.expiration.time5min缓存的UFS输入流过期时间。
alluxio.worker.ufs.instream.cache.max.size5000UFS输入流缓存中最大输入数。
alluxio.worker.web.bind.host0.0.0.0Alluxio worker web服务绑定的主机名,参考See 多宿主网络
alluxio.worker.web.hostnameAlluxio worker web UI绑定的主机名。
alluxio.worker.web.port30000Alluxio worker web UI运行的端口号。

用户配置项

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

属性名默认值描述
alluxio.user.app.id
alluxio.user.block.avoid.eviction.policy.reserved.size.bytes0MB
alluxio.user.block.master.client.threads10数据块master client与数据块master通信使用的线程数目。
alluxio.user.block.remote.read.buffer.size.bytes8MB从远程Alluxio worker读取数据时的缓冲区大小。它决定了一个Alluxio client和一个Alluxio worker之间Thrift connections的最大数量
alluxio.user.block.size.bytes.default64MBAlluxio文件的默认大小。
alluxio.user.block.worker.client.pool.gc.threshold300sec数据块worker client如果闲置超过这个时间会被关闭。
alluxio.user.block.worker.client.pool.size1024
alluxio.user.block.worker.client.read.retry5客户端放弃读某个块之前最大重试worker个数。
alluxio.user.block.write.location.policy.classalluxio.client.block.policy.LocalFirstPolicy选择worker进行写文件数据块时的默认定位机制。
alluxio.user.conf.cluster.default.enabledtrue
alluxio.user.conf.sync.interval1min
alluxio.user.date.format.patternMM-dd-yyyy HH:mm:ss:SSS以指定的日期格式,在Cli命令和Web页面中显示日期。
alluxio.user.file.buffer.bytes8MB在文件系统中进行读写操作时使用的缓冲区大小。
alluxio.user.file.copyfromlocal.block.location.policy.classalluxio.client.block.policy.RoundRobinPolicy
alluxio.user.file.create.ttl-1
alluxio.user.file.create.ttl.actionDELETE
alluxio.user.file.delete.uncheckedfalse在尝试以递归方式删除持久化目录之前,检查底层文件系统中的内容是否与Alluxio同步。
alluxio.user.file.master.client.threads10文件master client与文件master通信时使用的线程数目。
alluxio.user.file.metadata.load.typeONCE从UFS中加载元数据的行为。当访问关于路径的信息,但该路径在Alluxio中不存在时,元数据能够从UFS中加载。合法的选项有AlwaysNeverOnceAlways将总是访问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.enabledtrue当从Alluxio远程worker读文件时,是否缓存文件到Alluxio的本地worker。当从UFS读文件时,是否缓存到本地worker与这个选项无关。
alluxio.user.file.persist.on.renamefalse
alluxio.user.file.persistence.initial.wait.time0
alluxio.user.file.readtype.defaultCACHE_PROMOTE创建Alluxio文件时的默认读类型。可选值为CACHE_PROMOTE (如果数据已经在Alluxio存储内,将其移动到最高存储层,如果数据需要从底层存储进行读取,将其写到本地Alluxio的最高存储层)、CACHE (如果数据需要从底层存储进行读取,将其写到本地Alluxio的最高存储层), NO_CACHE (数据不与Alluxio交互,如果是从Alluxio中进行读取,将不会发生数据块迁移或者剔除)。
alluxio.user.file.replication.durable1
alluxio.user.file.replication.max-1
alluxio.user.file.replication.min0
alluxio.user.file.ufs.tier.enabledfalse
alluxio.user.file.waitcompleted.poll1sec当使用waitCompleted机制时,查询文件完成状态的时间间隔。
alluxio.user.file.write.tier.default0数据块写入的默认存储层。可选值为整型数值。非负值代表从高层到底层的存储层(0代表第一层存储层,1代表第二层存储层,以此类推)。如果给定值大于存储层数量,这个数字代表最底层的存储层。负值代表从底层到高层的存储层(-1代表最底层存储层,-2代表次底层存储层,以此类推)如果给定值的绝对值大于存储层数量,这个数字代表最高层存储层。
alluxio.user.file.writetype.defaultASYNC_THROUGH创建Alluxio文件时的默认写类型。可选值为MUST_CACHE (数据仅仅存储在Alluxio中,并且必须存储在其中), CACHE_THROUGH (尽量缓冲数据,同时同步写入到底层文件系统), THROUGH (不缓冲数据,同步写入到底层文件系统)。
alluxio.user.hostname给alluxio客户端使用的主机名。
alluxio.user.local.reader.chunk.size.bytes8MB
alluxio.user.local.writer.chunk.size.bytes64KB
alluxio.user.logs.dir${alluxio.logs.dir}/user
alluxio.user.metrics.collection.enabledfalse
alluxio.user.metrics.heartbeat.interval3sec
alluxio.user.network.data.timeout30sec
alluxio.user.network.flowcontrol.window2MB
alluxio.user.network.keepalive.time9223372036854775807
alluxio.user.network.keepalive.timeout30sec
alluxio.user.network.max.inbound.message.size100MB
alluxio.user.network.netty.channelEPOLLnetty网络通道类型。
alluxio.user.network.netty.worker.threads0远程数据块worker client从远程数据块worker读取数据使用的线程数目。
alluxio.user.network.reader.buffer.size.messages16
alluxio.user.network.reader.chunk.size.bytes1MB
alluxio.user.network.writer.buffer.size.messages16
alluxio.user.network.writer.chunk.size.bytes1MB
alluxio.user.network.writer.close.timeout30min
alluxio.user.network.writer.flush.timeout30min
alluxio.user.network.zerocopy.enabledtrue
alluxio.user.rpc.retry.base.sleep50ms在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了这个指数级重试的基数。
alluxio.user.rpc.retry.max.duration2min在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了放弃前重试的最大时延。
alluxio.user.rpc.retry.max.sleep3sec在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了这个重试延迟的最大值。
alluxio.user.short.circuit.enabledtrue是否允许用户绕过Alluxio读取数据。
alluxio.user.ufs.block.location.all.fallback.enabledfalse
alluxio.user.ufs.block.read.concurrency.max2147483647一个Block Worker上的一个UFS块并发访问的最大个数。
alluxio.user.ufs.block.read.location.policyalluxio.client.block.policy.LocalFirstPolicy当Alluxio client从UFS读取文件时,它将读取委托给Alluxio worker。client使用此策略来选择要阅读哪个worker。 内置选择有:[alluxio.client.block.policy.DeterministicHashPolicy, alluxio.client.block.policy.LocalFirstAvoidEvictionPolicy, alluxio.client.block.policy.LocalFirstPolicy, alluxio.client.block.policy.MostAvailableFirstPolicy, alluxio.client.block.policy.RoundRobinPolicy, alluxio.client.block.policy.SpecificHostPolicy]
alluxio.user.ufs.block.read.location.policy.deterministic.hash.shards1当alluxio.user.ufs.block.read.location.policy设为alluxio.client.block.policy.DeterministicHashPolicy,这设定了hash shards的数量。
alluxio.user.worker.list.refresh.interval2min

集群管理配置项

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

属性名默认值描述
alluxio.integration.master.resource.cpu1运行Alluxio master所需要的cpu核数。
alluxio.integration.master.resource.mem1024MB运行Alluxio master所需要的内存大小。
alluxio.integration.mesos.alluxio.jar.urlhttp://downloads.alluxio.io/downloads/files/${alluxio.version}/alluxio-${alluxio.version}-bin.tar.gz
alluxio.integration.mesos.jdk.pathjdk1.8.0_151
alluxio.integration.mesos.jdk.urlLOCAL
alluxio.integration.mesos.master.nameAlluxioMasterMesos运行Alluxio master的任务名称。
alluxio.integration.mesos.master.node.count1启动Alluxio master的进程数目。
alluxio.integration.mesos.principalalluxioAlluxio框架账户。
alluxio.integration.mesos.role*Alluxio框架在Mesos集群中的角色。
alluxio.integration.mesos.secretAlluxio框架密码。
alluxio.integration.mesos.userMesos executor运行Alluxio worker使用的账户。
alluxio.integration.mesos.worker.nameAlluxioWorkerMesos运行Alluxio worker的任务名称。
alluxio.integration.worker.resource.cpu1运行Alluxio worker所需要的cpu核数。
alluxio.integration.worker.resource.mem1024MB运行Alluxio worker所需要的内存大小,该部分内存不包含为层次化存储配置的内容。
alluxio.integration.yarn.workers.per.host.max1

安全性配置项

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

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