我需要帮助让Riak与Chef合作。
目前,每当我使用默认的basho riak烹饪书厨师使用Riak 1.4.8的亚马逊盒时,我必须手动ssh到机器中杀死-9 beam.smp进程然后rm -rf / var / lib / riak /然后我终于可以开始sudo riak了,它会起作用。
在此之前我得到:
节点'riak @'没有响应ping。
我甚至创建了一个shell脚本:
#!/bin/bash
# Generated by Chef for <%= @node[:fqdn] %>
#<%= @node[:ec2][:local_ipv4] %>
# This script should be run by root.
riak stop
riakPid="/var/run/riak/riak.pid"
if [ -e "$riakPid" ]; then
kill -9 $(<${riakPid})
fi
rm -f /var/run/riak/*
rm -f /var/lib/riak/ring/*
riak start
师傅说:
bash [/etc/riak/clearOldRiakInfo.sh]成功运行
对于上述脚本。
如果我手动运行该脚本,一切正常。为什么这不是正确的。
更新: 这已经通过创建一个脚本来解决,当一台机器被清空时删除环目录。
这只会在我从头开始创建新机器时发生,因为在Riak启动并创建环之后fqdn会正确设置。如果我手动上框并删除了戒指,那么它将完全恢复。因此,我必须创建脚本,以便在机器上运行的第一个厨师将清除环信息。
答案 0 :(得分:1)
鉴于您提供的错误消息,Riak未启动,因为未正确生成Erlang节点名称。 Erlang节点名称配置存在于vm.args
中,由node['riak']['args']['-name']
属性生成。
node['riak']['args']['-name']
的默认值为riak@#{node['fqdn']}
。请检查Ohai报告的node['fqdn']
值。或者,如果要在其他位置覆盖此属性,请确保为-name
生成有效值。
-name
中vm.args
的更详细说明可以找到here。