2

这个问题与:

Riak 节点不工作,但使用 100% cpu

但由于海报似乎已经离开,我将我的案例发布在这里。

昨晚我使用 Riak 网站上的配置选项从源代码安装了 erlang(R15B01):

http://docs.basho.com/riak/1.2.1/tutorials/installation/Installing-Erlang/#Installing-on-Mac-OS-X

和 Riak(1.4.1) 在我的 2013 MacBook Pro(2.8GHz i7、16GB 内存、OSX 10.8.3)上。我没有更改 ulimit,因为我认为它可以用于香草运行。

安装顺利;警告但没有错误,我能够运行玩具示例没有问题。

然而,空实例很快吞噬了所有 4 个内核,我的机器开始抱怨和过热。

查看日志,我看到以下错误重复了千万次:


2013-10-11 09:04:04.266 [error]  CRASH REPORT ¥
 Process  with 0 neighbours exited with reason: ¥
 call to undefined function eleveldb:o

还有大量的崩溃报告:


2013-10-11 09:14:47 =CRASH REPORT====
  crasher:
    initial call: riak_kv_index_hashtree:init/1
    pid: 
    registered_name: []
    exception exit: {{undef,[{eleveldb,open,
["./data/anti_entropy/479555224749202520035584085735030365824602865664",
[{create_if_missing,true},{max_open_files,20},{write_buffer_size,12886952}]],[]},
{hashtree,new_segment_store,2,[{file,"src/hashtree.erl"},{line,499}]},{hashtree,new,2,
[{file,"src/hashtree.erl"},{line,215}]},{riak_kv_index_hashtree,do_new_tree,2,
[{file,"src/riak_kv_index_hashtree.erl"},{line,421}]},{lists,foldl,3,[{file,"lists.erl"},
{line,1197}]},{riak_kv_index_hashtree,init_trees,2,[{file,"src/riak_kv_index_hashtree.erl"},
{line,366}]},{riak_kv_index_hashtree,init,1,[{file,"src/riak_kv_index_hashtree.erl"},
{line,226}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]}]},
[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,328}]},{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,227}]}]}
    ancestors: [,riak_core_vnode_sup,riak_core_sup,]
    messages: []
    links: []
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 987
    stack_size: 24
    reductions: 492
  neighbours:

erlang.log 说


=====
===== LOGGING STARTED Fri Oct 11 09:04:01 CEST 2013
=====
Node 'riak@127.0.0.1' not responding to pings.
config is OK
!!!!
!!!! WARNING: ulimit -n is 2560; 4096 is the recommended minimum.
!!!!
Exec: /tmp/riak-1.4.1/rel/riak/bin/../erts-5.9.1/bin/erlexec 
-boot /tmp/riak-1.4.1/rel/riak/bin/../releases/1.4.1/riak
-config /tmp/riak-1.4.1/rel/riak/bin/../etc/app.config
-pa /tmp/riak-1.4.1/rel/riak/bin/../lib/basho-patches
-args_file /tmp/riak-1.4.1/rel/riak/bin/../etc/vm.args -- console
Root: /tmp/riak-1.4.1/rel/riak/bin/..
Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:8:8] [async-threads:64]
 [kernel-poll:true]

Eshell V5.9.1  (abort with ^G)
(riak@127.0.0.1)1>

在不到 10m 之后,已经有 144MB 的日志文件,其中包含上述变体。

4

2 回答 2

3

通过从源代码构建 riak 1.4.6,我遇到了同样的问题。

我将文件 etc/app.config 中的行更改为

{anti_entropy, {off, []}},

AAE 使用 Leveldb。请参阅配置参数 anti_entropy_leveldb_opts。

于 2014-01-01T12:34:28.120 回答
0

消除的使用过程:

没有更多信息很难说。200% 是否被使用 beam.smp?您是否在 console.log、error.log 或 crash.log 中看到任何表明正在发生奇怪事情的内容?当时是否有客户端与集群通信?如果是这样,他们使用什么客户端/协议以及正在执行什么类型的操作(例如 get/put/map reduce/etc)?

参考

于 2013-12-10T01:10:57.497 回答