配置项列表

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.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.host.resolution.timeout5secAlluxio在启动Master和Worker过程中,需要确保它们在监听外部可达且可解析的主机名。如果没有显式指定主机名,Alluxio会自动尝试选择一个合适的主机名。该配置项指定用于判断一个候选主机名在网络上是否可达的最长等待时间。
alluxio.network.netty.heartbeat.timeout30sec如果没有流量传入,服务器在关闭网络连接之前等待的总时间。
alluxio.network.thrift.frame.size.bytes.max16MB(实验属性) 设置在Thrift RPC通讯过程中,使用的最大容许帧包(Frame)限值.
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.site.conf.dir${alluxio.conf.dir}/,${user.home}/.alluxio/,/etc/alluxio/加载配置文件时默认的搜索路径
alluxio.test.modefalse设置在测试过程中是否启用某些特殊行为。
alluxio.tmp.dirs/tmp存储Alluxio临时文件的路径,使用逗号作为分隔符。如果指定了多个路径,每个临时文件将随机选择一个路径。目前,只有上传到对象存储的文件存储在这些路径中。
alluxio.underfs.address${alluxio.work.dir}/underFSStorageAlluxio在底层文件系统中的文件夹。
alluxio.underfs.allow.set.owner.failurefalse是否允许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.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.listing.length1000底层文件系统在一次查询中可以列出的目录条目的最大数量。如果条目数量大于指定长度,则需要多次查询才能列出。
alluxio.underfs.object.store.mount.shared.publiclyfalse是否对所有Alluxio用户共享挂载的对象存储系统。 注意,该配置对HDFS或者本地文件系统没有任何影响。默认值是false。
alluxio.underfs.object.store.read.retry.base.sleep50ms块从对象存储中读取时,将自动重试瞬态错误,并进行指数回退。这个性质决定了指数回退的基本时间。
alluxio.underfs.object.store.read.retry.max.num20块从对象存储中读取时,将自动重试瞬态错误,并进行指数回退。这个性质决定了最大重试次数。
alluxio.underfs.object.store.read.retry.max.sleep30sec块从对象存储中读取时,将自动重试瞬态错误,并进行指数回退。这个性质决定了回退中最大等待时间。
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.disable.dns.bucketsfalse可选配置项,指定所有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.max40与S3通信时使用的最大线程数目和最大并发连接数。包括数据上载以及元数据操作线程。该数目至少要等于最大管理线程与最大上传线程数目之和。默认值为40,即默认管理线程与默认上传线程池大小之和。
alluxio.underfs.s3.upload.threads.max20进行多部分上传时上传数据到S3所使用的最大线程数目,这些操作会相对耗时,然而由于某些线程会引起错误,过多线程会导致带宽饥饿。默认值为2。
alluxio.underfs.s3a.consistency.timeout1min等待底层存储元数据一致所持续的最久时间。该配置仅用于本应该执行成功的Alluxio内部操作,但是由于最终一致性,可能现在并没有执行成功。默认值是60000毫秒(1分钟)。
alluxio.underfs.s3a.default.mode0700
alluxio.underfs.s3a.directory.suffix/S3会把目录表示为0字节的对象,名字以指定后缀结尾。默认值为“/”。
alluxio.underfs.s3a.inherit_acltrue可选地关闭来关闭对象的ACL桶继承。
alluxio.underfs.s3a.list.objects.v1false是否使用GET Bucket(列出对象)API。默认为”false”。
alluxio.underfs.s3a.request.timeout1min
alluxio.underfs.s3a.secure.http.enabledfalse是否使用HTTPS协议与S3进行通信。默认值为false。
alluxio.underfs.s3a.server.side.encryption.enabledfalse是否加密存储在S3中的数据。默认值为false。
alluxio.underfs.s3a.signer.algorithm签名算法,用于向s3服务签名请求。这是可选的,如果没有设置,客户端将自动确定它。若要与仅支持v2签名的S3端点交互,请将其设置为“S3SignerType”。
alluxio.underfs.s3a.socket.timeout50sec与S3通信时socket超时的时间长度。
alluxio.web.resources${alluxio.home}/core/server/common/src/main/webappweb应用资源路径。
alluxio.web.threads1web服务器的线程数目。
alluxio.work.dir${alluxio.home}Alluxio的工作目录。默认情况下,journal、logs以及底层文件系统的数据(如果使用本地文件系统)都会写在该目录下。
alluxio.zookeeper.addressZooKeeper地址。
alluxio.zookeeper.connection.timeout15s连接到Zookeeper时的连接时限。
alluxio.zookeeper.election.path/electionZooKeeper的选举文件夹。
alluxio.zookeeper.enabledfalse若为true,则使用zooKeeper启动master容错机制。
alluxio.zookeeper.leader.inquiry.retry10从ZooKeeper申请leader的最大请求次数。
alluxio.zookeeper.leader.path/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.oss.accessKeyId
fs.oss.accessKeySecret
fs.oss.endpoint
fs.swift.apikey
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.use.public.urlREST服务器是否在公共域,默认为是
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.bind.host0.0.0.0Alluxio master绑定的主机名。参考多宿主网络
alluxio.master.connection.timeout0Alluxio master设置Thrift的超时时间,超过该时间关闭连接,默认值是0,表示无时间限制
alluxio.master.daily.backup.enabledfalse
alluxio.master.daily.backup.files.retained3
alluxio.master.daily.backup.time05:00
alluxio.master.file.async.persist.handleralluxio.master.file.async.DefaultAsyncPersistHandler处理异步持久化请求的处理类。
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.formatter.classalluxio.master.journalv0.ProtoBufJournalFormatter序列化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.typeUFS使用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.lineage.checkpoint.classalluxio.master.lineage.checkpoint.CheckpointLatestPlanner
alluxio.master.lineage.checkpoint.interval5min
alluxio.master.lineage.recompute.interval5min
alluxio.master.lineage.recompute.log.path${alluxio.logs.dir}/recompute.log
alluxio.master.log.config.report.heartbeat.interval1h
alluxio.master.master.heartbeat.interval2min
alluxio.master.metastore.inode.inherit.owner.and.grouptrue
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.underfs.address}挂载到Alluxio mount根节点的UFS。
alluxio.master.periodic.block.integrity.check.interval1hr块完整性检查的间隔,如果小于0则不启用。
alluxio.master.periodic.block.integrity.check.repairtrue完整性检查时是否要删除孤儿块。这是个实验性的属性。
alluxio.master.port19998Alluxio master的运行端口。
alluxio.master.principalAlluxio master的Kerberos主体。
alluxio.master.startup.block.integrity.check.enabledtrue是否应该在启动时检查系统孤立的块(由于各种系统故障而没有相应文件但仍然占用系统资源的块)。如果此属性为真,则在主启动期间将删除孤立的块。此属性自1.7.1开始可用。
alluxio.master.startup.consistency.check.enabledtrue当Alluxio启动时是否检查与底层存储系统的一致性,在该检查过程中,Alluxio会进入只读模式。该检查默认开启。
alluxio.master.thrift.shutdown.timeout60secthrift server在关闭时的最大等待时间。
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.ttl.checker.interval1hour清除过期ttl值的文件任务的时间间隔。
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.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.threads.maxA third of the max file descriptors limit, if b/w 2048 and 32768Alluxio master能处理的最大RPC并发请求数目,该值用于配置master的Thrift线程池的最大线程数。
alluxio.master.worker.threads.min512Alluxio master用于处理RPC请求的最小线程数,该值用于配置master的Thrift线程池的最小线程数。
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.block.threads.max2048worker能处理的最大RPC并发请求数目,该值用于配置worker的Thrift线程池的最大线程数。
alluxio.worker.block.threads.min256worker用于处理RPC请求的最小线程数,该值用于配置worker的Thrift线程池的最小线程数。
alluxio.worker.data.bind.host0.0.0.0运行Alluxio worker数据服务的主机名,参考多宿主网络
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.hostnameAlluxio worker数据服务的主机名。
alluxio.worker.data.port29999运行Alluxio worker数据服务的端口。
alluxio.worker.data.server.classalluxio.worker.netty.NettyDataServer选择运行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.netty.async.cache.manager.threads.max8用于异步缓存netty数据服务器中的块的最大线程数。
alluxio.worker.network.netty.backlognetty套接字选项SO_BACKLOG:集合队列数量。
alluxio.worker.network.netty.block.reader.threads.max2048处理读数据块的线程数目。
alluxio.worker.network.netty.block.writer.threads.max1024处理写数据块的线程数目。
alluxio.worker.network.netty.boss.threads1收到新的请求时启用的线程数目。
alluxio.worker.network.netty.buffer.receivenetty套接字选项SO_RCVBUF:用于接收的应有缓存大小。
alluxio.worker.network.netty.buffer.sendnetty套接字选项SO_SNDBUF:用于发送的应有缓存大小。
alluxio.worker.network.netty.channelEPOLLnetty通道类型:NIO或EPOLL。
alluxio.worker.network.netty.file.transferMAPPED当将文件返回给用户时,该配置项用于选择数据如何传输,有效值为MAPPED (使用java MappedByteBuffer)以及TRANSFER (使用Java FileChannel.transferTo)
alluxio.worker.network.netty.file.writer.threads.max1024处理往底层文件系统写文件的线程数目。
alluxio.worker.network.netty.reader.buffer.size.packets16client从worker读数据时最大并行数据包数量。
alluxio.worker.network.netty.rpc.threads.max2048处理RPC的线程数目。
alluxio.worker.network.netty.shutdown.quiet.period2sec沉默期时间长度。当netty服务器正终止时,要确保在该时间段内不会产生RPC调用。如果出现了RPC调用,那么在该netty服务器终止时会该沉默期会重新开始。
alluxio.worker.network.netty.shutdown.timeout15sec等待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.netty.writer.buffer.size.packets16client向worker写数据时最大并行数据包数量。
alluxio.worker.port29998Alluxio worker节点运行端口。
alluxio.worker.principalAlluxio worker的Kerberos主体。
alluxio.worker.session.timeout1minworker和client连接的超时时间,超时后表明该会话失效。
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.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.ratio0.95在顶层存储层中的高水位比例 (取值为0到1之间)。
alluxio.worker.tieredstore.level0.watermark.low.ratio0.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.ratio0.95
alluxio.worker.tieredstore.level1.watermark.low.ratio0.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.ratio0.95
alluxio.worker.tieredstore.level2.watermark.low.ratio0.7
alluxio.worker.tieredstore.levels1worker上的存储层数目。
alluxio.worker.tieredstore.reserver.enabledtrue是否启用层次化存储空间预留服务。
alluxio.worker.tieredstore.reserver.interval1sec空间预留服务运行的时间间隔,该服务为每个存储层预留一定比例的空间。
alluxio.worker.tieredstore.retry3worker在处理每个存储层block操作时的最大重试次数。
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.master.client.pool.gc.interval120sec
alluxio.user.block.master.client.pool.gc.threshold120sec
alluxio.user.block.master.client.pool.size.max10
alluxio.user.block.master.client.pool.size.min0
alluxio.user.block.remote.read.buffer.size.bytes8MB从远程Alluxio worker读取数据时的缓冲区大小。它决定了一个Alluxio client和一个Alluxio worker之间Thrift connections的最大数量
alluxio.user.block.remote.reader.classalluxio.client.netty.NettyRemoteBlockReader选择运行client使用的网络栈,目前只支持alluxio.client.netty.NettyRemoteBlockReader(使用netty远程读取数据)。 这个设置已经不推荐使用,将在2.0.0版本中删除。
alluxio.user.block.remote.writer.classalluxio.client.netty.NettyRemoteBlockWriter选择运行写数据块的client使用的网络栈。 这个设置已经不推荐使用,将在2.0.0版本中删除。
alluxio.user.block.size.bytes.default512MBAlluxio文件的默认大小。
alluxio.user.block.worker.client.pool.gc.threshold300sec数据块worker client如果闲置超过这个时间会被关闭。
alluxio.user.block.worker.client.pool.size.max128数据块worker client池中缓存的worker client的最大数目。
alluxio.user.block.worker.client.read.retry5客户端放弃读某个块之前最大重试worker个数。
alluxio.user.block.worker.client.threads10数据块worker client向worker发送心跳的线程池大小,如果某些worker宕机会影响client与其他正常worker的通信,那就增大该值。
alluxio.user.conf.cluster.default.enabledtrue
alluxio.user.date.format.patternMM-dd-yyyy HH:mm:ss:SSS以指定的日期格式,在Cli命令和Web页面中显示日期。
alluxio.user.failed.space.request.limits3从文件系统请求空间的尝试次数。
alluxio.user.file.buffer.bytes8MB在文件系统中进行读写操作时使用的缓冲区大小。
alluxio.user.file.cache.partially.read.blocktrue当读取类型是 CACHE 或者 CACHE_PROMOTE 的时候, 如果设置这个变量为真, 没有完全读取的数据块也会被存到Alluxio内.
alluxio.user.file.copyfromlocal.write.location.policy.classalluxio.client.file.policy.RoundRobinPolicy使用copyFromLocal命令时,选择worker进行写文件数据块所使用的默认定位机制。
alluxio.user.file.delete.uncheckedfalse在尝试以递归方式删除持久化目录之前,检查底层文件系统中的内容是否与Alluxio同步。
alluxio.user.file.master.client.pool.gc.interval120sec
alluxio.user.file.master.client.pool.gc.threshold120sec
alluxio.user.file.master.client.pool.size.max10
alluxio.user.file.master.client.pool.size.min0
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.readtype.defaultCACHE_PROMOTE创建Alluxio文件时的默认读类型。可选值为CACHE_PROMOTE (如果数据已经在Alluxio存储内,将其移动到最高存储层,如果数据需要从底层存储进行读取,将其写到本地Alluxio的最高存储层)、CACHE (如果数据需要从底层存储进行读取,将其写到本地Alluxio的最高存储层), NO_CACHE (数据不与Alluxio交互,如果是从Alluxio中进行读取,将不会发生数据块迁移或者剔除)。
alluxio.user.file.seek.buffer.size.bytes1MB在文件seek操作中使用的缓存大小。这个选项只在 alluxio.user.file.cache.partially.read.block 打开的时候有效。
alluxio.user.file.waitcompleted.poll1sec当使用waitCompleted机制时,查询文件完成状态的时间间隔。
alluxio.user.file.write.avoid.eviction.policy.reserved.size.bytes0MB当用户选择LocalFirstAvoidEvictionPolicy作为写文件数据块的定位机制时,用户需要配置worker预留一些数据量来保证数据的存储,默认是0MB。
alluxio.user.file.write.location.policy.classalluxio.client.file.policy.LocalFirstPolicy选择worker进行写文件数据块时的默认定位机制。
alluxio.user.file.write.tier.default0数据块写入的默认存储层。可选值为整型数值。非负值代表从高层到底层的存储层(0代表第一层存储层,1代表第二层存储层,以此类推)。如果给定值大于存储层数量,这个数字代表最底层的存储层。负值代表从底层到高层的存储层(-1代表最底层存储层,-2代表次底层存储层,以此类推)如果给定值的绝对值大于存储层数量,这个数字代表最高层存储层。
alluxio.user.file.writetype.defaultMUST_CACHE创建Alluxio文件时的默认写类型。可选值为MUST_CACHE (数据仅仅存储在Alluxio中,并且必须存储在其中), CACHE_THROUGH (尽量缓冲数据,同时同步写入到底层文件系统), THROUGH (不缓冲数据,同步写入到底层文件系统)。
alluxio.user.heartbeat.interval1secAlluxio worker的心跳时间间隔。
alluxio.user.hostname给alluxio客户端使用的主机名。
alluxio.user.lineage.enabledfalse
alluxio.user.lineage.master.client.threads10
alluxio.user.local.reader.packet.size.bytes8MB当client从本地worker读数据,数据包的最大容量。
alluxio.user.local.writer.packet.size.bytes64KB当client向本地worker写数据,数据包的最大容量。
alluxio.user.metrics.collection.enabledfalse
alluxio.user.metrics.heartbeat.interval3sec
alluxio.user.network.netty.channelEPOLLnetty网络通道类型。
alluxio.user.network.netty.channel.pool.disabledfalse禁用netty网络通道池特性。设置这个选项为真如果客户端的版本 >= 1.3.0 但是服务器版本 <= 1.2.x。
alluxio.user.network.netty.channel.pool.gc.threshold300secnetty网络通道会被关闭如果它被闲置超过这个时间。
alluxio.user.network.netty.channel.pool.size.max1024netty网络通道池的最大容量。
alluxio.user.network.netty.channel.pool.size.min0
alluxio.user.network.netty.reader.buffer.size.packets16当client从远程worker读数据,client可缓存数据包的最大数量。
alluxio.user.network.netty.reader.packet.size.bytes64KB当client从远程worker读数据,数据包的最大容量。
alluxio.user.network.netty.timeout30secNetty client(用于数据块的读写操作)等待数据服务端回复的最长时间。
alluxio.user.network.netty.worker.threads0远程数据块worker client从远程数据块worker读取数据使用的线程数目。
alluxio.user.network.netty.writer.buffer.size.packets16当client向远程worker写数据,client可缓存数据包的最大数量。
alluxio.user.network.netty.writer.close.timeout30minNetty 客户端关闭的最长时间。
alluxio.user.network.netty.writer.packet.size.bytes64KB当client向远程worker写数据,数据包的最大容量。
alluxio.user.network.socket.timeout10min
alluxio.user.rpc.retry.base.sleep50ms在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了这个指数级重试的基数。
alluxio.user.rpc.retry.max.duration2min在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了放弃前重试的最大时延。
alluxio.user.rpc.retry.max.num.retry100在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了重试的最大次数。
alluxio.user.rpc.retry.max.sleep3sec在遇到一些错误的时候,Alluxio客户端的RPC会基于指数级的延迟进行重试。这个配置决定了这个重试延迟的最大值。
alluxio.user.short.circuit.enabledtrue是否允许用户绕过Alluxio读取数据。
alluxio.user.ufs.block.read.concurrency.max2147483647一个Block Worker上的一个UFS块并发访问的最大个数。
alluxio.user.ufs.block.read.location.policyalluxio.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.shards1当alluxio.user.ufs.block.read.location.policy设为alluxio.client.block.policy.DeterministicHashPolicy,这设定了hash shards的数量。
alluxio.user.ufs.delegation.read.buffer.size.bytes8MB通过Alluxio worker从ufs读取数据时使用的缓存大小,每个读取操作至少会读取该数量的字节,除非已经到文件结束位置。
alluxio.user.ufs.delegation.write.buffer.size.bytes2MB通过Alluxio worker写入数据到ufs时使用的缓存大小,每个写入操作至少会写入该数量的字节,除非已经到文件结束位置。
alluxio.user.ufs.file.reader.classalluxio.client.netty.NettyUnderFileSystemFileReader选择通过worker的data server从底层文件系统读取数据的client所使用的网络栈。目前只支持 alluxio.client.netty.NettyUnderFileSystemFileReader (远程读取使用netty)
alluxio.user.ufs.file.writer.classalluxio.client.netty.NettyUnderFileSystemFileWriter选择通过worker的data server向底层文件系统写入数据的client所使用的网络栈。目前只支持 alluxio.client.netty.NettyUnderFileSystemFileWriter (远程读取使用netty)

集群管理配置项

如果使用诸如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.org/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的用户名。若未设置该项,则使用系统登录用户名。