RHQ/Cassandra architecture

John Sanda jsanda at redhat.com
Tue Mar 12 13:18:31 UTC 2013


A little more background on my thinking so far may be helpful. I do not see this as being simply a start/stop script since its purpose will be to encapsulate functionality provided by server, agent, and Cassandra scripts. I see the script providing functionality making it easier for users to administer Cassandra as well as for providing support. Here is an example to help illustrate. Disk space is filling on the machine due to metrics storage. The solution might be for the user to run,

$ rhq compact

which will merge all of the data files on disk, reducing overall disk usage. Now to the questions.

Q: If I launch rhq-uber, how many processes are started? 
Assuming a default install, 3 processes would be started, server, agent, and cassandra.


Q: If I kill that script what happens to those processes?  
Since the script will be starting multiple processes, I am not sure running in the foreground will work. That is something to be investigated. If we can make it work, then I would expect to kill each of the processes that it starts. If running in the foreground does not work, then the user would have to use a shutdown command, rhq shutdown, which would kill each of the processes.


Q: I assume that the script will offer the same functionality as the existing one - how does the 'console' option work? 
Running rhq-server.sh console keeps the process in the foreground and writes log statements to stdout. Starting Cassandra with cassandra -f does the same thing. While the agent console runs in the foreground it is different since it is interactive. I have thought of a couple options so far.

1) The console command takes an argument whose value is one of server, agent, or Cassandra. Only the specified process is started in console mode.

2) The console command takes an argument same as before. The process specified by the argument is started in console mode, and the others are started in the  background.




On Mar 12, 2013, at 8:39 AM, Alan Santos <asantos at redhat.com> wrote:

> Hi John - I think this is the right direction.  
> 
> A few questions - 
> 
> If I launch rhq-uber, how many processes are started? 
> 
> If I kill that script what happens to those processes?  
> 
> I assume that the script will offer the same functionality as the existing one - how does the 'console' option work? 
> 
> 
> thanks
> 
> 
> On Mar 11, 2013, at 5:49 PM, John Sanda <jsanda at redhat.com> wrote:
> 
>> There has been a lot of discussion recently around how RHQ and Cassandra should co-exist. The decision has been made to proceed with the following,
>> 
>> * Installing RHQ server will also install Cassandra and agent by default.
>>   * Advanced options will be available to install RHQ server by itself or just Cassandra and agent.
>> * Managing/monitoring Cassandra will be done via the agent.
>> * Starting/stopping the server will by default start/stop everything that is installed on the machine.
>> 
>> Rather than changing existing scripts like rhq-server.sh to provide this augmented functionality, what do you think about an rhq-uber script (e.g., rhq.sh) that handles these changes? If I execute,
>> 
>> $ rhq.sh start
>> 
>> The the script will start Cassandra, the server, and the agent, assuming a default installation. The nice thing about this is that if the user only wants to start/stop the server, he can instead directly use the already familiar rhq-server.sh script; however the uber script would also provide that capability as well. Maybe something like,
>> 
>> $ rhq.sh start --server-only
>> 
>> 
>> The new script would provide for centralized command and control of everything installed on the box.
>> 
>> 
>> - John
>> _______________________________________________
>> rhq-devel mailing list
>> rhq-devel at lists.fedorahosted.org
>> https://lists.fedorahosted.org/mailman/listinfo/rhq-devel
> 
> _______________________________________________
> rhq-devel mailing list
> rhq-devel at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/rhq-devel



More information about the rhq-devel mailing list