必备的组件:

gcc
gcc-c++
glibc-devel
make
pam-devel

使用yum安装相关组件

sudo yum install gcc gcc-c++ glibc-devel make git pam-devel

开始安装

wget http://s3.amazonaws.com/downloads.basho.com/riak/2.0/2.0.0/riak-2.0.0.tar.gz
tar zxvf riak-2.0.0.tar.gz
cd riak-2.0.0
make rel

修改全局配置:

vi /etc/riak/riak.conf

%% -*- mode: erlang;erlang-indent-level: ;indent-tabs-mode: nil -*-
%% ex: ft=erlang ts= sw= et
[
 %% Riak Client APIs config
 {riak_api, [
            %% pb_backlog is the maximum length to which the queue of pending
            %% connections may grow. If .
            %% By . If you anticipate a huge number of
            %% connections being initialised *simultaneously*, set this number
            %% higher.
            %% {pb_backlog, },

            %% pb is a list of IP addresses and TCP ports that the Riak
            %% Protocol Buffers interface will bind.
            {pb, [ { } ]}
            ]},

 %% Riak Core config
 {riak_core, [
              %% Default location of ringstate
              {ring_state_dir, "/var/lib/riak/ring"},

              %% Default ring creation size.  Make sure it ,
              %% e.g. , , , , ,  etc
              %{ring_creation_size, },

              %% http is a list of IP addresses and TCP ports that the Riak
              %% HTTP interface will bind.
              {http, [ { } ]},

              %% https is a list of IP addresses and TCP ports that the Riak
              %% HTTPS interface will bind.
              %{https, [{  }]},

              %% 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"}
              %      ]},

              %% riak_handoff_port is the TCP port that Riak uses for
              %% intra-cluster data handoff.
              {handoff_port,  },

              %% 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"}]},

              %% DTrace support
              %% Do not enable 'dtrace_support' unless your Erlang/OTP
              %% runtime is compiled to support DTrace.  DTrace is
              %% available in R15B01 (supported by the Erlang/OTP
              %% official source package) and in R14B04 via a custom
              %% source repository & branch.
              {dtrace_support, false},

              %% Health Checks
              %% If disabled, health checks registered by an application will
              %% be ignored. NOTE: this option cannot be changed at runtime.
              %% To re-enable, the setting must be changed and the node restarted.
              %% NOTE: As of Riak , health checks are deprecated as they
              %% may interfere with the new overload protection mechanisms.
              %% If there is a good reason to re-enable them, you must uncomment
              %% this line and also add an entry in the riak_kv section:
              %%          {riak_kv, [ ..., {enable_health_checks, true}, ...]}
              %% {enable_health_checks, true},

              %% 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/lib"},
              {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},

            %% 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"},

            %% Enable active anti-entropy subsystem + optional debug messages:
            %%   {anti_entropy, {on|off, []}},
            %%   {anti_entropy, {on|off, [debug]}},
            {anti_entropy, {on, []}},

            %% Restrict how fast AAE can build hash trees. Building the tree
            %% for a given partition requires a full scan over that partition's
            %% data. Once built, trees stay built until they are expired.
            %% Config is of the form:
            %%   {num-builds, per-timespan-in-milliseconds}
            %% Default  build per hour.
            {anti_entropy_build_limit, {, }},

            %% Determine how often hash trees are expired after being built.
            %% Periodically expiring a hash tree ensures the on-disk hash tree
            %% data stays consistent with the actual k/v backend data. It also
            %% helps Riak identify silent disk failures and bit rot. However,
            %% expiration is not needed for normal AAE operation and should be
            %% infrequent for performance reasons. The time is specified in
            %% milliseconds. The  week.
            {anti_entropy_expire, },

            %% Limit how many AAE exchanges/builds can happen concurrently.
            {anti_entropy_concurrency, },

            %% The tick determines how often the AAE manager looks for work
            %% to do (building/expiring trees, triggering exchanges, etc).
            %% The  seconds. Lowering this value will
            %% speedup the rate that all replicas are synced across the cluster.
            %% Increasing the value is not recommended.
            {anti_entropy_tick, },

            %% The directory where AAE hash trees are stored.
            {anti_entropy_data_dir, "/var/lib/riak/anti_entropy"},

            %% The LevelDB options used by AAE to generate the LevelDB-backed
            %% on-disk hashtrees.
            {anti_entropy_leveldb_opts, [{write_buffer_size, },
                                         {max_open_files, }]},

            %% mapred_name is URL used to submit map/reduce requests to Riak.
            {mapred_name, "mapred"},

            %% 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},

            %% 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,  },
            {reduce_js_vm_count,  },
            {hook_js_vm_count,  },

            %% 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, },

            %% 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, },

            %% 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},

            %% 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 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},

            %% This option specifies how many of each type of fsm may exist
            %% concurrently.  This is for overload protection and is a new
            %% mechanism that obsoletes 1.3's health checks. Note that this number
            %% represents two potential processes, so +P in vm.args should be at
            %% least 3X the fsm_limit.
            {fsm_limit, },

            %% Uncomment to make non-paginated results be sorted the
            %% same way paginated results are: by term, then key.
            %% In Riak , all results were sorted this way
            %% by default, which can adversely affect performance in some cases.
            %% Setting this to true emulates that behavior.
            %% {secondary_index_sort_default, true},

            %% object_format controls which binary representation of a riak_object
            %% is stored on disk.
            %% Current options are: v0, v1.
            %% v0: Original erlang:term_to_binary format. Higher space overhead.
            %% v1: New format for more compact storage of small values.
            {object_format, v1}
           ]},

 %% 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"},

                %% 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, },

                %% 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, }
               ]},

 %% Bitcask Config
 {bitcask, [
             %% Configure how Bitcask writes data to disk.
             %%   erlang: Erlang's built-in file API
             %%      nif: Direct calls to the POSIX C API
             %%
             %% The NIF mode provides higher throughput for certain
             %% workloads, but has the potential to negatively impact
             %% the Erlang VM, leading to higher worst-case latencies
             %% and possible throughput collapse.
             {io_mode, erlang},

             {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  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
            %% and the rotation time to -tuple that only
            %% consists of {Logfile, Level}.
            %%
            %% If you wish to have riak log messages to syslog, you can use a handler
            %% like this:
            %%   {lager_syslog_backend, ["riak", daemon, info]},
            %%
            {handlers, [
                           {lager_file_backend, [
                               {, },
                               {, }
                           ]}
                       ] },

            %% Whether to write a crash log, and where.
            %% Commented/omitted/undefined means no crash logger.
            {crash_log, "/var/log/riak/crash.log"},

            %% Maximum size
            {crash_log_msg_size, },

            %% Maximum size of the crash log in bytes, before its rotated, set
            %% to  to disable rotation -
            {crash_log_size, },

            %% 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,  means keep only the
            %% current one -
            {crash_log_count, },

            %% Whether to redirect error_logger messages into lager - defaults to true
            {error_logger_redirect, true},

            %% maximum number of error_logger messages to handle in a second
            %% lager  shipped with a limit of , which is a little low for riak's startup
            {error_logger_hwm, }
        ]},

 %% riak_sysmon config
 {riak_sysmon, [
         %% To disable forwarding events of a particular type, use a
         %% limit of .
         {process_limit, },
         {port_limit, },

         %% Finding reasonable limits for a given workload is a matter
         %% of experimentation.
         %% NOTE: Enabling the 'gc_ms_limit' monitor (by setting non-zero)
         %%       can cause performance problems on multi-CPU systems.
         {gc_ms_limit, },
         {heap_word_limit, },

         %% 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}
        ]},

 %% 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}
                ]}
].

/etc/init.d/riak restart

web访问:

http://192.168.1.111:8098/riak/test

Linux/centos下安装riak的更多相关文章

  1. Linux(CentOs)下安装Phantomjs + Casperjs

    Linux(CentOs)下安装Phantomjs + Casperjs 是参照cnMiss's Blog http://ju.outofmemory.cn/entry/70691的博客进行安装的 1 ...

  2. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  3. Linux CentOS下安装Tomcat9

    本文讲解在Linux CentOS下安装Tomcat9,以及Web项目的部署发布. 环境:阿里云ECS 云服务器Linux CentOS 使用XShell客户端连接服务器,进行操作实践. 1.下载To ...

  4. [Linux]CentOS下安装和使用tmux

    前天随意点开博客园,看到了一篇关于tmux的文章 Tmux - Linux从业者必备利器,特意还点进去看了.毕竟Linux对于做游戏服务端开发的我来说,太熟悉不过了.不过我就粗略地看了一眼,就关掉了. ...

  5. Linux(CentOS)下安装git

    上个月把VPS迁到budgetVM,终于不用再受digitalOcean的气了,入手很方便,重点是支持支付宝付款——paypal的界面真是不习惯,开通速度挺快的,1G的内存够我折腾一段时间了~,额外送 ...

  6. Linux CentOS下安装、配置mysql数据库

    假设要在Linux上做j2ee开发.首先得搭建好j2ee的开发环境.包含了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有具体解说了Linux学习之CentOS(七)--Cen ...

  7. Linux(CentOS)下安装docker

    Linux(CentOS)安装Docker 查看当前内核版本 [docker@localhost ~]$ uname -r 确保yum包更新到最新 [docker@localhost ~]$ sudo ...

  8. linux/centOS 下安装 ngnix

    Nginx 是一款轻量级的 Web 服务器/反向代理服务器,比较流行,建议在 Linux 下安装运行. Nginx 需要的依赖 它们包括:gcc,openssl,zlib,pcre(可通过rpm -q ...

  9. Linux(centos)下安装JDK

    安装 JDK是运行java程序必不可少的环境,服务器上跑程序也不例外.首先在安装之前,要知道Linux下安装软件有两种,一种是使用yum等命令直接下载,一种是使用上传下载工具,上传至Linux下使用, ...

随机推荐

  1. JDBC的应用

    JDBC的开发步骤: 1.  引入JDBC驱动架包 2.  程序中引入JDBC驱动类     3.  创建java与数据库的连接 4.  跟数据库交互:发送sql语句,接收数据库对sql语句的执行结果 ...

  2. 9.5---括号是否有效(CC150)

    leetcode原题: char temp ; Stack<Character> stack = new Stack<Character>();//error:Stack< ...

  3. Droid4x快照还原

    一.问题描述 1. Droid4x还原快照可以通过VirtualBox 先还原快照 2. virtualbox 还原快照之后 如果没有用virtualbox启动 并关闭     而是直接启动Droid ...

  4. JNative library not loaded, sorry ! win7 64位系统

    java调用动态链接库时,使用myeclipse或者其他IDE工具时,针对于web程序,会报这样的错误: java.lang.IllegalStateException: JNative librar ...

  5. 【leetcode】Merge Intervals

    Merge Intervals Given a collection of intervals, merge all overlapping intervals. For example,Given  ...

  6. kendoUI grid 过滤时出错:TypeError toLowerCase is not a function

    错误原因:类型不一致. 有些过滤类型为字符串,有些为整型时.

  7. Python~Outlook

    用python处理outlook邮件 按季度将邮件分类,归入新建文件夹2016Q1,2015Q4等等 http://www.tuicool.com/articles/Fra22mq Python读取O ...

  8. Linux(CentOS、Ububtu)一键安装Openstack及其它参考文档汇总

    原文链接  http://www.aboutyun.com/thread-10920-1-1.html openstack相关资料 CentOS下一键安装Openstack  http://blog. ...

  9. 关于定时器 setTimeout

    1.这里不考虑线程问题.把javascript想象成在时间线上运行,页面载入时,首先执行的是<script>标签中的代码,之后,将执行更多代码,当进程空闲时,下个代码就被触发并执行 如图: ...

  10. mybatis新增数据后获取自增主键

    mybatis对应mysql <insert id="insert" parameterType="com.timestech.wsgk.web.model.Sys ...