让Riak从厨师开始吧

时间:2014-06-11 16:36:49

标签: bash chef riak

我需要帮助让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会正确设置。如果我手动上框并删除了戒指,那么它将完全恢复。因此,我必须创建脚本,以便在机器上运行的第一个厨师将清除环信息。

1 个答案:

答案 0 :(得分:1)

鉴于您提供的错误消息,Riak未启动,因为未正确生成Erlang节点名称。 Erlang节点名称配置存在于vm.args中,由node['riak']['args']['-name']属性生成。

node['riak']['args']['-name']的默认值为riak@#{node['fqdn']}。请检查Ohai报告的node['fqdn']值。或者,如果要在其他位置覆盖此属性,请确保为-name生成有效值。

-namevm.args的更详细说明可以找到here