| name | value | description |
| hadoop.common.configuration.version | 3.0.0 | version of this configuration file |
| hadoop.tmp.dir | /tmp/hadoop-${user.name} | A base for other temporary directories. |
| hadoop.http.filter.initializers | org.apache.hadoop.http.lib.StaticUserWebFilter | A comma separated list of class names. Each class in the list
must extend org.apache.hadoop.http.FilterInitializer. The corresponding
Filter will be initialized. Then, the Filter will be applied to all user
facing jsp and servlet web pages. The ordering of the list defines the
ordering of the filters. |
| hadoop.security.authorization | false | Is service-level authorization enabled? |
| hadoop.security.instrumentation.requires.admin | false |
Indicates if administrator ACLs are required to access
instrumentation servlets (JMX, METRICS, CONF, STACKS).
|
| hadoop.security.authentication | simple | Possible values are simple (no authentication), and kerberos
|
| hadoop.security.group.mapping | org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback |
Class for user to group mapping (get groups for a given user) for ACL.
The default implementation,
org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback,
will determine if the Java Native Interface (JNI) is available. If JNI is
available the implementation will use the API within hadoop to resolve a
list of groups for a user. If JNI is not available then the shell
implementation, ShellBasedUnixGroupsMapping, is used. This implementation
shells out to the Linux/Unix environment with the
bash -c groups command to resolve a list of groups for a user.
|
| hadoop.security.dns.interface | |
The name of the Network Interface from which the service should determine
its host name for Kerberos login. e.g. eth2. In a multi-homed environment,
the setting can be used to affect the _HOST substitution in the service
Kerberos principal. If this configuration value is not set, the service
will use its default hostname as returned by
InetAddress.getLocalHost().getCanonicalHostName().
Most clusters will not require this setting.
|
| hadoop.security.dns.nameserver | |
The host name or IP address of the name server (DNS) which a service Node
should use to determine its own host name for Kerberos Login. Requires
hadoop.security.dns.interface.
Most clusters will not require this setting.
|
| hadoop.security.dns.log-slow-lookups.enabled | false |
Time name lookups (via SecurityUtil) and log them if they exceed the
configured threshold.
|
| hadoop.security.dns.log-slow-lookups.threshold.ms | 1000 |
If slow lookup logging is enabled, this threshold is used to decide if a
lookup is considered slow enough to be logged.
|
| hadoop.security.groups.cache.secs | 300 |
This is the config controlling the validity of the entries in the cache
containing the user->group mapping. When this duration has expired,
then the implementation of the group mapping provider is invoked to get
the groups of the user and then cached back.
|
| hadoop.security.groups.negative-cache.secs | 30 |
Expiration time for entries in the the negative user-to-group mapping
caching, in seconds. This is useful when invalid users are retrying
frequently. It is suggested to set a small value for this expiration, since
a transient error in group lookup could temporarily lock out a legitimate
user.
Set this to zero or negative value to disable negative user-to-group caching.
|
| hadoop.security.groups.cache.warn.after.ms | 5000 |
If looking up a single user to group takes longer than this amount of
milliseconds, we will log a warning message.
|
| hadoop.security.groups.cache.background.reload | false |
Whether to reload expired user->group mappings using a background thread
pool. If set to true, a pool of
hadoop.security.groups.cache.background.reload.threads is created to
update the cache in the background.
|
| hadoop.security.groups.cache.background.reload.threads | 3 |
Only relevant if hadoop.security.groups.cache.background.reload is true.
Controls the number of concurrent background user->group cache entry
refreshes. Pending refresh requests beyond this value are queued and
processed when a thread is free.
|
| hadoop.security.groups.shell.command.timeout | 0s |
Used by the ShellBasedUnixGroupsMapping class, this property controls how
long to wait for the underlying shell command that is run to fetch groups.
Expressed in seconds (e.g. 10s, 1m, etc.), if the running command takes
longer than the value configured, the command is aborted and the groups
resolver would return a result of no groups found. A value of 0s (default)
would mean an infinite wait (i.e. wait until the command exits on its own).
|
| hadoop.security.group.mapping.ldap.connection.timeout.ms | 60000 |
This property is the connection timeout (in milliseconds) for LDAP
operations. If the LDAP provider doesn't establish a connection within the
specified period, it will abort the connect attempt. Non-positive value
means no LDAP connection timeout is specified in which case it waits for the
connection to establish until the underlying network times out.
|
| hadoop.security.group.mapping.ldap.read.timeout.ms | 60000 |
This property is the read timeout (in milliseconds) for LDAP
operations. If the LDAP provider doesn't get a LDAP response within the
specified period, it will abort the read attempt. Non-positive value
means no read timeout is specified in which case it waits for the response
infinitely.
|
| hadoop.security.group.mapping.ldap.url | |
The URL of the LDAP server to use for resolving user groups when using
the LdapGroupsMapping user to group mapping.
|
| hadoop.security.group.mapping.ldap.ssl | false |
Whether or not to use SSL when connecting to the LDAP server.
|
| hadoop.security.group.mapping.ldap.ssl.keystore | |
File path to the SSL keystore that contains the SSL certificate required
by the LDAP server.
|
| hadoop.security.group.mapping.ldap.ssl.keystore.password.file | |
The path to a file containing the password of the LDAP SSL keystore. If
the password is not configured in credential providers and the property
hadoop.security.group.mapping.ldap.ssl.keystore.password is not set,
LDAPGroupsMapping reads password from the file.
IMPORTANT: This file should be readable only by the Unix user running
the daemons and should be a local file.
|
| hadoop.security.group.mapping.ldap.ssl.keystore.password | |
The password of the LDAP SSL keystore. this property name is used as an
alias to get the password from credential providers. If the password can
not be found and hadoop.security.credential.clear-text-fallback is true
LDAPGroupsMapping uses the value of this property for password.
|
| hadoop.security.group.mapping.ldap.conversion.rule | none |
The rule is applied on the group names received from LDAP when
RuleBasedLdapGroupsMapping is configured.
Supported rules are "to_upper", "to_lower" and "none".
to_upper: This will convert all the group names to uppercase.
to_lower: This will convert all the group names to lowercase.
none: This will retain the source formatting, this is default value.
|
| hadoop.security.credential.clear-text-fallback | true |
true or false to indicate whether or not to fall back to storing credential
password as clear text. The default value is true. This property only works
when the password can't not be found from credential providers.
|
| hadoop.security.credential.provider.path | |
A comma-separated list of URLs that indicates the type and
location of a list of providers that should be consulted.
|
| hadoop.security.credstore.java-keystore-provider.password-file | |
The path to a file containing the custom password for all keystores
that may be configured in the provider path.
|
| hadoop.security.group.mapping.ldap.bind.user | |
The distinguished name of the user to bind as when connecting to the LDAP
server. This may be left blank if the LDAP server supports anonymous binds.
|
| hadoop.security.group.mapping.ldap.bind.password.file | |
The path to a file containing the password of the bind user. If
the password is not configured in credential providers and the property
hadoop.security.group.mapping.ldap.bind.password is not set,
LDAPGroupsMapping reads password from the file.
IMPORTANT: This file should be readable only by the Unix user running
the daemons and should be a local file.
|
| hadoop.security.group.mapping.ldap.bind.password | |
The password of the bind user. this property name is used as an
alias to get the password from credential providers. If the password can
not be found and hadoop.security.credential.clear-text-fallback is true
LDAPGroupsMapping uses the value of this property for password.
|
| hadoop.security.group.mapping.ldap.base | |
The search base for the LDAP connection. This is a distinguished name,
and will typically be the root of the LDAP directory.
|
| hadoop.security.group.mapping.ldap.userbase | |
The search base for the LDAP connection for user search query. This is a
distinguished name, and its the root of the LDAP directory for users.
If not set, hadoop.security.group.mapping.ldap.base is used.
|
| hadoop.security.group.mapping.ldap.groupbase | |
The search base for the LDAP connection for group search . This is a
distinguished name, and its the root of the LDAP directory for groups.
If not set, hadoop.security.group.mapping.ldap.base is used.
|
| hadoop.security.group.mapping.ldap.search.filter.user | (&(objectClass=user)(sAMAccountName={0})) |
An additional filter to use when searching for LDAP users. The default will
usually be appropriate for Active Directory installations. If connecting to
an LDAP server with a non-AD schema, this should be replaced with
(&(objectClass=inetOrgPerson)(uid={0}). {0} is a special string used to
denote where the username fits into the filter.
If the LDAP server supports posixGroups, Hadoop can enable the feature by
setting the value of this property to "posixAccount" and the value of
the hadoop.security.group.mapping.ldap.search.filter.group property to
"posixGroup".
|
| hadoop.security.group.mapping.ldap.search.filter.group | (objectClass=group) |
An additional filter to use when searching for LDAP groups. This should be
changed when resolving groups against a non-Active Directory installation.
See the description of hadoop.security.group.mapping.ldap.search.filter.user
to enable posixGroups support.
|
| hadoop.security.group.mapping.ldap.search.attr.memberof | |
The attribute of the user object that identifies its group objects. By
default, Hadoop makes two LDAP queries per user if this value is empty. If
set, Hadoop will attempt to resolve group names from this attribute,
instead of making the second LDAP query to get group objects. The value
should be 'memberOf' for an MS AD installation.
|
| hadoop.security.group.mapping.ldap.search.attr.member | member |
The attribute of the group object that identifies the users that are
members of the group. The default will usually be appropriate for
any LDAP installation.
|
| hadoop.security.group.mapping.ldap.search.attr.group.name | cn |
The attribute of the group object that identifies the group name. The
default will usually be appropriate for all LDAP systems.
|
| hadoop.security.group.mapping.ldap.search.group.hierarchy.levels | 0 |
The number of levels to go up the group hierarchy when determining
which groups a user is part of. 0 Will represent checking just the
group that the user belongs to. Each additional level will raise the
time it takes to execute a query by at most
hadoop.security.group.mapping.ldap.directory.search.timeout.
The default will usually be appropriate for all LDAP systems.
|
| hadoop.security.group.mapping.ldap.posix.attr.uid.name | uidNumber |
The attribute of posixAccount to use when groups for membership.
Mostly useful for schemas wherein groups have memberUids that use an
attribute other than uidNumber.
|
| hadoop.security.group.mapping.ldap.posix.attr.gid.name | gidNumber |
The attribute of posixAccount indicating the group id.
|
| hadoop.security.group.mapping.ldap.directory.search.timeout | 10000 |
The attribute applied to the LDAP SearchControl properties to set a
maximum time limit when searching and awaiting a result.
Set to 0 if infinite wait period is desired.
Default is 10 seconds. Units in milliseconds.
|
| hadoop.security.group.mapping.providers | |
Comma separated of names of other providers to provide user to group
mapping. Used by CompositeGroupsMapping.
|
| hadoop.security.group.mapping.providers.combined | true |
true or false to indicate whether groups from the providers are combined or
not. The default value is true. If true, then all the providers will be
tried to get groups and all the groups are combined to return as the final
results. Otherwise, providers are tried one by one in the configured list
order, and if any groups are retrieved from any provider, then the groups
will be returned without trying the left ones.
|
| hadoop.security.service.user.name.key | |
For those cases where the same RPC protocol is implemented by multiple
servers, this configuration is required for specifying the principal
name to use for the service when the client wishes to make an RPC call.
|
| fs.azure.user.agent.prefix | unknown |
WASB passes User-Agent header to the Azure back-end. The default value
contains WASB version, Java Runtime version, Azure Client library version,
and the value of the configuration option fs.azure.user.agent.prefix.
|
| hadoop.security.uid.cache.secs | 14400 |
This is the config controlling the validity of the entries in the cache
containing the userId to userName and groupId to groupName used by
NativeIO getFstat().
|
| hadoop.rpc.protection | authentication | A comma-separated list of protection values for secured sasl
connections. Possible values are authentication, integrity and privacy.
authentication means authentication only and no integrity or privacy;
integrity implies authentication and integrity are enabled; and privacy
implies all of authentication, integrity and privacy are enabled.
hadoop.security.saslproperties.resolver.class can be used to override
the hadoop.rpc.protection for a connection at the server side.
|
| hadoop.security.saslproperties.resolver.class | | SaslPropertiesResolver used to resolve the QOP used for a
connection. If not specified, the full set of values specified in
hadoop.rpc.protection is used while determining the QOP used for the
connection. If a class is specified, then the QOP values returned by
the class will be used while determining the QOP used for the connection.
|
| hadoop.security.sensitive-config-keys |
secret$
password$
ssl.keystore.pass$
fs.s3.*[Ss]ecret.?[Kk]ey
fs.s3a.*.server-side-encryption.key
fs.azure.account.key.*
credential$
oauth.*token$
hadoop.security.sensitive-config-keys
| A comma-separated or multi-line list of regular expressions to
match configuration keys that should be redacted where appropriate, for
example, when logging modified properties during a reconfiguration,
private credentials should not be logged.
|
| hadoop.workaround.non.threadsafe.getpwuid | true | Some operating systems or authentication modules are known to
have broken implementations of getpwuid_r and getpwgid_r, such that these
calls are not thread-safe. Symptoms of this problem include JVM crashes
with a stack trace inside these functions. If your system exhibits this
issue, enable this configuration parameter to include a lock around the
calls as a workaround.
An incomplete list of some systems known to have this issue is available
at https://wiki.apache.org/hadoop/KnownBrokenPwuidImplementations
|
| hadoop.kerberos.kinit.command | kinit | Used to periodically renew Kerberos credentials when provided
to Hadoop. The default setting assumes that kinit is in the PATH of users
running the Hadoop client. Change this to the absolute path to kinit if this
is not the case.
|
| hadoop.kerberos.min.seconds.before.relogin | 60 | The minimum time between relogin attempts for Kerberos, in
seconds.
|
| hadoop.security.auth_to_local | | Maps kerberos principals to local user names |
| hadoop.token.files | | List of token cache files that have delegation tokens for hadoop service |
| io.file.buffer.size | 4096 | The size of buffer for use in sequence files.
The size of this buffer should probably be a multiple of hardware
page size (4096 on Intel x86), and it determines how much data is
buffered during read and write operations. |
| io.bytes.per.checksum | 512 | The number of bytes per checksum. Must not be larger than
io.file.buffer.size. |
| io.skip.checksum.errors | false | If true, when a checksum error is encountered while
reading a sequence file, entries are skipped, instead of throwing an
exception. |
| io.compression.codecs | | A comma-separated list of the compression codec classes that can
be used for compression/decompression. In addition to any classes specified
with this property (which take precedence), codec classes on the classpath
are discovered using a Java ServiceLoader. |
| io.compression.codec.bzip2.library | system-native | The native-code library to be used for compression and
decompression by the bzip2 codec. This library could be specified
either by by name or the full pathname. In the former case, the
library is located by the dynamic linker, usually searching the
directories specified in the environment variable LD_LIBRARY_PATH.
The value of "system-native" indicates that the default system
library should be used. To indicate that the algorithm should
operate entirely in Java, specify "java-builtin". |
| io.serializations | org.apache.hadoop.io.serializer.WritableSerialization, org.apache.hadoop.io.serializer.avro.AvroSpecificSerialization, org.apache.hadoop.io.serializer.avro.AvroReflectSerialization | A list of serialization classes that can be used for
obtaining serializers and deserializers. |
| io.seqfile.local.dir | ${hadoop.tmp.dir}/io/local | The local directory where sequence file stores intermediate
data files during merge. May be a comma-separated list of
directories on different devices in order to spread disk i/o.
Directories that do not exist are ignored.
|
| io.map.index.skip | 0 | Number of index entries to skip between each entry.
Zero by default. Setting this to values larger than zero can
facilitate opening large MapFiles using less memory. |
| io.map.index.interval | 128 |
MapFile consist of two files - data file (tuples) and index file
(keys). For every io.map.index.interval records written in the
data file, an entry (record-key, data-file-position) is written
in the index file. This is to allow for doing binary search later
within the index file to look up records by their keys and get their
closest positions in the data file.
|
| io.erasurecode.codec.rs.rawcoders | rs_native,rs_java |
Comma separated raw coder implementations for the rs codec. The earlier
factory is prior to followings in case of failure of creating raw coders.
|
| io.erasurecode.codec.rs-legacy.rawcoders | rs-legacy_java |
Comma separated raw coder implementations for the rs-legacy codec. The earlier
factory is prior to followings in case of failure of creating raw coders.
|
| io.erasurecode.codec.xor.rawcoders | xor_native,xor_java |
Comma separated raw coder implementations for the xor codec. The earlier
factory is prior to followings in case of failure of creating raw coders.
|
| fs.defaultFS | file:/// | The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem. |
| fs.default.name | file:/// | Deprecated. Use (fs.defaultFS) property
instead |
| fs.trash.interval | 0 | Number of minutes after which the checkpoint
gets deleted. If zero, the trash feature is disabled.
This option may be configured both on the server and the
client. If trash is disabled server side then the client
side configuration is checked. If trash is enabled on the
server side then the value configured on the server is
used and the client configuration value is ignored.
|
| fs.trash.checkpoint.interval | 0 | Number of minutes between trash checkpoints.
Should be smaller or equal to fs.trash.interval. If zero,
the value is set to the value of fs.trash.interval.
Every time the checkpointer runs it creates a new checkpoint
out of current and removes checkpoints created more than
fs.trash.interval minutes ago.
|
| fs.protected.directories | | A comma-separated list of directories which cannot
be deleted even by the superuser unless they are empty. This
setting can be used to guard important system directories
against accidental deletion due to administrator error.
|
| fs.AbstractFileSystem.file.impl | org.apache.hadoop.fs.local.LocalFs | The AbstractFileSystem for file: uris. |
| fs.AbstractFileSystem.har.impl | org.apache.hadoop.fs.HarFs | The AbstractFileSystem for har: uris. |
| fs.AbstractFileSystem.hdfs.impl | org.apache.hadoop.fs.Hdfs | The FileSystem for hdfs: uris. |
| fs.AbstractFileSystem.viewfs.impl | org.apache.hadoop.fs.viewfs.ViewFs | The AbstractFileSystem for view file system for viewfs: uris
(ie client side mount table:). |
| fs.viewfs.rename.strategy | SAME_MOUNTPOINT | Allowed rename strategy to rename between multiple mountpoints.
Allowed values are SAME_MOUNTPOINT,SAME_TARGET_URI_ACROSS_MOUNTPOINT and
SAME_FILESYSTEM_ACROSS_MOUNTPOINT.
|
| fs.AbstractFileSystem.ftp.impl | org.apache.hadoop.fs.ftp.FtpFs | The FileSystem for Ftp: uris. |
| fs.ftp.impl | org.apache.hadoop.fs.ftp.FTPFileSystem | The implementation class of the FTP FileSystem |
| fs.AbstractFileSystem.webhdfs.impl | org.apache.hadoop.fs.WebHdfs | The FileSystem for webhdfs: uris. |
| fs.AbstractFileSystem.swebhdfs.impl | org.apache.hadoop.fs.SWebHdfs | The FileSystem for swebhdfs: uris. |
| fs.ftp.host | <IP_ADDRESS> | FTP filesystem connects to this server |
| fs.ftp.host.port | 21 |
FTP filesystem connects to fs.ftp.host on this port
|
| fs.ftp.data.connection.mode | ACTIVE_LOCAL_DATA_CONNECTION_MODE | Set the FTPClient's data connection mode based on configuration.
Valid values are ACTIVE_LOCAL_DATA_CONNECTION_MODE,
PASSIVE_LOCAL_DATA_CONNECTION_MODE and PASSIVE_REMOTE_DATA_CONNECTION_MODE.
|
| fs.ftp.transfer.mode | BLOCK_TRANSFER_MODE |
Set FTP's transfer mode based on configuration. Valid values are
STREAM_TRANSFER_MODE, BLOCK_TRANSFER_MODE and COMPRESSED_TRANSFER_MODE.
|
| fs.df.interval | 60000 | Disk usage statistics refresh interval in msec. |
| fs.du.interval | 600000 | File space usage statistics refresh interval in msec. |
| fs.swift.impl | org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystem | The implementation class of the OpenStack Swift Filesystem |
| fs.automatic.close | true | By default, FileSystem instances are automatically closed at program
exit using a JVM shutdown hook. Setting this property to false disables this
behavior. This is an advanced option that should only be used by server applications
requiring a more carefully orchestrated shutdown sequence.
|
| fs.s3a.access.key | | AWS access key ID used by S3A file system. Omit for IAM role-based or provider-based authentication. |
| fs.s3a.secret.key | | AWS secret key used by S3A file system. Omit for IAM role-based or provider-based authentication. |
| fs.s3a.aws.credentials.provider | |
Comma-separated class names of credential provider classes which implement
com.amazonaws.auth.AWSCredentialsProvider.
These are loaded and queried in sequence for a valid set of credentials.
Each listed class must implement one of the following means of
construction, which are attempted in order:
1. a public constructor accepting java.net.URI and
org.apache.hadoop.conf.Configuration,
2. a public static method named getInstance that accepts no
arguments and returns an instance of
com.amazonaws.auth.AWSCredentialsProvider, or
3. a public default constructor.
Specifying org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider allows
anonymous access to a publicly accessible S3 bucket without any credentials.
Please note that allowing anonymous access to an S3 bucket compromises
security and therefore is unsuitable for most use cases. It can be useful
for accessing public data sets without requiring AWS credentials.
If unspecified, then the default list of credential provider classes,
queried in sequence, is:
1. org.apache.hadoop.fs.s3a.BasicAWSCredentialsProvider: supports static
configuration of AWS access key ID and secret access key. See also
fs.s3a.access.key and fs.s3a.secret.key.
2. com.amazonaws.auth.EnvironmentVariableCredentialsProvider: supports
configuration of AWS access key ID and secret access key in
environment variables named AWS_ACCESS_KEY_ID and
AWS_SECRET_ACCESS_KEY, as documented in the AWS SDK.
3. com.amazonaws.auth.InstanceProfileCredentialsProvider: supports use
of instance profile credentials if running in an EC2 VM.
|
| fs.s3a.session.token | | Session token, when using org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider
as one of the providers.
|
| fs.s3a.security.credential.provider.path | |
Optional comma separated list of credential providers, a list
which is prepended to that set in hadoop.security.credential.provider.path
|
| fs.s3a.assumed.role.arn | |
AWS ARN for the role to be assumed.
Required if the fs.s3a.aws.credentials.provider contains
org.apache.hadoop.fs.s3a.AssumedRoleCredentialProvider
|
| fs.s3a.assumed.role.session.name | |
Session name for the assumed role, must be valid characters according to
the AWS APIs.
Only used if AssumedRoleCredentialProvider is the AWS credential provider.
If not set, one is generated from the current Hadoop/Kerberos username.
|
| fs.s3a.assumed.role.policy | |
JSON policy to apply to the role.
Only used if AssumedRoleCredentialProvider is the AWS credential provider.
|
| fs.s3a.assumed.role.session.duration | 30m |
Duration of assumed roles before a refresh is attempted.
Only used if AssumedRoleCredentialProvider is the AWS credential provider.
Range: 15m to 1h
|
| fs.s3a.assumed.role.sts.endpoint | |
AWS Simple Token Service Endpoint. If unset, uses the default endpoint.
Only used if AssumedRoleCredentialProvider is the AWS credential provider.
|
| fs.s3a.assumed.role.credentials.provider | org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider |
List of credential providers to authenticate with the STS endpoint and
retrieve short-lived role credentials.
Only used if AssumedRoleCredentialProvider is the AWS credential provider.
If unset, uses "org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider".
|
| fs.s3a.connection.maximum | 15 | Controls the maximum number of simultaneous connections to S3. |
| fs.s3a.connection.ssl.enabled | true | Enables or disables SSL connections to S3. |
| fs.s3a.endpoint | | AWS S3 endpoint to connect to. An up-to-date list is
provided in the AWS Documentation: regions and endpoints. Without this
property, the standard region (s3.amazonaws.com) is assumed.
|
| fs.s3a.path.style.access | false | Enable S3 path style access ie disabling the default virtual hosting behaviour.
Useful for S3A-compliant storage providers as it removes the need to set up DNS for virtual hosting.
|
| fs.s3a.proxy.host | | Hostname of the (optional) proxy server for S3 connections. |
| fs.s3a.proxy.port | | Proxy server port. If this property is not set
but fs.s3a.proxy.host is, port 80 or 443 is assumed (consistent with
the value of fs.s3a.connection.ssl.enabled). |
| fs.s3a.proxy.username | | Username for authenticating with proxy server. |
| fs.s3a.proxy.password | | Password for authenticating with proxy server. |
| fs.s3a.proxy.domain | | Domain for authenticating with proxy server. |
| fs.s3a.proxy.workstation | | Workstation for authenticating with proxy server. |
| fs.s3a.attempts.maximum | 20 | How many times we should retry commands on transient errors. |
| fs.s3a.connection.establish.timeout | 5000 | Socket connection setup timeout in milliseconds. |
| fs.s3a.connection.timeout | 200000 | Socket connection timeout in milliseconds. |
| fs.s3a.socket.send.buffer | 8192 | Socket send buffer hint to amazon connector. Represented in bytes. |
| fs.s3a.socket.recv.buffer | 8192 | Socket receive buffer hint to amazon connector. Represented in bytes. |
| fs.s3a.paging.maximum | 5000 | How many keys to request from S3 when doing
directory listings at a time. |
| fs.s3a.threads.max | 10 | The total number of threads available in the filesystem for data
uploads *or any other queued filesystem operation*. |
| fs.s3a.threads.keepalivetime | 60 | Number of seconds a thread can be idle before being
terminated. |
| fs.s3a.max.total.tasks | 5 | The number of operations which can be queued for execution |
| fs.s3a.multipart.size | 100M | How big (in bytes) to split upload or copy operations up into.
A suffix from the set {K,M,G,T,P} may be used to scale the numeric value.
|
| fs.s3a.multipart.threshold |<PHONE_NUMBER> | How big (in bytes) to split upload or copy operations up into.
This also controls the partition size in renamed files, as rename() involves
copying the source file(s).
A suffix from the set {K,M,G,T,P} may be used to scale the numeric value.
|
| fs.s3a.multiobjectdelete.enable | true | When enabled, multiple single-object delete requests are replaced by
a single 'delete multiple objects'-request, reducing the number of requests.
Beware: legacy S3-compatible object stores might not support this request.
|
| fs.s3a.acl.default | | Set a canned ACL for newly created and copied objects. Value may be Private,
PublicRead, PublicReadWrite, AuthenticatedRead, LogDeliveryWrite, BucketOwnerRead,
or BucketOwnerFullControl. |
| fs.s3a.multipart.purge | false | True if you want to purge existing multipart uploads that may not have been
completed/aborted correctly. The corresponding purge age is defined in
fs.s3a.multipart.purge.age.
If set, when the filesystem is instantiated then all outstanding uploads
older than the purge age will be terminated -across the entire bucket.
This will impact multipart uploads by other applications and users. so should
be used sparingly, with an age value chosen to stop failed uploads, without
breaking ongoing operations.
|
| fs.s3a.multipart.purge.age | 86400 | Minimum age in seconds of multipart uploads to purge
on startup if "fs.s3a.multipart.purge" is true
|
| fs.s3a.server-side-encryption-algorithm | | Specify a server-side encryption algorithm for s3a: file system.
Unset by default. It supports the following values: 'AES256' (for SSE-S3),
'SSE-KMS' and 'SSE-C'.
|
| fs.s3a.server-side-encryption.key | | Specific encryption key to use if fs.s3a.server-side-encryption-algorithm
has been set to 'SSE-KMS' or 'SSE-C'. In the case of SSE-C, the value of this property
should be the Base64 encoded key. If you are using SSE-KMS and leave this property empty,
you'll be using your default's S3 KMS key, otherwise you should set this property to
the specific KMS key id.
|
| fs.s3a.signing-algorithm | | Override the default signing algorithm so legacy
implementations can still be used |
| fs.s3a.block.size | 32M | Block size to use when reading files using s3a: file system.
A suffix from the set {K,M,G,T,P} may be used to scale the numeric value.
|
| fs.s3a.buffer.dir | ${hadoop.tmp.dir}/s3a | Comma separated list of directories that will be used to buffer file
uploads to. |
| fs.s3a.fast.upload.buffer | disk |
The buffering mechanism to for data being written.
Values: disk, array, bytebuffer.
"disk" will use the directories listed in fs.s3a.buffer.dir as
the location(s) to save data prior to being uploaded.
"array" uses arrays in the JVM heap
"bytebuffer" uses off-heap memory within the JVM.
Both "array" and "bytebuffer" will consume memory in a single stream up to the number
of blocks set by:
fs.s3a.multipart.size * fs.s3a.fast.upload.active.blocks.
If using either of these mechanisms, keep this value low
The total number of threads performing work across all threads is set by
fs.s3a.threads.max, with fs.s3a.max.total.tasks values setting the number of queued
work items.
|
| fs.s3a.fast.upload.active.blocks | 4 |
Maximum Number of blocks a single output stream can have
active (uploading, or queued to the central FileSystem
instance's pool of queued operations.
This stops a single stream overloading the shared thread pool.
|
| fs.s3a.readahead.range | 64K | Bytes to read ahead during a seek() before closing and
re-opening the S3 HTTP connection. This option will be overridden if
any call to setReadahead() is made to an open stream.
A suffix from the set {K,M,G,T,P} may be used to scale the numeric value.
|
| fs.s3a.user.agent.prefix | |
Sets a custom value that will be prepended to the User-Agent header sent in
HTTP requests to the S3 back-end by S3AFileSystem. The User-Agent header
always includes the Hadoop version number followed by a string generated by
the AWS SDK. An example is "User-Agent: Hadoop 2.8.0, aws-sdk-java/1.10.6".
If this optional property is set, then its value is prepended to create a
customized User-Agent. For example, if this configuration property was set
to "MyApp", then an example of the resulting User-Agent would be
"User-Agent: MyApp, Hadoop 2.8.0, aws-sdk-java/1.10.6".
|
| fs.s3a.metadatastore.authoritative | false |
When true, allow MetadataStore implementations to act as source of
truth for getting file status and directory listings. Even if this
is set to true, MetadataStore implementations may choose not to
return authoritative results. If the configured MetadataStore does
not support being authoritative, this setting will have no effect.
|
| fs.s3a.metadatastore.impl | org.apache.hadoop.fs.s3a.s3guard.NullMetadataStore |
Fully-qualified name of the class that implements the MetadataStore
to be used by s3a. The default class, NullMetadataStore, has no
effect: s3a will continue to treat the backing S3 service as the one
and only source of truth for file and directory metadata.
|
| fs.s3a.s3guard.cli.prune.age | 86400000 |
Default age (in milliseconds) after which to prune metadata from the
metadatastore when the prune command is run. Can be overridden on the
command-line.
|
| fs.s3a.impl | org.apache.hadoop.fs.s3a.S3AFileSystem | The implementation class of the S3A Filesystem |
| fs.s3a.s3guard.ddb.region | |
AWS DynamoDB region to connect to. An up-to-date list is
provided in the AWS Documentation: regions and endpoints. Without this
property, the S3Guard will operate table in the associated S3 bucket region.
|
| fs.s3a.s3guard.ddb.table | |
The DynamoDB table name to operate. Without this property, the respective
S3 bucket name will be used.
|
| fs.s3a.s3guard.ddb.table.create | false |
If true, the S3A client will create the table if it does not already exist.
|
| fs.s3a.s3guard.ddb.table.capacity.read | 500 |
Provisioned throughput requirements for read operations in terms of capacity
units for the DynamoDB table. This config value will only be used when
creating a new DynamoDB table, though later you can manually provision by
increasing or decreasing read capacity as needed for existing tables.
See DynamoDB documents for more information.
|
| fs.s3a.s3guard.ddb.table.capacity.write | 100 |
Provisioned throughput requirements for write operations in terms of
capacity units for the DynamoDB table. Refer to related config
fs.s3a.s3guard.ddb.table.capacity.read before usage.
|
| fs.s3a.s3guard.ddb.max.retries | 9 |
Max retries on batched DynamoDB operations before giving up and
throwing an IOException. Each retry is delayed with an exponential
backoff timer which starts at 100 milliseconds and approximately
doubles each time. The minimum wait before throwing an exception is
sum(100, 200, 400, 800, .. 100*2^N-1 ) == 100 * ((2^N)-1)
So N = 9 yields at least 51.1 seconds (51,100) milliseconds of blocking
before throwing an IOException.
|
| fs.s3a.s3guard.ddb.background.sleep | 25 |
Length (in milliseconds) of pause between each batch of deletes when
pruning metadata. Prevents prune operations (which can typically be low
priority background operations) from overly interfering with other I/O
operations.
|
| fs.s3a.retry.limit | ${fs.s3a.attempts.maximum} |
Number of times to retry any repeatable S3 client request on failure,
excluding throttling requests.
|
| fs.s3a.retry.interval | 500ms |
Interval between attempts to retry operations for any reason other
than S3 throttle errors.
|
| fs.s3a.retry.throttle.limit | ${fs.s3a.attempts.maximum} |
Number of times to retry any throttled request.
|
| fs.s3a.retry.throttle.interval | 1000ms |
Interval between retry attempts on throttled requests.
|
| fs.s3a.committer.name | file |
Committer to create for output to S3A, one of:
"file", "directory", "partitioned", "magic".
|
| fs.s3a.committer.magic.enabled | false |
Enable support in the filesystem for the S3 "Magic" committer.
When working with AWS S3, S3Guard must be enabled for the destination
bucket, as consistent metadata listings are required.
|
| fs.s3a.committer.threads | 8 |
Number of threads in committers for parallel operations on files
(upload, commit, abort, delete...)
|
| fs.s3a.committer.staging.tmp.path | tmp/staging |
Path in the cluster filesystem for temporary data.
This is for HDFS, not the local filesystem.
It is only for the summary data of each file, not the actual
data being committed.
Using an unqualified path guarantees that the full path will be
generated relative to the home directory of the user creating the job,
hence private (assuming home directory permissions are secure).
|
| fs.s3a.committer.staging.unique-filenames | true |
Option for final files to have a unique name through job attempt info,
or the value of fs.s3a.committer.staging.uuid
When writing data with the "append" conflict option, this guarantees
that new data will not overwrite any existing data.
|
| fs.s3a.committer.staging.conflict-mode | fail |
Staging committer conflict resolution policy.
Supported: "fail", "append", "replace".
|
| fs.s3a.committer.staging.abort.pending.uploads | true |
Should the staging committers abort all pending uploads to the destination
directory?
Changing this if more than one partitioned committer is
writing to the same destination tree simultaneously; otherwise
the first job to complete will cancel all outstanding uploads from the
others. However, it may lead to leaked outstanding uploads from failed
tasks. If disabled, configure the bucket lifecycle to remove uploads
after a time period, and/or set up a workflow to explicitly delete
entries. Otherwise there is a risk that uncommitted uploads may run up
bills.
|
| fs.AbstractFileSystem.s3a.impl | org.apache.hadoop.fs.s3a.S3A | The implementation class of the S3A AbstractFileSystem. |
| fs.s3a.list.version | 2 |
Select which version of the S3 SDK's List Objects API to use. Currently
support 2 (default) and 1 (older API).
|
| fs.s3a.etag.checksum.enabled | false |
Should calls to getFileChecksum() return the etag value of the remote
object.
WARNING: if enabled, distcp operations between HDFS and S3 will fail unless
-skipcrccheck is set.
|
| fs.wasb.impl | org.apache.hadoop.fs.azure.NativeAzureFileSystem | The implementation class of the Native Azure Filesystem |
| fs.wasbs.impl | org.apache.hadoop.fs.azure.NativeAzureFileSystem$Secure | The implementation class of the Secure Native Azure Filesystem |
| fs.azure.secure.mode | false |
Config flag to identify the mode in which fs.azure.NativeAzureFileSystem needs
to run under. Setting it "true" would make fs.azure.NativeAzureFileSystem use
SAS keys to communicate with Azure storage.
|
| fs.azure.local.sas.key.mode | false |
Works in conjuction with fs.azure.secure.mode. Setting this config to true
results in fs.azure.NativeAzureFileSystem using the local SAS key generation
where the SAS keys are generating in the same process as fs.azure.NativeAzureFileSystem.
If fs.azure.secure.mode flag is set to false, this flag has no effect.
|
| fs.azure.sas.expiry.period | 90d |
The default value to be used for expiration period for SAS keys generated.
Can use the following suffix (case insensitive):
ms(millis), s(sec), m(min), h(hour), d(day)
to specify the time (such as 2s, 2m, 1h, etc.).
|
| fs.azure.authorization | false |
Config flag to enable authorization support in WASB. Setting it to "true" enables
authorization support to WASB. Currently WASB authorization requires a remote service
to provide authorization that needs to be specified via fs.azure.authorization.remote.service.url
configuration
|
| fs.azure.authorization.caching.enable | true |
Config flag to enable caching of authorization results and saskeys in WASB.
This flag is relevant only when fs.azure.authorization is enabled.
|
| fs.azure.saskey.usecontainersaskeyforallaccess | true |
Use container saskey for access to all blobs within the container.
Blob-specific saskeys are not used when this setting is enabled.
This setting provides better performance compared to blob-specific saskeys.
|
| io.seqfile.compress.blocksize | 1000000 | The minimum block size for compression in block compressed
SequenceFiles.
|
| io.mapfile.bloom.size | 1048576 | The size of BloomFilter-s used in BloomMapFile. Each time this many
keys is appended the next BloomFilter will be created (inside a DynamicBloomFilter).
Larger values minimize the number of filters, which slightly increases the performance,
but may waste too much space if the total number of keys is usually much smaller
than this number.
|
| io.mapfile.bloom.error.rate | 0.005 | The rate of false positives in BloomFilter-s used in BloomMapFile.
As this value decreases, the size of BloomFilter-s increases exponentially. This
value is the probability of encountering false positives (default is 0.5%).
|
| hadoop.util.hash.type | murmur | The default implementation of Hash. Currently this can take one of the
two values: 'murmur' to select MurmurHash and 'jenkins' to select JenkinsHash.
|
| ipc.client.idlethreshold | 4000 | Defines the threshold number of connections after which
connections will be inspected for idleness.
|
| ipc.client.kill.max | 10 | Defines the maximum number of clients to disconnect in one go.
|
| ipc.client.connection.maxidletime | 10000 | The maximum time in msec after which a client will bring down the
connection to the server.
|
| ipc.client.connect.max.retries | 10 | Indicates the number of retries a client will make to establish
a server connection.
|
| ipc.client.connect.retry.interval | 1000 | Indicates the number of milliseconds a client will wait for
before retrying to establish a server connection.
|
| ipc.client.connect.timeout | 20000 | Indicates the number of milliseconds a client will wait for the
socket to establish a server connection.
|
| ipc.client.connect.max.retries.on.timeouts | 45 | Indicates the number of retries a client will make on socket timeout
to establish a server connection.
|
| ipc.client.tcpnodelay | true | Use TCP_NODELAY flag to bypass Nagle's algorithm transmission delays.
|
| ipc.client.low-latency | false | Use low-latency QoS markers for IPC connections.
|
| ipc.client.ping | true | Send a ping to the server when timeout on reading the response,
if set to true. If no failure is detected, the client retries until at least
a byte is read or the time given by ipc.client.rpc-timeout.ms is passed.
|
| ipc.ping.interval | 60000 | Timeout on waiting response from server, in milliseconds.
The client will send ping when the interval is passed without receiving bytes,
if ipc.client.ping is set to true.
|
| ipc.client.rpc-timeout.ms | 0 | Timeout on waiting response from server, in milliseconds.
If ipc.client.ping is set to true and this rpc-timeout is greater than
the value of ipc.ping.interval, the effective value of the rpc-timeout is
rounded up to multiple of ipc.ping.interval.
|
| ipc.server.listen.queue.size | 128 | Indicates the length of the listen queue for servers accepting
client connections.
|
| ipc.server.log.slow.rpc | false | This setting is useful to troubleshoot performance issues for
various services. If this value is set to true then we log requests that
fall into 99th percentile as well as increment RpcSlowCalls counter.
|
| ipc.maximum.data.length | 67108864 | This indicates the maximum IPC message length (bytes) that can be
accepted by the server. Messages larger than this value are rejected by the
immediately to avoid possible OOMs. This setting should rarely need to be
changed.
|
| ipc.maximum.response.length | 134217728 | This indicates the maximum IPC message length (bytes) that can be
accepted by the client. Messages larger than this value are rejected
immediately to avoid possible OOMs. This setting should rarely need to be
changed. Set to 0 to disable.
|
| hadoop.security.impersonation.provider.class | | A class which implements ImpersonationProvider interface, used to
authorize whether one user can impersonate a specific user.
If not specified, the DefaultImpersonationProvider will be used.
If a class is specified, then that class will be used to determine
the impersonation capability.
|
| hadoop.rpc.socket.factory.class.default | org.apache.hadoop.net.StandardSocketFactory | Default SocketFactory to use. This parameter is expected to be
formatted as "package.FactoryClassName".
|
| hadoop.rpc.socket.factory.class.ClientProtocol | | SocketFactory to use to connect to a DFS. If null or empty, use
hadoop.rpc.socket.class.default. This socket factory is also used by
DFSClient to create sockets to DataNodes.
|
| hadoop.socks.server | | Address (host:port) of the SOCKS server to be used by the
SocksSocketFactory.
|
| net.topology.node.switch.mapping.impl | org.apache.hadoop.net.ScriptBasedMapping | The default implementation of the DNSToSwitchMapping. It
invokes a script specified in net.topology.script.file.name to resolve
node names. If the value for net.topology.script.file.name is not set, the
default value of DEFAULT_RACK is returned for all node names.
|
| net.topology.impl | org.apache.hadoop.net.NetworkTopology | The default implementation of NetworkTopology which is classic three layer one.
|
| net.topology.script.file.name | | The script name that should be invoked to resolve DNS names to
NetworkTopology names. Example: the script would take host.foo.bar as an
argument, and return /rack1 as the output.
|
| net.topology.script.number.args | 100 | The max number of args that the script configured with
net.topology.script.file.name should be run with. Each arg is an
IP address.
|
| net.topology.table.file.name | | The file name for a topology file, which is used when the
net.topology.node.switch.mapping.impl property is set to
org.apache.hadoop.net.TableMapping. The file format is a two column text
file, with columns separated by whitespace. The first column is a DNS or
IP address and the second column specifies the rack where the address maps.
If no entry corresponding to a host in the cluster is found, then
/default-rack is assumed.
|
| file.stream-buffer-size | 4096 | The size of buffer to stream files.
The size of this buffer should probably be a multiple of hardware
page size (4096 on Intel x86), and it determines how much data is
buffered during read and write operations. |
| file.bytes-per-checksum | 512 | The number of bytes per checksum. Must not be larger than
file.stream-buffer-size |
| file.client-write-packet-size | 65536 | Packet size for clients to write |
| file.blocksize | 67108864 | Block size |
| file.replication | 1 | Replication factor |
| ftp.stream-buffer-size | 4096 | The size of buffer to stream files.
The size of this buffer should probably be a multiple of hardware
page size (4096 on Intel x86), and it determines how much data is
buffered during read and write operations. |
| ftp.bytes-per-checksum | 512 | The number of bytes per checksum. Must not be larger than
ftp.stream-buffer-size |
| ftp.client-write-packet-size | 65536 | Packet size for clients to write |
| ftp.blocksize | 67108864 | Block size |
| ftp.replication | 3 | Replication factor |
| tfile.io.chunk.size | 1048576 |
Value chunk size in bytes. Default to
1MB. Values of the length less than the chunk size is
guaranteed to have known value length in read time (See also
TFile.Reader.Scanner.Entry.isValueLengthKnown()).
|
| tfile.fs.output.buffer.size | 262144 |
Buffer size used for FSDataOutputStream in bytes.
|
| tfile.fs.input.buffer.size | 262144 |
Buffer size used for FSDataInputStream in bytes.
|
| hadoop.http.authentication.type | simple |
Defines authentication used for Oozie HTTP endpoint.
Supported values are: simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME#
|
| hadoop.http.authentication.token.validity | 36000 |
Indicates how long (in seconds) an authentication token is valid before it has
to be renewed.
|
| hadoop.http.authentication.signature.secret.file | ${user.home}/hadoop-http-auth-signature-secret |
The signature secret for signing the authentication tokens.
The same secret should be used for JT/NN/DN/TT configurations.
|
| hadoop.http.authentication.cookie.domain | |
The domain to use for the HTTP cookie that stores the authentication token.
In order to authentiation to work correctly across all Hadoop nodes web-consoles
the domain must be correctly set.
IMPORTANT: when using IP addresses, browsers ignore cookies with domain settings.
For this setting to work properly all nodes in the cluster must be configured
to generate URLs with hostname.domain names on it.
|
| hadoop.http.authentication.simple.anonymous.allowed | true |
Indicates if anonymous requests are allowed when using 'simple' authentication.
|
| hadoop.http.authentication.kerberos.principal | HTTP/_HOST@LOCALHOST |
Indicates the Kerberos principal to be used for HTTP endpoint.
The principal MUST start with 'HTTP/' as per Kerberos HTTP SPNEGO specification.
|
| hadoop.http.authentication.kerberos.keytab | ${user.home}/hadoop.keytab |
Location of the keytab file with the credentials for the principal.
Referring to the same keytab file Oozie uses for its Kerberos credentials for Hadoop.
|
| hadoop.http.cross-origin.enabled | false | Enable/disable the cross-origin (CORS) filter. |
| hadoop.http.cross-origin.allowed-origins | * | Comma separated list of origins that are allowed for web services
needing cross-origin (CORS) support. If a value in the list contains an
asterix (*), a regex pattern, escaping any dots ('.' -> '\.') and replacing
the asterix such that it captures any characters ('*' -> '.*'), is generated.
Values prefixed with 'regex:' are interpreted directly as regular expressions,
e.g. use the expression 'regex:https?:\/\/foo\.bar:([0-9]+)?' to allow any
origin using the 'http' or 'https' protocol in the domain 'foo.bar' on any
port. The use of simple wildcards ('*') is discouraged, and only available for
backward compatibility. |
| hadoop.http.cross-origin.allowed-methods | GET,POST,HEAD | Comma separated list of methods that are allowed for web
services needing cross-origin (CORS) support. |
| hadoop.http.cross-origin.allowed-headers | X-Requested-With,Content-Type,Accept,Origin | Comma separated list of headers that are allowed for web
services needing cross-origin (CORS) support. |
| hadoop.http.cross-origin.max-age | 1800 | The number of seconds a pre-flighted request can be cached
for web services needing cross-origin (CORS) support. |
| dfs.ha.fencing.methods | |
List of fencing methods to use for service fencing. May contain
builtin methods (eg shell and sshfence) or user-defined method.
|
| dfs.ha.fencing.ssh.connect-timeout | 30000 |
SSH connection timeout, in milliseconds, to use with the builtin
sshfence fencer.
|
| dfs.ha.fencing.ssh.private-key-files | |
The SSH private key files to use with the builtin sshfence fencer.
|
| ha.zookeeper.quorum | |
A list of ZooKeeper server addresses, separated by commas, that are
to be used by the ZKFailoverController in automatic failover.
|
| ha.zookeeper.session-timeout.ms | 5000 |
The session timeout to use when the ZKFC connects to ZooKeeper.
Setting this value to a lower value implies that server crashes
will be detected more quickly, but risks triggering failover too
aggressively in the case of a transient error or network blip.
|
| ha.zookeeper.parent-znode | /hadoop-ha |
The ZooKeeper znode under which the ZK failover controller stores
its information. Note that the nameservice ID is automatically
appended to this znode, so it is not normally necessary to
configure this, even in a federated environment.
|
| ha.zookeeper.acl | world:anyone:rwcda |
A comma-separated list of ZooKeeper ACLs to apply to the znodes
used by automatic failover. These ACLs are specified in the same
format as used by the ZooKeeper CLI.
If the ACL itself contains secrets, you may instead specify a
path to a file, prefixed with the '@' symbol, and the value of
this configuration will be loaded from within.
|
| ha.zookeeper.auth | |
A comma-separated list of ZooKeeper authentications to add when
connecting to ZooKeeper. These are specified in the same format
as used by the "addauth" command in the ZK CLI. It is
important that the authentications specified here are sufficient
to access znodes with the ACL specified in ha.zookeeper.acl.
If the auths contain secrets, you may instead specify a
path to a file, prefixed with the '@' symbol, and the value of
this configuration will be loaded from within.
|
| hadoop.http.staticuser.user | dr.who |
The user name to filter as, on static web filters
while rendering content. An example use is the HDFS
web UI (user to be used for browsing files).
|
| hadoop.ssl.keystores.factory.class | org.apache.hadoop.security.ssl.FileBasedKeyStoresFactory |
The keystores factory to use for retrieving certificates.
|
| hadoop.ssl.require.client.cert | false | Whether client certificates are required |
| hadoop.ssl.hostname.verifier | DEFAULT |
The hostname verifier to provide for HttpsURLConnections.
Valid values are: DEFAULT, STRICT, STRICT_IE6, DEFAULT_AND_LOCALHOST and
ALLOW_ALL
|
| hadoop.ssl.server.conf | ssl-server.xml |
Resource file from which ssl server keystore information will be extracted.
This file is looked up in the classpath, typically it should be in Hadoop
conf/ directory.
|
| hadoop.ssl.client.conf | ssl-client.xml |
Resource file from which ssl client keystore information will be extracted
This file is looked up in the classpath, typically it should be in Hadoop
conf/ directory.
|
| hadoop.ssl.enabled | false |
Deprecated. Use dfs.http.policy and yarn.http.policy instead.
|
| hadoop.ssl.enabled.protocols | TLSv1,SSLv2Hello,TLSv1.1,TLSv1.2 |
The supported SSL protocols.
|
| hadoop.jetty.logs.serve.aliases | true |
Enable/Disable aliases serving from jetty
|
| fs.permissions.umask-mode | 022 |
The umask used when creating files and directories.
Can be in octal or in symbolic. Examples are:
"022" (octal for u=rwx,g=r-x,o=r-x in symbolic),
or "u=rwx,g=rwx,o=" (symbolic for 007 in octal).
|
| ha.health-monitor.connect-retry-interval.ms | 1000 |
How often to retry connecting to the service.
|
| ha.health-monitor.check-interval.ms | 1000 |
How often to check the service.
|
| ha.health-monitor.sleep-after-disconnect.ms | 1000 |
How long to sleep after an unexpected RPC error.
|
| ha.health-monitor.rpc-timeout.ms | 45000 |
Timeout for the actual monitorHealth() calls.
|
| ha.failover-controller.new-active.rpc-timeout.ms | 60000 |
Timeout that the FC waits for the new active to become active
|
| ha.failover-controller.graceful-fence.rpc-timeout.ms | 5000 |
Timeout that the FC waits for the old active to go to standby
|
| ha.failover-controller.graceful-fence.connection.retries | 1 |
FC connection retries for graceful fencing
|
| ha.failover-controller.cli-check.rpc-timeout.ms | 20000 |
Timeout that the CLI (manual) FC waits for monitorHealth, getServiceState
|
| ipc.client.fallback-to-simple-auth-allowed | false |
When a client is configured to attempt a secure connection, but attempts to
connect to an insecure server, that server may instruct the client to
switch to SASL SIMPLE (unsecure) authentication. This setting controls
whether or not the client will accept this instruction from the server.
When false (the default), the client will not allow the fallback to SIMPLE
authentication, and will abort the connection.
|
| fs.client.resolve.remote.symlinks | true |
Whether to resolve symlinks when accessing a remote Hadoop filesystem.
Setting this to false causes an exception to be thrown upon encountering
a symlink. This setting does not apply to local filesystems, which
automatically resolve local symlinks.
|
| nfs.exports.allowed.hosts | * rw |
By default, the export can be mounted by any client. The value string
contains machine name and access privilege, separated by whitespace
characters. The machine name format can be a single host, a Java regular
expression, or an IPv4 address. The access privilege uses rw or ro to
specify read/write or read-only access of the machines to exports. If the
access privilege is not provided, the default is read-only. Entries are separated by ";".
For example: "<IP_ADDRESS>/22 rw ; host.*\.example\.com ; host1.test.org ro;".
Only the NFS gateway needs to restart after this property is updated.
|
| hadoop.user.group.static.mapping.overrides | dr.who=; |
Static mapping of user to groups. This will override the groups if
available in the system for the specified user. In other words, groups
look-up will not happen for these users, instead groups mapped in this
configuration will be used.
Mapping should be in this format.
user1=group1,group2;user2=;user3=group2;
Default, "dr.who=;" will consider "dr.who" as user without groups.
|
| rpc.metrics.quantile.enable | false |
Setting this property to true and rpc.metrics.percentiles.intervals
to a comma-separated list of the granularity in seconds, the
50/75/90/95/99th percentile latency for rpc queue/processing time in
milliseconds are added to rpc metrics.
|
| rpc.metrics.percentiles.intervals | |
A comma-separated list of the granularity in seconds for the metrics which
describe the 50/75/90/95/99th percentile latency for rpc queue/processing
time. The metrics are outputted if rpc.metrics.quantile.enable is set to
true.
|
| hadoop.security.crypto.codec.classes.EXAMPLECIPHERSUITE | |
The prefix for a given crypto codec, contains a comma-separated
list of implementation classes for a given crypto codec (eg EXAMPLECIPHERSUITE).
The first implementation will be used if available, others are fallbacks.
|
| hadoop.security.crypto.codec.classes.aes.ctr.nopadding | org.apache.hadoop.crypto.OpensslAesCtrCryptoCodec, org.apache.hadoop.crypto.JceAesCtrCryptoCodec |
Comma-separated list of crypto codec implementations for AES/CTR/NoPadding.
The first implementation will be used if available, others are fallbacks.
|
| hadoop.security.crypto.cipher.suite | AES/CTR/NoPadding |
Cipher suite for crypto codec.
|
| hadoop.security.crypto.jce.provider | |
The JCE provider name used in CryptoCodec.
|
| hadoop.security.crypto.buffer.size | 8192 |
The buffer size used by CryptoInputStream and CryptoOutputStream.
|
| hadoop.security.java.secure.random.algorithm | SHA1PRNG |
The java secure random algorithm.
|
| hadoop.security.secure.random.impl | |
Implementation of secure random.
|
| hadoop.security.random.device.file.path | /dev/urandom |
OS security random device file path.
|
| hadoop.security.key.provider.path | |
The KeyProvider to use when managing zone keys, and interacting with
encryption keys when reading and writing to an encryption zone.
For hdfs clients, the provider path will be same as namenode's
provider path.
|
| hadoop.security.key.default.bitlength | 128 |
The length (bits) of keys we want the KeyProvider to produce. Key length
defines the upper-bound on an algorithm's security, ideally, it would
coincide with the lower-bound on an algorithm's security.
|
| hadoop.security.key.default.cipher | AES/CTR/NoPadding |
This indicates the algorithm that be used by KeyProvider for generating
key, and will be converted to CipherSuite when creating encryption zone.
|
| fs.har.impl.disable.cache | true | Don't cache 'har' filesystem instances. |
| hadoop.security.kms.client.authentication.retry-count | 1 |
Number of time to retry connecting to KMS on authentication failure
|
| hadoop.security.kms.client.encrypted.key.cache.size | 500 |
Size of the EncryptedKeyVersion cache Queue for each key
|
| hadoop.security.kms.client.encrypted.key.cache.low-watermark | 0.3f |
If size of the EncryptedKeyVersion cache Queue falls below the
low watermark, this cache queue will be scheduled for a refill
|
| hadoop.security.kms.client.encrypted.key.cache.num.refill.threads | 2 |
Number of threads to use for refilling depleted EncryptedKeyVersion
cache Queues
|
| hadoop.security.kms.client.encrypted.key.cache.expiry | 43200000 |
Cache expiry time for a Key, after which the cache Queue for this
key will be dropped. Default = 12hrs
|
| hadoop.security.kms.client.timeout | 60 |
Sets value for KMS client connection timeout, and the read timeout
to KMS servers.
|
| hadoop.security.kms.client.failover.sleep.base.millis | 100 |
Expert only. The time to wait, in milliseconds, between failover
attempts increases exponentially as a function of the number of
attempts made so far, with a random factor of +/- 50%. This option
specifies the base value used in the failover calculation. The
first failover will retry immediately. The 2nd failover attempt
will delay at least hadoop.security.client.failover.sleep.base.millis
milliseconds. And so on.
|
| hadoop.security.kms.client.failover.sleep.max.millis | 2000 |
Expert only. The time to wait, in milliseconds, between failover
attempts increases exponentially as a function of the number of
attempts made so far, with a random factor of +/- 50%. This option
specifies the maximum value to wait between failovers.
Specifically, the time between two failover attempts will not
exceed +/- 50% of hadoop.security.client.failover.sleep.max.millis
milliseconds.
|
| ipc.server.max.connections | 0 | The maximum number of concurrent connections a server is allowed
to accept. If this limit is exceeded, incoming connections will first fill
the listen queue and then may go to an OS-specific listen overflow queue.
The client may fail or timeout, but the server can avoid running out of file
descriptors using this feature. 0 means no limit.
|
| hadoop.registry.rm.enabled | false |
Is the registry enabled in the YARN Resource Manager?
If true, the YARN RM will, as needed.
create the user and system paths, and purge
service records when containers, application attempts
and applications complete.
If false, the paths must be created by other means,
and no automatic cleanup of service records will take place.
|
| hadoop.registry.zk.root | /registry |
The root zookeeper node for the registry
|
| hadoop.registry.zk.session.timeout.ms | 60000 |
Zookeeper session timeout in milliseconds
|
| hadoop.registry.zk.connection.timeout.ms | 15000 |
Zookeeper connection timeout in milliseconds
|
| hadoop.registry.zk.retry.times | 5 |
Zookeeper connection retry count before failing
|
| hadoop.registry.zk.retry.interval.ms | 1000 |
|
| hadoop.registry.zk.retry.ceiling.ms | 60000 |
Zookeeper retry limit in milliseconds, during
exponential backoff.
This places a limit even
if the retry times and interval limit, combined
with the backoff policy, result in a long retry
period
|
| hadoop.registry.zk.quorum | localhost:2181 |
List of hostname:port pairs defining the
zookeeper quorum binding for the registry
|
| hadoop.registry.secure | false |
Key to set if the registry is secure. Turning it on
changes the permissions policy from "open access"
to restrictions on kerberos with the option of
a user adding one or more auth key pairs down their
own tree.
|
| hadoop.registry.system.acls | sasl:yarn@, sasl:mapred@, sasl:hdfs@ |
A comma separated list of Zookeeper ACL identifiers with
system access to the registry in a secure cluster.
These are given full access to all entries.
If there is an "@" at the end of a SASL entry it
instructs the registry client to append the default kerberos domain.
|
| hadoop.registry.kerberos.realm | |
The kerberos realm: used to set the realm of
system principals which do not declare their realm,
and any other accounts that need the value.
If empty, the default realm of the running process
is used.
If neither are known and the realm is needed, then the registry
service/client will fail.
|
| hadoop.registry.jaas.context | Client |
Key to define the JAAS context. Used in secure
mode
|
| hadoop.shell.missing.defaultFs.warning | false |
Enable hdfs shell commands to display warnings if (fs.defaultFS) property
is not set.
|
| hadoop.shell.safely.delete.limit.num.files | 100 | Used by -safely option of hadoop fs shell -rm command to avoid
accidental deletion of large directories. When enabled, the -rm command
requires confirmation if the number of files to be deleted is greater than
this limit. The default limit is 100 files. The warning is disabled if
the limit is 0 or the -safely is not specified in -rm command.
|
| fs.client.htrace.sampler.classes | | The class names of the HTrace Samplers to use for Hadoop
filesystem clients.
|
| hadoop.htrace.span.receiver.classes | | The class names of the Span Receivers to use for Hadoop.
|
| hadoop.http.logs.enabled | true |
Enable the "/logs" endpoint on all Hadoop daemons, which serves local
logs, but may be considered a security risk due to it listing the contents
of a directory.
|
| fs.client.resolve.topology.enabled | false | Whether the client machine will use the class specified by
property net.topology.node.switch.mapping.impl to compute the network
distance between itself and remote machines of the FileSystem. Additional
properties might need to be configured depending on the class specified
in net.topology.node.switch.mapping.impl. For example, if
org.apache.hadoop.net.ScriptBasedMapping is used, a valid script file
needs to be specified in net.topology.script.file.name.
|
| fs.adl.impl | org.apache.hadoop.fs.adl.AdlFileSystem | |
| fs.AbstractFileSystem.adl.impl | org.apache.hadoop.fs.adl.Adl | |
| adl.feature.ownerandgroup.enableupn | false |
When true : User and Group in FileStatus/AclStatus response is
represented as user friendly name as per Azure AD profile.
When false (default) : User and Group in FileStatus/AclStatus
response is represented by the unique identifier from Azure AD
profile (Object ID as GUID).
For optimal performance, false is recommended.
|
| fs.adl.oauth2.access.token.provider.type | ClientCredential |
Defines Azure Active Directory OAuth2 access token provider type.
Supported types are ClientCredential, RefreshToken, MSI, DeviceCode,
and Custom.
The ClientCredential type requires property fs.adl.oauth2.client.id,
fs.adl.oauth2.credential, and fs.adl.oauth2.refresh.url.
The RefreshToken type requires property fs.adl.oauth2.client.id and
fs.adl.oauth2.refresh.token.
The MSI type reads optional property fs.adl.oauth2.msi.port, if specified.
The DeviceCode type requires property
fs.adl.oauth2.devicecode.clientapp.id.
The Custom type requires property fs.adl.oauth2.access.token.provider.
|
| fs.adl.oauth2.client.id | | The OAuth2 client id. |
| fs.adl.oauth2.credential | | The OAuth2 access key. |
| fs.adl.oauth2.refresh.url | | The OAuth2 token endpoint. |
| fs.adl.oauth2.refresh.token | | The OAuth2 refresh token. |
| fs.adl.oauth2.access.token.provider | |
The class name of the OAuth2 access token provider.
|
| fs.adl.oauth2.msi.port | |
The localhost port for the MSI token service. This is the port specified
when creating the Azure VM. The default, if this setting is not specified,
is 50342.
Used by MSI token provider.
|
| fs.adl.oauth2.devicecode.clientapp.id | |
The app id of the AAD native app in whose context the auth request
should be made.
Used by DeviceCode token provider.
|
| hadoop.caller.context.enabled | false | When the feature is enabled, additional fields are written into
name-node audit log records for auditing coarse granularity operations.
|
| hadoop.caller.context.max.size | 128 | The maximum bytes a caller context string can have. If the
passed caller context is longer than this maximum bytes, client will
truncate it before sending to server. Note that the server may have a
different maximum size, and will truncate the caller context to the
maximum size it allows.
|
| hadoop.caller.context.signature.max.size | 40 |
The caller's signature (optional) is for offline validation. If the
signature exceeds the maximum allowed bytes in server, the caller context
will be abandoned, in which case the caller context will not be recorded
in audit logs.
|
| seq.io.sort.mb | 100 |
The total amount of buffer memory to use while sorting files,
while using SequenceFile.Sorter, in megabytes. By default,
gives each merge stream 1MB, which should minimize seeks.
|
| seq.io.sort.factor | 100 |
The number of streams to merge at once while sorting
files using SequenceFile.Sorter.
This determines the number of open file handles.
|
| hadoop.zk.address | | Host:Port of the ZooKeeper server to be used.
|
| hadoop.zk.num-retries | 1000 | Number of tries to connect to ZooKeeper. |
| hadoop.zk.retry-interval-ms | 1000 | Retry interval in milliseconds when connecting to ZooKeeper.
|
| hadoop.zk.timeout-ms | 10000 | ZooKeeper session timeout in milliseconds. Session expiration
is managed by the ZooKeeper cluster itself, not by the client. This value is
used by the cluster to determine when the client's session expires.
Expirations happens when the cluster does not hear from the client within
the specified session timeout period (i.e. no heartbeat). |
| hadoop.zk.acl | world:anyone:rwcda | ACL's to be used for ZooKeeper znodes. |
| hadoop.zk.auth | |
Specify the auths to be used for the ACL's specified in hadoop.zk.acl.
This takes a comma-separated list of authentication mechanisms, each of the
form 'scheme:auth' (the same syntax used for the 'addAuth' command in
the ZK CLI).
|
| hadoop.system.tags | YARN,HDFS,NAMENODE,DATANODE,REQUIRED,SECURITY,KERBEROS,PERFORMANCE,CLIENT
,SERVER,DEBUG,DEPRICATED,COMMON,OPTIONAL |
System tags to group related properties together.
|


Menu
About
Profile
Expertise
Team
Projects
Hotels
Bars & Restaurants
Residential
Spas & Wellness Centres
News
Awards
Press
Mar-Apr_Darc_Jo Littlefair


Hello! I am a full stack web developer experienced in JavaScript, Node.js, React, Redux, HTML, CSS, Bootstrap, SQL, PostgreSQL, MongoDB, and Python. As a certified Project Manager, I have led the development of numerous technologies capable of performing in the ultra harsh downhole environments of today's Oilfield
Incorporateing HTML, CSS styling, JavaScript, and Google's Firebase along with Weather and News API's, user authentication, and a dynamically changing news feed based on the zipcode you provide..
Another example of a project with its respective description.


✺ Back
Build a Circuit City @ Shanghai Makerfaire 2020
This was a mural made as an interactive activity for the visitors of the Fab Lab O booth at the Shanghai Makerfaire (2020). Roads of the city are turned into circuits. The participants were invited to build a LED circuit on paper, making a paper circuit drawing about their vision of an ideal city. In addition to the LED, capacitive sensor input, buzzer output and DC motor output were embedded to the mural as representation of different features in the city. Image on the mural surface was made by printing on canvas. Additional icons were made with vinyl cutter.Medium：mixed-media on canvas, conductive material, electronic components (buzzer, LED, motor), ArduinoCollaborator: Fab Lab O, ShanghaiSpecial Thanks: Pan Cheng
Back


I am a software developer, movie buff and a big music enthusiast.  Here is my resume pdf doc txt


MP4 files can be tested in Tizen Emulator. Other formats need TV.
The application downloads video content from http://media.w3.org
- it will not work if this domain is not accessible
You can change the source for video content by modifying contents of sources
array in main.js
file
Use remote to operate on video player.
Available keys: PLAY, PAUSE, FW, RW, STOP, RETURN


Fresh Fruit! |
|
|---|---|
| Fruit are important sources of many nutrients, including potassium, fiber, vitamin C and folate (folic acid). Try incorporating blueberries, citrus fruit, cranberries or strawberries which contain phytochemicals that are being studied for added health benefits. The potassium in fruit can reduce your risk of heart disease and stroke. Potassium may also reduce the risk of developing kidney stones and help to decrease bone loss as you age. Folate (folic acid) helps the body form red blood cells... |
| Amazing Title | A | B | ||
| C | D | E | F | G |
| H | I | J | ||
| K | L | M | ||
| N | O |


I started iOS as a 2-year-experience .NET developer. The salary range for a junior iOS dev is a little bit lower than the amount for a 2-year-experience develop get. I wanted to make myself stronger, earn more experience. I had a misconception of working and learning. I thought, freelance projects will help me strengthen my knowledge and experience. So I tried to get as more as possible freelance projects. And my nightmare started from here.
 All of my time was used up on my freelance work from coding new features, fixing bugs and much more. I was killing myself working odd hours and missing out on quality time with my family and friends.
I made a mess, uncountable technical debts, bugs, with the project. I was angry with everyone and myself. And the company project was affected.
Finally, after lots of stress situations, I found a way to get myself out of these nightmares.
You’re developer, and you understand clearly about the pressure in development. I’m sure you want to get some freelance projects to earn more money. So, you should try my solution to manage your time effectively.
You’re developer, and you have to work OT. Too many tasks you have and you have no enough time for work. No time for family, no time for your life, no time at all. My solution can help you get out of your situation.
This solution is about how to change the way I work, how to manage time effectively.  Is it good to try yourself?
This solution has 2 parts:
You have to spend at least 8 hours a day for working at your office. The manager says, “We have no time, we have to work OT”. Yes, it’s a extremely bad solution. Your brain, your body is drained. And now, you force it work more hard. Do you really think you can work effectively after 8 hours working? No, you don’t. You know, your colleagues know, but the manager doesn’t know.
It’s too hard to decline working OT, but you should do. You have to do unless you make more bugs and everything is worse.
One time, I had to work until 8.30 pm, without dinner, just some instance noodle. Went home, went to bed and 11.30pm, got a call.
 Something is wrong with the promotion”.
OK, turned my Macbook on and worked like a dead guy.
 I can’t believe I can do but, but I did, no choice.
The firs thing in my solution, is to switch up working hours. I decline all OT and try to work better, work more in my ideal time to finish more tasks or fix more bugs.
The ideal time for working, for me, is 2am after 3 to 4 hours of sleeping, maybe different from you. This time is ideal because everything is quiet and there are absolutely no distractions. No phone calls, no email, no one bothers you. For me, this is the best time to get my creative juices flowing.
It’s exactly same to freelance projects. You can achieve better results than work after office time.
It’s hard to start at all, but try it yourself and experience amazing results.
Most importantly, a healthy body is the key to reach success. I have to work 8 hours everyday in an office and an additional 4-6 hours on freelance projects. If you do the math, my body has to work 1.5 times more than usual. Crazy, right? For most people, their body and mind will become exhausted very quickly with a schedule like this. In order for me to prevent myself from becoming ill, I make a conscious effort to include additional nutrition in my meals with more fruits, protein, etc.
In additional to a healthy diet, it’s important to stay active.I try to incorporate a little bit of exercise into my daily activities. For example, I use the stairs instead of the elevator, I try to walk faster, clean the floor manually, and more. Now, I know these types of activities won’t help me become an athlete, but every little bit helps to keep my health up.
You can make more evil bugs when you’re not healthy. And you waste double time to fix what you did when you’re not healthy. So, keep up your health and make good things for your code.
Freelance projects are very good for expanding your experience. You have many projects to fill into your CV. You can earn more money. It’s great. But they’re not good to your knowledge. Freelance projects are useful when you have strong experience and want to strengthen them. But it’s a bad choice for learning because of pressure.
When you’re in a freelance projects, you have many pressure about time limit, money, client attitude… And you just want to make it done, not want to understand how it work and how to make it better. It’s harmful for you. You think you have experience with it, CoreData for instance, and you apply for new projects with CoreData require. You run into a big bugs and take lots of time to understand to fix that.
Side projects are better choice. You can research new technologies, try new hot things in new iOS, SiriKit, HealthKit for instance. Don’t forget to publish some side projects. They can help you to show off for your clients or your interviewer.
You also practice or strengthen your weakness in iOS with side projects. With these projects, you learn a lot and be confident to apply new projects.
Don’t think about money first, think about yourself, Make yourself better and money comes.
Code Snippets is your template codes. You don’t want to type all the code or copy it from somewhere. Just type some first characters and select it from suggestion list. For instance, I usually type “button”, and XCode will give me this:
Easy, right? You don’t want to type boring code anymore.
Don’t forget use <# and #> with the placeholder text in the middle.
You can try my snippets at by copy and paste to ~/Library/Developer/Xcode/UserData/CodeSnippets/
Small things but very useful.
It works like an external library, nearly same to Pods but in free way.
Situation like this. You finished a cool animation in company project. It’s really cool and you want to use it in your current freelance project. You copy this code to the freelance project, change something and let it work like a charm. But, you find something can be better in this code. You make changes, and want this change be applied in the company project. You copy this code again. Imagine you have more 2 projects, use this animation. It’s a nightmare.
Knowledge base is good choice for you. Create your own knowledge base in Github, clone to your projects. Add new features, change some if needed. Push to Github and pull it from other projects. All your projects can get the latest update easily. Cool, right?
branch
to manage your base.
Because CocoaPods need to release on Github. But these pieces of code change continuously, new code, new update, remove redundant code.
This is a popular war for many iOS developers.  Programmatically guys fight for their belief.
This is opinion from a developer can’t live without Storyboard, and now he abandons it. It’s me :)
Auto Layout programmatically saves your time and your life.
My situation is a good example. I designed a very good UI, and connected outlet, started logic coding, finished that feature. One day, I had to refactor code and found some improvement. Some UILabel
had gestures, should be changed to UIButton
. No problem, made changes. What did I do?
UILabel
need changeUIButton
And when I changed to Auto Layout programmatically:
UILabel
need changeUILabel
to UIButton
Easier a lot, right? Especially, no change in setting up constraints.
Another advantage is to customize controls with Auto Layout programmatically. You can make any custom controls with programmatically, but you can’t do that with Storyboard.
If you use Storyboard (I mean Xib file), you can make a view, and copy 2 files, NewTextField.xib
and NewTextField.swift
to your knowledge base. And you want to change it name to MyAwesomeTextField
, you have to change 4 times, the 2 files’ name, class’ name, and the subclass’ name in xib. Never happen in Programmatically.
And my favorite library is knConstraints, a project learned style from TinyConstraints, developed with a new syntax and more advantages.
VIP Architecture is a complex topic. You should view the talk about it at https://github.com/swift-vietnam/iOS-Awesome-Starter-Kit
In my post, I only talk about how to use it quickly.
My example code shows you how to select a photo for profile image. You can do it easily in another way. But in this way, you can easier manage your code and reuse it anywhere.
Move on step by step
var output : SampleControllerOutput?
// (1) - Define actions controller needs in protocol SampleControllerOutput
protocol SampleControllerOutput: class {
/* action from controller */
func getProfile()
}
// (2) - Define actions to respond to result in protocol 'SampleInteractorOutput'. For instance: requestSuccess, updateView...
protocol SampleInteractorOutput: class {
func getProfileSuccess(profile: UserProfile)
func getProfileFail(err: Error)
}
// (3) - Conform actions from 'SampleControllerOutput' in 'extension SampleInteractor'
extension SampleInteractor: SampleControllerOutput {
func getProfile() {
GGetProfileWorker(id: id,
successResponse: output?.fetchProfileSuccess,
failResponse: output?.fetchProfileFail)
.execute()
}
}
// (4) - Conform actions from 'SampleInteractorOutput'
extension SamplePresenter: SampleInteractorOutput {
func getProfileFail(err: Error) {
output?.showGetProfileFailError(err: err)
}
func getProfileSuccess(profile: UserProfile) {
output?.showUserProfile(profile: profile)
}
}
// (5) - Define actions to update directly to UI to 'SamplePresenterOutput'
protocol SamplePresenterOutput: class {
func showUserProfile(profile: UserProfile)
func showGetProfileFailError(err: Error)
}
// (6) - Update UI
extension SampleController: SamplePresenterOutput {
func showGetProfileFailError(err: Error) { }
func showUserProfile(profile: UserProfile) {
// update view
}
}
/* (7) - It's set up. Don't need to care about it. */
class SampleInteractor {
var output: SampleInteractorOutput?
}
class SamplePresenter {
weak var output: SamplePresenterOutput?
}
//MARK: Configuration
class SampleConfiguration /* called in viewDidLoad */ {
static let shared = SampleConfiguration()
func configure(viewController: SampleController) {
// Presenter
let presenter = SamplePresenter()
presenter.output = viewController
// Interactor
let interactor = SampleInteractor()
interactor.output = presenter
// View controller
viewController.output = interactor
}
}
(1) - You define actions your controller need to do. For example: getProfile, updateProfile, viewDetail…
(2) - Define what happen when the actions from controller finish. For example: getProfileSuccess, getProfileFail…
(3) - This is the execute space. Conform the actions you defined for controller before, and let worker execute the action.
How does the worker look like?
struct GetUserProfile {
private let api = "/workshops/"
var id: Int
var successResponse: ((_ something: UserProfile) -> Void)? = nil
var failResponse: ((_ error: Error) -> Void)? = nil
func execute() {
// connect to server
}
}
(4) - Response to result will be here. You should change the model data to new data, which can easily set to your view. For example, change Date to String, so that you just set to your view, no need to convert Date to String in your controller.
(5), (6) - Actions to update to controller.
(7) - These code is ready to use. It’s always same for other controllers. You just need to change the prefix name, Sample
to your feature name.
How to use?
In your controller, viewDidLoad
, call SampleConfiguration.shared.config
. And call output
to do your actions.
This solution saves much time for me. I hope it can help you. Save time, work better and enjoy your life.


When an empty model is passed as a prop (dateTo and/or dateFrom with falsy values), it should be possible to select new values.
Selected value: {{ model }}
When the model is filled by default with string values, it should be possible to select the same values withouth chaging the model.
Selected value: {{ defaultStringValueModel }}
When the model is filled by default with date values, it should be possible to select the same values withouth chaging the model.
Selected value: {{ defaultDateValueModel }}
It shouldn't be possible to select a date outside current month in the picker below.
Every base input states should be handled correctly


What is USACO?
Which Language?
The most popular language for USACO work is likely C++. This tutorial begins with Java as
that is the language most beginers know best. Once you get a hang of USACO, you are more
than welcome to learn C++, even encouraged. However, never fear if you decide to stick with
Java. All of the USACO problems can be successfully written in either language.
Environment Setup
You can follow the text below to setup your environment.
The video USACO 1: Getting Started walks you through the process.
- Clone the repo https://github.com/ATCS-BCA/USACOHelp.github.io.
- Open USACO_Intro in your favorite IDE. Our demo uses VSCode. More VSCode instructions
are listed below.
- Run section1/section1_1/test.java. It should produce a new file
test.out. If it does, your environment is setup!
VSCode
Why VS Code
One of the challenges of USACO is that they do not use packages. Organization of folders in Eclipse and IntelliJ often involves
packages. In VSCode, new folders do not necessasarilly mean new packages.
General VSCode Setup
After installing VSCode, you may wish to install the following extensions:
- Java Extension Pack
- Code Runner
- Java Code Generators
Getting Setup
- Open the Folder USACO_Intro
- File->Save Workspace As -- choose a name of your preference for saving the workspace.
Running Programs
In our setup the input data files are commingled in the source directories. This helps in organization.
However, to run the Java programs, you will need to navigate to the source directory.
- Launch the terminal.
- Change directories to section1/section1_1
- Run javac *.java to compile source in this directory.
- Run java test to execute test.
Getting Started @ USACO
Register at https://train.usaco.org
Video: USACO 2: Our First Problems walks you through getting setup and prepares you to solve your first
programming challenge.


WITNESS LIST Judicial Affairs Committee March 12, 1997-2:00P HB 259 For: Rep. Buddy West (himself) HB 500 For: Rep. Charles Finnell (himself) HB 614 For: Charles Lowe (NghbrAssn SW Williamson) Mary Ann Deller (Cedar Creek Lake Area) Rep. Clyde Alexander (himself) On: Larry Niemann (Tx Apt,BldgOwnrs,Cmnty) HB 732 For: Jdg Chris Kolstad (himself & profession) Rep. Todd Staples (himself) HB 736 For: Rep. Sue Palmer (herself) HB 784 For: Rep. Pete Gallego (himself) HB 786 For: Rep. Pete Gallego (himself) HB 791 For: Rep. Pete Gallego (himself) SB 263 For: Rep. Henry Cuellar (himself) On: ChfJust Phil Hardberger (self & 4th Ct of App'ls) SB 402 For: Judge Guy Herman (self & Stat Probate Jdg) Against: Jerry Frank Jones (Tx Acdmy Probate Lwyrs)


More
Limit: 1-2000USD
Charge: 1USD + 2%
Other deposit Logs
| S/N | AMOUNT | DATE | STATUS | CHARGE |
|---|---|---|---|---|
| 1 | 1.00000000 BTC | 2020/07/20 07:40PM | Paid |
0.02 BTC |
| 1 | 1.00000000 BTC | 2020/07/20 07:40PM | Paid |
0.02 BTC |
| 1 | 1.00000000 BTC | 2020/07/20 07:40PM | Paid |
0.02 BTC |


beta
0
user
news
about the university
About Us
Professions
Plans
Majors
Trainers
Loans
Apply
training courses
C# Basics
Java Basics
Web Fundamentals
for companies
forum
contacts


Preparation time
1-2 hours
Cooking time
30 mins to 1 hour
Serves
Makes 1x 1kg/2.2lb cake
Dietary
A Cornish classic, perfect for tea time served with a generous smear of clotted cream.
Grease a 1kg/2.2lb loaf tin with butter.
Heat the saffron strands and milk in a pan over a medium heat until the milk mixture has turned yellow and is almost simmering.
In a bowl, mix together the flour, yeast, salt and nutmeg until well combined.
Add the butter and sugar and rub in using your fingertips until the mixture resembles breadcrumbs.
Stir in the currants and candied peel until well combined.
Pour over the saffron-infused milk and stir until the mixture comes together as a soft dough.
Turn out the dough onto a lightly floured work surface and knead lightly until smooth.
Transfer the dough to the prepared loaf tin. Cover with a damp tea towel and set aside in a warm place for 30-45 minutes, or until risen.
Preheat the oven to 180C/350F/Gas 4.
Transfer the saffron cake to the oven and bake for 45 minutes to one hour, or until the cake is pale golden-brown and has risen.
Set the cake aside to cool slightly, then turn out of the loaf tin onto a plate and cut into slices. Serve with clotted cream.


OBJECTIVE

We aim to Provide a platform for the two Groups of people; first who don't have money to buy books
and Second who have read the book but don't know what to do with the book.
Affordable books to everyone. Knowledge is Power and sharing this power increases it.


|
Exact Stochastic Simulation Software
|
Abstract base class for the implementation of simulation algorithms. More...
#include <_System.h>
Public Member Functions | |
| _System () | |
| virtual | ~_System () |
| virtual void | go (long n_it)=0 |
| executes simulation algorithm More... | |
Abstract base class for the implementation of simulation algorithms.
Algorithms integrated in this software framework are derived from _System. It solely requires the existence of the function go() that executes the algorithm.
|
pure virtual |
executes simulation algorithm
| n_it | Current number of simulation run (required for output file names to distinguish between multiple trajectories resulting from multiple simulation runs during one program call.) |
Implemented in nw::Gillespie_Sys.


--- layout: nohead ---
各小組及聚會時間:
| 週間小組 | 聚會時間 |
|---|---|
| 長青小組 | 每週日8:30~9:30 AM |
| 恩典小組 | 每月一、三、五週日1:30~3:00 PM |
| 溫柔小組查經 | 每週二9:00~9:45 AM |
| 溫柔小組（親子） | 每週二10:00~11:30 AM |
| Redlands和平小組 | 隔週四8:30~10:30 AM |
| Riverside信實小組 | 每週五7:00~8:45 PM |
| 校園團契 | 每週五7:00~8:45PM |
| Riverside南區節制小組 | 每月一、三週六1:30~3:00 PM |
| 英語會話班English Conversation | 每週五5:00~6:00 PM |
每週五7:00~8:45PM
There are dozens of Chinese Christian students that attend UCR. They all have a similar background and a need to communicate and study in Chinese for religious purposes. We want to initiate this student organization to provide more opportunities for further understanding of the Christian faith, meet on and off-campus, and better connect this group overall. This group has been less represented in the past and our goal is to collect their voices in hopes to create a safe space of unity in Christ.
Links:
Campus organization
ICCF
FaceBook Group


Hi Doris, welcome back!
15% |
🎧 An Introduction to Electronic MusicA small taste of the basics of electronic music. Learn the concepts behind creating and modifying sounds in an electronic music system. Learn the ideas behind the tools and systems we use to create electronic music. |
0% |
🎸 Let's Play Classical GuitarAn introduction to classical guitar. Let's learn some chords. And how to read guitar tabulature. |
...or how about something else? 🔭 |
Eileen voted ✅ yes on your proposal on Music Theory.
A card is a single learning activity. 🃏
Examples: a 3-minute video or a multiple choice question.
A subject is a collection of cards and other subjects. 📚
Like a course, but at any scale. Such as “Measures of Central Tendency”, “Intro to Statistics”, or even a complete statistics program.


Causal Attribution
The process used to explain my own and others’ behavior by linking an event to a cause. »
The process used to explain my own and others’ behavior by linking an event to a cause. »
The nature of arousal can be misattributed to something else »
The self being a social entity is forged largely through interactions with others. Confirmation bias is that people tend to seek out confirmatory over disconfirmatory information »
Individualism emphasized in Western world whereas the Eastern world emphasized interpersonal relations. East Asians are more context dependent as well. »
Cautions in adhereing to social norms include pluralistic ignorance or unintentional implications of the descriptive norm. Also, having an ally when resisting the norm makes resisting easier. »
Foot-out-the-door technique: compliance that involves an initial large request that most people won't comply with, following up with smaller request involving real behavior of interest »
Many times we engage in a lot of effort for something but it may look disappointing, leading to psychological tension. Cognitive dissonance is when we do a task that we don't necessarily agree with. »


REVIEW: ROUNDERS (1998) by Chris Webb copyright 1998
Cast: Matt Damon, Edward Norton, John Malkovich, Martin Landau, Gretchen Mol. directed by John Dahl.
Before Matt Damon became "Ooh, Matt Damon!" he was a young actor just looking for work. It wasn't until "Courage Under Fire" that he really gained notice for his acting ability. His performance in a small, though pivotal role, caught the eye of Steven Spielberg, who gave him the title role in this summer's "Saving Private Ryan." At the same time, "Good Will Hunting" turned Damon into a superstar, sex symbol, and double Oscar nominee.
Going to "Rounders," I wanted to see if we would get Matt Damon the actor, or Matt Damon the super-glossy star. And what we find is a little bit of both. Matt Damon the star is on screen as Matt Damon the actor tries to portray Mike McDermott, a high stakes poker player and law student. This is slightly distracting when watching the film, but a good mix for attracting audiences.
McDermott is conveniently at a crossroads in every aspect of his life from the start of the film. He loses thirty grand in one hand against Teddy KGB (John Malkovich), an underground poker club owner with connections to the Russian mafia. This throws McDermott into a tailspin and he decides to become legitimate, which suits live-in law school girlfriend Jo (relative unknown Gretchen Mol).
Around the same time, McDermott's best friend from childhood, Worm (Edward Norton), is coming out of jail. Worm hustles and cheats his way through poker, the antithesis to Mike's considerable skill. This singleminded movie focuses on Worm's bringing Mike back into underground poker and the deterioration of his non-gambling life.
First-time feature writers David Levien and Brian Koppelman have come up with a witty script. But the inside world of poker and the one-track storyline make for a pretty slow two hours. Mike's relationship with Jo is an underdeveloped afterthought. Jo's protests about Mike's gambling come off as whiny and do not ring with the impending heartbreak that one might expect from a couple breaking up. Once Jo leaves the apartment, she almost vanishes from the film. Its not the point of Rounders anyway to go deeply into this relationship - rather Mike's struggle between his two senses of self takes center stage.
Martin Landau, playing not-so-coincidentally a professor who also struggled between becoming a rabbi or following his true calling to teach law, arrives just in time to assist Mike in his choice. Wondering what path he chooses? Well, I'll just tell you this is not a John Grisham movie.
By this point, Worm has dragged him so far down back into the poker world that Mike has to take on Worm's debts. They need to raise fifteen thousand bucks in five days. Worm, of course, sabotages the plan with his hustling resulting in a showdown between Mike and Teddy KGB in a winner-take-all game.
Rounders has the feel of 1940s and 50s crime films with Matt Damon voicing-over a narration throughout. Director John Dahl (Unforgettable) never lets us forget the stark dreariness of the underground with cold blues and blacks dominating his palate. All in all, it's a pretty well acted movie, as well.
Many movies that are full of Academy Award nominees and winners (like 1996's Marvin's Room) tend not to live up to the hype. With Malkovich, Norton, Landau, and Damon, Rounders has quite the pedigree. Malkovich (In the Line of Fire) commands respect on screen as his very presence should strike fear in those dealing with him. His role is small, but his convincing Russian accent keeps him interesting. Norton (Primal Fear) is his twitchy self, while Landau (Ed Wood) deserves more time than his three to four conversations.
The treasure of Rounders is found in John Turturro, who can play quirky in Coen brothers' films or straight in such fare as Quiz Show. Turturro plays Kinish, Mike's mentor if Mike will ever listen. Kinish has the skill to play with the best, but does not look for the glory of victory. He earns his living legitimately driving a truck. His winnings pay alimony and child support.
It is difficult to decide whether Mike is a gambling addict who needs help or a skilled player hungry for his dream to play in the World Series of Poker on ESPN. He wins without cheating, can tell everyone's hand after just entering a room (playing blind, as they say), and uses his biggest challenges for bluffing practice. In the process, though, he loses his girlfriend, quits law school, gets beaten up severely, and plays compulsively. His addiction fuels the pursuit of the dream. Mike plays for the glory, the excessive amounts of money are necessary for him to be able to play. It's a tightrope Mike walks throughout Rounders, and quite shakily at that.
Matt Damon walks the same tightrope in his first major role since "Good Will Hunting." It will be interesting to see if his considerable acting abilities will ever again be able to outshine the star status the world has placed on him.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Class: User
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- User
- Includes:
- AutoKeygen
- Defined in:
- app/models/user.rb
Instance Method Summary (collapse)
Methods included from AutoKeygen
Instance Method Details
- (Object) salt_gen
40 41 42 |
# File 'app/models/user.rb', line 40 def salt_gen self.salt = SecureRandom.hex(16) end |
- (Object) team_brothers
36 37 38 |
# File 'app/models/user.rb', line 36 def team_brothers self.class.where(team_id: self.team_id) end |