Created
March 12, 2012 21:40
-
-
Save clr/2024846 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*- | |
%% ex: ft=erlang ts=4 sw=4 et | |
[ | |
%% Riak Core config | |
{riak_core, [ | |
%% Default location of ringstate | |
{ring_state_dir, "/var/lib/riak/ring"}, | |
%% Ring size | |
{ring_creation_size, 256 }, | |
%% http is a list of IP addresses and TCP ports that the Riak | |
%% HTTP interface will bind. | |
{http, [ {"0.0.0.0", 8098 } ]}, | |
%% https is a list of IP addresses and TCP ports that the Riak | |
%% HTTPS interface will bind. | |
%{https, [{ "127.0.0.1", 8098 }]}, | |
%% Default cert and key locations for https can be overridden | |
%% with the ssl config variable, for example: | |
%{ssl, [ | |
% {certfile, "/etc/riak/cert.pem"}, | |
% {keyfile, "/etc/riak/key.pem"} | |
% ]}, | |
%% Handoff IP address | |
{handoff_ip, "0.0.0.0" }, | |
%% riak_handoff_port is the TCP port that Riak uses for | |
%% intra-cluster data handoff. | |
{handoff_port, 8099 }, | |
%% To encrypt riak_core intra-cluster data handoff traffic, | |
%% uncomment the following line and edit its path to an | |
%% appropriate certfile and keyfile. (This example uses a | |
%% single file with both items concatenated together.) | |
%{handoff_ssl_options, [{certfile, "/tmp/erlserver.pem"}]}, | |
%% Platform-specific installation paths (substituted by rebar) | |
{platform_bin_dir, "/usr/sbin"}, | |
{platform_data_dir, "/var/lib/riak"}, | |
{platform_etc_dir, "/etc/riak"}, | |
{platform_lib_dir, "/usr/lib64/riak"}, | |
{platform_log_dir, "/var/log/riak"} | |
]}, | |
%% Riak KV config | |
{riak_kv, [ | |
%% Storage_backend specifies the Erlang module defining the storage | |
%% mechanism that will be used on this node. | |
{storage_backend, riak_kv_bitcask_backend}, | |
%% pb_ip is the IP address that the Riak Protocol Buffers interface | |
%% will bind to. If this is undefined, the interface will not run. | |
{pb_ip, "0.0.0.0" }, | |
%% pb_port is the TCP port that the Riak Protocol Buffers interface | |
%% will bind to | |
{pb_port, 8087 }, | |
%% pb_backlog is the maximum length to which the queue of pending | |
%% connections may grow. If set, it must be an integer >= 0. | |
%% By default the value is 5. If you anticipate a huge number of | |
%% connections being initialised *simultaneously*, set this number | |
%% higher. | |
%% {pb_backlog, 64}, | |
%% raw_name is the first part of all URLS used by the Riak raw HTTP | |
%% interface. See riak_web.erl and raw_http_resource.erl for | |
%% details. | |
%{raw_name, "riak"}, | |
%% mapred_name is URL used to submit map/reduce requests to Riak. | |
{mapred_name, "mapred"}, | |
%% mapred_system indicates which version of the MapReduce | |
%% system should be used: 'pipe' means riak_pipe will | |
%% power MapReduce queries, while 'legacy' means that luke | |
%% will be used | |
{mapred_system, pipe}, | |
%% mapred_2i_pipe indicates whether secondary-index | |
%% MapReduce inputs are queued in parallel via their own | |
%% pipe ('true'), or serially via a helper process | |
%% ('false' or undefined). Set to 'false' or leave | |
%% undefined during a rolling upgrade from 1.0. | |
{mapred_2i_pipe, true}, | |
%% directory used to store a transient queue for pending | |
%% map tasks | |
%% Only valid when mapred_system == legacy | |
%% {mapred_queue_dir, "/var/lib/riak/mr_queue" }, | |
%% Each of the following entries control how many Javascript | |
%% virtual machines are available for executing map, reduce, | |
%% pre- and post-commit hook functions. | |
% {map_js_vm_count, 8 }, | |
% {reduce_js_vm_count, 6 }, | |
% {hook_js_vm_count, 2 }, | |
%% Number of items the mapper will fetch in one request. | |
%% Larger values can impact read/write performance for | |
%% non-MapReduce requests. | |
%% Only valid when mapred_system == legacy | |
%% {mapper_batch_size, 5}, | |
%% js_max_vm_mem is the maximum amount of memory, in megabytes, | |
%% allocated to the Javascript VMs. If unset, the default is | |
%% 8MB. | |
% {js_max_vm_mem, 8}, | |
%% js_thread_stack is the maximum amount of thread stack, in megabyes, | |
%% allocate to the Javascript VMs. If unset, the default is 16MB. | |
%% NOTE: This is not the same as the C thread stack. | |
% {js_thread_stack, 16}, | |
%% Number of objects held in the MapReduce cache. These will be | |
%% ejected when the cache runs out of room or the bucket/key | |
%% pair for that entry changes | |
%% Only valid when mapred_system == legacy | |
%% {map_cache_size, 10000}, | |
%% js_source_dir should point to a directory containing Javascript | |
%% source files which will be loaded by Riak when it initializes | |
%% Javascript VMs. | |
%{js_source_dir, "/tmp/js_source"}, | |
%% http_url_encoding determines how Riak treats URL encoded | |
%% buckets, keys, and links over the REST API. When set to 'on' | |
%% Riak always decodes encoded values sent as URLs and Headers. | |
%% Otherwise, Riak defaults to compatibility mode where links | |
%% are decoded, but buckets and keys are not. The compatibility | |
%% mode will be removed in a future release. | |
{http_url_encoding, on}, | |
%% riak_stat enables the use of the "riak-admin status" command to | |
%% retrieve information the Riak node for performance and debugging needs | |
{riak_kv_stat, true}, | |
%% When using riak_kv_stat, use the legacy routines for tracking | |
{legacy_stats, true}, | |
%% Switch to vnode-based vclocks rather than client ids. This | |
%% significantly reduces the number of vclock entries. | |
%% Only set true if *all* nodes in the cluster are upgraded to 1.0 | |
{vnode_vclocks, true}, | |
%% This option enables compatability of bucket and key listing | |
%% with 0.14 and earlier versions. Once a rolling upgrade to | |
%% a version > 0.14 is completed for a cluster, this should be | |
%% set to false for improved performance for bucket and key | |
%% listing operations. | |
{legacy_keylisting, false}, | |
%% This option toggles compatibility of keylisting with 1.0 | |
%% and earlier versions. Once a rolling upgrade to a version | |
%% > 1.0 is completed for a cluster, this should be set to | |
%% true for better control of memory usage during key listing | |
%% operations | |
{listkeys_backpressure, true} | |
]}, | |
%% Riak Search Config | |
{riak_search, [ | |
%% To enable Search functionality set this 'true'. | |
{enabled, false} | |
]}, | |
%% Merge Index Config | |
{merge_index, [ | |
%% The root dir to store search merge_index data | |
{data_root, "/var/lib/riak/merge_index"}, | |
%% The root dir to store secondary index merge_index data | |
{data_root_2i, "/var/lib/riak/merge_index_2i"}, | |
%% Size, in bytes, of the in-memory buffer. When this | |
%% threshold has been reached the data is transformed | |
%% into a segment file which resides on disk. | |
{buffer_rollover_size, 1048576}, | |
%% Overtime the segment files need to be compacted. | |
%% This is the maximum number of segments that will be | |
%% compacted at once. A lower value will lead to | |
%% quicker but more frequent compactions. | |
{max_compact_segments, 20} | |
]}, | |
%% Bitcask Config | |
{bitcask, [ | |
{data_root, "/var/lib/riak/bitcask"} | |
]}, | |
%% eLevelDB Config | |
{eleveldb, [ | |
{data_root, "/var/lib/riak/leveldb"} | |
]}, | |
%% Lager Config | |
{lager, [ | |
%% What handlers to install with what arguments | |
%% The defaults for the logfiles are to rotate the files when | |
%% they reach 10Mb or at midnight, whichever comes first, and keep | |
%% the last 5 rotations. See the lager README for a description of | |
%% the time rotation format: | |
%% https://github.com/basho/lager/blob/master/README.org | |
%% | |
%% If you wish to disable rotation, you can either set the size to 0 | |
%% and the rotation time to "", or instead specify a 2-tuple that only | |
%% consists of {Logfile, Level}. | |
{handlers, [ | |
{lager_console_backend, info}, | |
{lager_file_backend, [ | |
{"/var/log/riak/error.log", error, 10485760, "$D0", 5}, | |
{"/var/log/riak/console.log", info, 10485760, "$D0", 5} | |
]} | |
]}, | |
%% Whether to write a crash log, and where. | |
%% Commented/omitted/undefined means no crash logger. | |
{crash_log, "/var/log/riak/crash.log"}, | |
%% Maximum size in bytes of events in the crash log - defaults to 65536 | |
{crash_log_msg_size, 65536}, | |
%% Maximum size of the crash log in bytes, before its rotated, set | |
%% to 0 to disable rotation - default is 0 | |
{crash_log_size, 10485760}, | |
%% What time to rotate the crash log - default is no time | |
%% rotation. See the lager README for a description of this format: | |
%% https://github.com/basho/lager/blob/master/README.org | |
{crash_log_date, "$D0"}, | |
%% Number of rotated crash logs to keep, 0 means keep only the | |
%% current one - default is 0 | |
{crash_log_count, 5}, | |
%% Whether to redirect error_logger messages into lager - defaults to true | |
{error_logger_redirect, true} | |
]}, | |
%% riak_sysmon config | |
{riak_sysmon, [ | |
%% To disable forwarding events of a particular type, use a | |
%% limit of 0. | |
{process_limit, 30}, | |
{port_limit, 2}, | |
%% Finding reasonable limits for a given workload is a matter | |
%% of experimentation. | |
{gc_ms_limit, 100}, | |
{heap_word_limit, 40111000}, | |
%% Configure the following items to 'false' to disable logging | |
%% of that event type. | |
{busy_port, true}, | |
{busy_dist_port, true} | |
]}, | |
%% SASL config | |
{sasl, [ | |
{sasl_error_logger, false} | |
]}, | |
%% Replication config | |
{riak_repl, [ | |
{data_root, "/var/lib/riak/riak_repl"}, | |
{fullsync_on_connect, false} | |
]}, | |
%% JMX Config | |
{riak_jmx, [ | |
{enabled, false} | |
]}, | |
%% SNMP config | |
{snmp, | |
[{agent, | |
[{net_if, [{options,[{bind_to, true}]}]}, | |
{config, [{dir, "/etc/riak/snmp/agent/conf"}, {force_load, true}]}, | |
{db_dir, "/var/lib/riak/snmp/agent/db"}]}]}, | |
%% riak_control config | |
{riak_control, [ | |
%% Set to false to disable the admin panel. | |
{enabled, false}, | |
%% Authentication style used for access to the admin | |
%% panel. Valid styles are 'userlist' <TODO>. | |
{auth, userlist}, | |
%% If auth is set to 'userlist' then this is the | |
%% list of usernames and passwords for access to the | |
%% admin panel. | |
{userlist, [{"user", "pass"} | |
]}, | |
%% The admin panel is broken up into multiple | |
%% components, each of which is enabled or disabled | |
%% by one of these settings. | |
{admin, true} | |
]} | |
]. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment