2013-10-11 161 views
1

這個問題是涉及到:了Riak吃OSX上100%的CPU安裝

Riak node not working, but using 100% cpu

但由於海報似乎已經走了,我在這裏張貼我的情況。

昨晚我安裝源二郎(R15B01),使用從了Riak網站的配置選項:

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

我2013的MacBook Pro(2.8GHz的酷睿i7

和了Riak(1.4.1), 16GB RAM,OSX 10.8.3)。我沒有改變ulimit,因爲我認爲這對香草運行會很好。

安裝進行的很好;警告但沒有錯誤,並且我能夠運行玩具示例沒有問題。

然而,空實例很快吞噬了所有4個內核,我的機器開始發出嗚嗚聲和過熱。

展望我看到下面的錯誤重複jillion次日誌:


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 '[email protected]' 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) 
([email protected])1> 

後不到10米,已經有144MB的日誌文件和上面的變化。

+0

我想你可能需要重新安裝你的riak,這次確保所有依賴項都可用 –

+0

文檔說eleveldb是默認包含的,riak頁面沒有提供關於如何安裝它的更多信息。 – si28719e

+0

在error.log文件中可以找到哪些錯誤? –

回答

0

使用排除法:

很難沒有更多的信息說。是否使用 beam.smp?你有沒有在console.log,error.log或crash.log 中看到任何異常情況?當時是否有客戶端 與集羣通信?如果是,他們使用哪種客戶端/協議 以及正在執行什麼類型的操作(例如 get/put/map reduce/etc)?

參考

2

我從源碼構建riak 1.4.6有同樣的問題。

我在文件etc/app中進行了更改。將該行配置爲

{anti_entropy, {off, []}}, 

AAE使用Leveldb。請參閱配置參數anti_entropy_leveldb_opts。