Running riak from launchd?

Izzy Alanis izzyalanis at gmail.com
Sat May 26 20:36:43 EDT 2012


I tried seeing if there was a workaround using attach after start in
another script, but riak attach still expects to be attached to a real
console (or other input on stdin) or it dies.
Try:
> riak attach < /dev/null


On Sat, May 26, 2012 at 11:34 AM, Kelly McLaughlin <kelly at basho.com> wrote:
> Hi Izzy. Use riak start and then you can use riak attach if you need to attach a console to the running instance.
>
> Kelly
>
> Sent from my iPhone
>
> On May 26, 2012, at 8:38 AM, Izzy Alanis <izzyalanis at gmail.com> wrote:
>
>> Has anyone gotten riak to run under launchd?
>>
>> Or, is there a way to run riak in console mode without the interactive
>> erlang shell?
>>
>> Launchd doesn't want its subprocesses to daemonize themselves. If I
>> set up a launch file to run riak in the foreground with "riak
>> console", its the same as running "riak console < /dev/null"  from the
>> command line, and (I'm guessing here:) the interactive shell sees the
>> end of stream and ends the console session.
>>
>> I expect you'd have the same problem using supervisor as your process
>> controller. Supervisor has a pixproxy program to help in these sort of
>> situations, but riak is not writing out a pid file either(?!).
>>
>> Things I've tried:
>>
>> Piping input from /dev/zero is understandably disastrous:
>>> riak console < /dev/zero
>>
>> Piping input from a fifo just hangs:
>>> mkfifo < /tmp/myfifo
>>> riak console < /tmp/myfifo
>>
>> This seems to mostly work (or might really work well with some extra
>> bash scripting):
>>> mkfifo < /tmp/myfifo
>>> echo > /tmp/myfifo &
>>> riak console < /tmp/myfifo
>> I have that last one in a wrapper script. I could add the bells and
>> whistles to make the fifo a random filename and make sure it gets
>> cleaned up after the script end, etc, etc, etc.
>>
>> Here's my launch config (below), FYI. I'm running it out of
>> /Library/LaunchDaemons, and errang *really* wants a HOME environment
>> variable which is a gotcha for anybody else out there!:
>>
>> Anybody else get something like this working?
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
>> "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
>> <plist version="1.0">
>> <dict>
>>    <key>Label</key>
>>    <string>com.basho.riak</string>
>>    <key>OnDemand</key>
>>    <false/>
>>    <key>Program</key>
>>    <string>/opt/riak/bin/riak-wrapper</string>
>>    <key>EnvironmentVariables</key>
>>    <dict>
>>        <key>HOME</key>
>>        <string>/opt/riak/</string>
>>    </dict>
>>    <key>StandardOutPath</key>
>>    <string>/opt/riak/log/console.log</string>
>>    <key>StandardErrorPath</key>
>>    <string>/opt/riak/log/error.log</string>
>>    <key>SoftResourceLimits</key>
>>    <dict>
>>        <key>NumberOfFiles</key>
>>        <integer>4096</integer>
>>    </dict>
>>    <key>HardResourceLimits</key>
>>    <dict>
>>        <key>NumberOfFiles</key>
>>        <integer>4096</integer>
>>    </dict>
>> </dict>
>> </plist>
>>
>> _______________________________________________
>> riak-users mailing list
>> riak-users at lists.basho.com
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com




More information about the riak-users mailing list