Translate

Friday, August 8, 2014

Get into Single User mode in RHEL/CentOS 7 : Retrieve Root Password in RHEL/CentOS 7

The Redhat recommended way of doing this changed in Redhat 7. I discovered this while reading a forum in Linkdin. It's on pp 406-407 of the new System Admin guide on the Redhat site. It's basically the same, but some things have been added:

- Interrupt the boot and edit with 'e'.
- Add init=/bin/sh to the end of the 'linux' line. Additionally, REMOVE the 'rhgb' and 'quiet' parameters from the 'linux' line. If you don't you probably won't be able to type on the console. That's what happened to me the first time.
- Ctrl+X to boot.
- / is read-only so remount the root filesystem: mount -o remount,rw /. If you don't do that you will get token manipulation errors.
- Use the passwd command to change the password.
- touch /.autorelable to take care of selinux. I've skipped this step before and was then unable to boot.
- run the following: "exec /sbin/init 5" and bring the system up. I don't know why you need the 'exec' command, but you do. Do not try to reboot it until it comes up the first time. It will hang and your changes may not be synced. I guess you could go to run level 3 as well.

Thanks Jim Caron for helping out Fourm.

Wednesday, July 16, 2014

Google Chrome - Install on RHEL/CentOS 6

Create a file called /etc/yum.repos.d/google-chrome.repo and add the following lines of code to it.

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Installing Chrome Web Browser

# yum install google-chrome-stable
Update : Sadly, the Google Chrome browser no longer supports the most famous commercial distribution Red Hat and its free clones such as CentOS and Scientific Linux.
Yes, they’ve discontinued support for RHEL 6.X version as of Google Chrome and on other side, latest Firefox and Opera browsers run successfully on the same platforms.
Luckily, there is a script developed by Richard Lloyd, that automatically download and install latest Google Chrome browser by picking libraries from a more recent released distro and put those libraries in (/opt/google/chrome/lib) directory and then you can able to runGoogle Chrome on CentOS 6.X version.
# wget http://chrome.richardlloyd.org.uk/install_chrome.sh
# chmod u+x install_chrome.sh
# ./install_chrome.sh
Starting Chrome Web Browser
# google-chrome &


D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open “/var/lib/dbus/machine-id”

To Fix this issue Run following command

dbus-uuidgen > /var/lib/dbus/machine-id

It is in the dbus package. If dbus-uuidgen is not installed , you can install by issuing

yum install dbus

Friday, February 14, 2014

kloxo Video

CCNA Interview Questions and Answers

Q: What hppends when ping 127.0.0.1 command executes?

Q: What do you know about zenpeck ?

Q:what is stub router?

Q:what is different between cisco router and layer 3 switch

Q:Which Circuit is mostly used by Clients in Frame-Relay PVC or SVC ?

Q:How IEEE Calculate the Cost of Link (ex.. 10mbps is having Cost 100) Is there any formula or any test to calculate it.

Q:Why Operating System Have only 65,535 port Numbers

Q:How does OSPF calculate its Metric

Q:What is the best Difference between RIP, OSPF, EIGRP

Q:What is a protocol

Q:How many Devices does OSPF & EIGRP Support

Q:what do you mean by port triggering?

Q:if i had a video conferencing device why should it is needed to configure a static IP for that,will it not work on the local lan.

Q:If i had 400 computers set in a site how many VLAN i should configure so that i can share a proper bandwith,and also i had two lease line connection of 2Mbps each,

Q: how many seriale interface a managable router has.

Q: if I wanna block all MP3,video sites from cisco 2600 router,how shall i proceed with ACL's??

Q:what is internetworking?

Q: what is ping utility and how to work.

Q:how many vlan can be configured on a single switch

Q:how can we block remote desktop for some user from cisco router through aaccess-list

Q:how will configure Nat

Q: what is AD Value?

Q:Based on the DR AND BDR discussion i want to put one question the question is what is the name of protocol which is responsible;e for DR and BDR selection

Q:why we assingn the wild card mask in the use of ospf and access list.

Q:what is the full fom of ping? (Packet Internet Gopher

Q: what is difference between designated router and backup designated router and explain feature of both router.

Q:Can u convert an ethernet port to a serial port (or) vice versa ?

Q:Which network mask should you place on a Class C network to accommodate a user requirement of ten subnetworks?

Q:Which IEEE standard is used to define Wi-Fi?

Q:Which encapsulation types can be used on leased-line connections?

Q:what is the difference between client mode and server mode of vtp and what is the diffrence betwwen tarnsparent mode and server mode

Q:can we configure multiple as on single router using eigrp

Q: what is the difference between link state routing protocol and distance vector which is better?

Q:what is the difference between eigrp and ospf

Q:what is stp?

Q:what is ip address and what is the difference between the ip address and mac address why we are not using mac address instead of ip address

Q:Which of the following is a routing protocols?
TCP RIP SMTP UDP

Q: What is an advantage of UDP?

Q:What is SIA (Stuck in Active) in EIGRP?

Q:What is LSA? How many types of LSA used by OSPF version 2??

Q:What is difference between IPv4 & IPv6??

Q:what is diffrence betwwen mpls and frame really

Q:what is diffrence between circit switching and packet switching

Q:what is frame realay.is it a circit switching technolgy

Q:What’s the default CDP holdtime in seconds for Cisco routers?

Q:What is CSU/DSU & explain the function????

Q:What is the difference between DTE & DCE???

Q:What is switch priority & why it is used????
About:
Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems.

We will use supervisor for startup script for following applications:
1. apache-kafka
2. storm-nimbus
      2.1 storm-ui
      2.2 storm-supervisor
3. hbase
First install epel repository into your linux system
Install python-pip by using following script
yum install python-pip
now install supervisor by following command
pip install supervisor
We need to create supervisor configuration file as per our application.

User following link to get supervisor.conf file and copy it to /etc/supervisord.conf
kafka
storm-nimbus&ui
storm-supervisor
hbase

Now we will create supervisor init.d script.
create a file /etc/init.d/supervisord and paste content from following link

/etc/init.d/supervisord

All Domains showing no record in windows server

This post is to resolve the issue if you are facing issue in DNS zone of your all domains. You can run following command

"%plesk_bin%\DNSMng.exe" update *

This command will recreate all DNS record Forcefully for all domains.

Installation, Configuration and Administration of Plesk 7.5 for windows

Installation, Configuration and Administration of Plesk 7.5 for windows

Located in the %plesk_bin% directory
1) websrvmng.exe

To install hosting for a domain

websrvmng.exe --install-vhost --vhost-name=

To remove hosting for a domain

websrvmng.exe --remove-vhost --vhost-name=

To reconfigure hosting for a domain

websrvmng.exe --reconfigure-vhost --vhost-name=

To reconfigure a subdomain

websrvmng.exe --update-subdomain --vhost-name= --subdomain=

Passwords for system user and IIS user can be unsynchronized or synchronised using

websrvmng.exe --update-anon-password --domain-name=

To reconfigure webmail

websrvmng.exe --reconfigure-webmail
defpackagemng.exe" --fix --type=webmail

2) mchk.exe

To Reset server-wide and domain’s mail settings forcefully

mchk.exe --all --fix-all

To Check and restore mail settings for a domain defined

mchk.exe --domain --domain-name=sampledomain.com

To Check and restore only server-wide mail settings

mchk.exe --global-settings

3) protdir.exe

protdir.exe --create Protected_Dir -domain domain1.com -add_user MyGuest -passwd "MyPass"

To set a password for the user of a web-protected directory:

protdir.exe --update Protected_Sample -domain somewhere.com -update_user johndoe -passwd Password1

To remove protected directory user:

protdir.exe --update Protected_Dir -remove_user johndoe

4) Subdomain.exe

subdomain.exe --create subdomain2 -domain domain1.com -hard_quota 50 -ssi true

To remove subdomain1.somewhere.com from somewhere.com domain:

subdomain.exe --remove subdomain1 -domain somewhere.com

To change the existing subdomain name subdomain1.somewhere.com to the new one - subdomain1_new.somewhere.com

subdomain.exe --update subdomain1 -domain somewhere.com -new_name subdomain1_new

To enable FrontPage support for subdomain1.somewhere.com:

subdomain.exe --update subdomain1 -domain somewhere.com -fp true

To retrieve information on subdomain1.somewhere.com:

subdomain.exe --info subdomain1 -domain somewhere.com

5) domain.exe

domain.exe --create domain1.com -clogin John_Doe -dom_user false -www true -hosting true -ip 143.230.22.14 -cgi true -notify false

To retrieve sampledomain.com domain information:

domain.exe --info sampledomain.com

To rename sampledomain.com domain to sampledomain1.com domain:

domain.exe --update sampledomain.com -new_name sampledomain1.com

To enable domain user account with password “somepass” for sampledomain.com domain:

domain.exe --update sampledomain.com -dom_user true -du_passwd somepass

To set name for domain user of a sampledomain.com domain to “John”:

domain.exe --update sampledomain.com -du_pname "John"

To enable hosting for sampledomain.com domain:

domain.exe --update sampledomain.com -hosting true

6) plesksrvmng.exe

To reset the password for admin control panel

plesksrvmng.exe

To get the existing password for the admin control panel

plesksrvmng.exe -get

7) statistics.exe

Updates the statistics for all domains on the server

How to Find mysql version

Many times we come across to find the exact version of our running mysql instance and want to know the what is running out there so we can probably plan for upgrade and patches.

you can find the version in the following places

1:- the mysql log file , usually if you have a standard installation it should be at ‘/var/log/mysqld.log’, run the following command on the bash prompt
grep Version /var/log/mysqld.log

you should see something like this :
Version: ‘5.1.30-log’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 MySQL Community Server (GPL)

2:- you can also issue mysql statement to find the mysql version on a running instance
mysql -e “status” | grep “Server version”

will output
5.1.30-log MySQL Community Server (GPL)

3:- you can also execute mysql statement “select version()” to find the current running version
mysql -e “select version();”

will output
+————+
| version() |
+————+
| 5.1.30-log |
+————+

in the above snippet, the version is 5.1.30 with bin-log enabled and is “MySQL Community Server (GPL)”, the version number will differ based on your installation.

How to create subdomain in cpanel









/etc/supervisord.conf for Storm nimbus & ui

[unix_http_server]
file=/var/run/supervisor.sock

[supervisord]
http_port=/var/tmp/supervisor.sock
logfile=/var/log/supervisor/supervisord.log
logfile_maxbytes=50MB
logfile_backups=10
loglevel=info
pidfile=/var/run/supervisord.pid
nodaemon=false
minfds=1024
minprocs=200

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock

[program:storm-nimbus]
command=/home/storm/bin/storm nimbus
user=storm
autostart=true
autorestart=false
startsecs=30
startretries=999
log_stdout=true
log_stderr=true
logfile=/home/storm/logs/nimbus.log
logfile_maxbytes=20MB
logfile_backups=10

[program:storm-ui]
command=/home/storm/bin/storm ui
user=storm
autostart=true
autorestart=false
startsecs=30
startretries=999
log_stdout=true
log_stderr=true
logfile=/home/storm/logs/ui.log
logfile_maxbytes=20MB
logfile_backups=10

/etc/superversord.conf file for kafka & supervisor

[unix_http_server]
file=/var/run/supervisor.sock

[supervisord]
http_port=/var/tmp/supervisor.sock
logfile=/var/log/supervisor/supervisord.log
logfile_maxbytes=50MB
logfile_backups=10
loglevel=info
pidfile=/var/run/supervisord.pid
nodaemon=false
minfds=1024
minprocs=200

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock

[program:storm-supervisor]
command=/home/storm/bin/storm  supervisor
user=kafka
autostart=true
startsecs=10
startretries=9
log_stdout=true
log_stderr=true
logfile=/var/log/storm/supervisor.log
logfile_maxbytes=20MB
logfile_backups=10

[program:kafka]
command=/home/kafka/bin/kafka-server-start.sh /home/kafka/config/server.properties
user=kafka
autostart=true
startsecs=10
startretries=9
log_stdout=true
log_stderr=true
logfile=/home/kafka/logs
logfile_maxbytes=20MB
logfile_backups=10

Elastic Search Init.d Script

#!/usr/bin/env bash
#
# elasticsearch
#
# chkconfig:   - 57 47
# description: elasticsearch
# processname: elasticsearch
# config:      /usr/local/etc/elasticsearch/elasticsearch.yml
ES_MIN_MEM=256m  
ES_MAX_MEM=2g
# Source networking configuration
if [ -f /etc/sysconfig/network ]; then source /etc/sysconfig/network; fi

# Exit if networking is not up
[ "$NETWORKING" = "no" ] && exit

PIDFILE='/var/run/elasticsearch/10_225_139_31_cloud_opsource_net.pid'
ES_INCLUDE='/usr/local/etc/elasticsearch/elasticsearch-env.sh'
CHECK_PID_RUNNING=$(ps ax | grep 'java' | grep -e "es.pidfile=$PIDFILE" | sed 's/^\s*\([0-9]*\)\s.*/\1/')

start() {
    if [ -f $PIDFILE ]; then
      # PIDFILE EXISTS -- ES RUNNING?
      echo -e "\033[31;1mPID file found in $PIDFILE, elasticsearch already running?\033[0m"
      es_pid="$(cat $PIDFILE)"
      pid_running="$( ps ax | grep 'java' | grep $es_pid )"

      if [ ! -z "$pid_running" ] ; then
        # EXIT IF ES IS ALREADY RUNNING
     echo -e "\033[31;1mPID $es_pid still alive, already running...\033[0m"
     return 1
      fi
    fi
   
    echo -e "\033[1mStarting elasticsearch...\033[0m"
    su - elasticsearch -m -c "ES_INCLUDE=$ES_INCLUDE /usr/local/bin/elasticsearch -p $PIDFILE"

    return $?
}

stop() {
    if [[ -f $PIDFILE ]]; then
      echo -n -e "\033[1mStopping elasticsearch...\033[0m"

      # REMOVE PIDFILE AND EXIT IF PROCESS NOT RUNNING
      if [ ! $CHECK_PID_RUNNING ]; then
        echo -e "\033[1mPID file found, but no matching process running?\033[0m"
        echo    "Removing PID file..."
        su elasticsearch -m -c "rm $PIDFILE"
        exit 0
      fi

      # KILL PROCESS
      su elasticsearch -m -c "kill $(cat $PIDFILE)"
      r=$?
      timeout=0
      while [ -f $PIDFILE  ]; do
        echo -n '.'
        (( timeout++ ))
        if [ $timeout -gt '15' ]; then return; fi
        sleep 1
      done; echo
      return $r
    else
      echo -e "\033[1mNo PID file found -- elasticsearch not running?\033[0m"
    fi
}

restart() {
    stop
    timeout=30
    while ps aux | grep 'java' | grep -e "es.pidfile"; do
      echo -n '.'
      (( timeout-- ))
      if [ $timeout -lt '1' ]; then return; fi
      sleep 1
    done;
    start
}

status() {
  # GOT PIDFILE?
  [ -f $PIDFILE ] && pid=$(cat $PIDFILE)

  # RUNNING
  if [[ $pid && -d "/proc/$pid" ]]; then
    version=$(curl -s 'http://localhost:9200' | /opt/chef/embedded/bin/ruby -rubygems -e 'require "json"; print JSON.parse(STDIN.read)["version"]["number"]')
    echo -e "\033[1;37;46melasticsearch $version running with PID $pid\033[0m"
    # VERBOSE
    if [[ $pid && $1 == '-v' || $1 == '--verbose' ]]; then
      curl -s 'http://localhost:9200/_cluster/nodes/10-225-139-31.cloud.opsource.net?os&process&jvm&network&transport&settings&pretty' | \
      /opt/chef/embedded/bin/ruby -rubygems -e '
        begin
          require "json"; h = JSON.parse(STDIN.read); id, node = h["nodes"].first;
          def e(name, value); puts %Q|\e[1;36m#{(name.to_s+":").ljust(20)}\e[0m #{value || "N/A" rescue "N/A"}|; end
          e "HTTP Address",  node["http_address"]
          e "Node Name",     node["name"]
          e "Cluster Name",  h["cluster_name"]
          e "Started",       Time.at(node["jvm"]["start_time"].to_i/1000)
          e "JVM",           "#{node["jvm"]["vm_name"]} (#{node["jvm"]["version"]})"
          e "Memory Total",  node["os"]["mem"]["total"]
          e "Open Files",    node["process"]["max_file_descriptors"]
          e "Configuration", node["settings"]["config"]
        rescue
          puts "Metadata cannot be retrieved."
        end
      '
    fi
    # INCORRECT PID?
    if [ $pid != $CHECK_PID_RUNNING ]; then
      echo -e "\033[1;31;40m[!] Incorrect PID found in $PIDFILE: $pid\033[0m"
      return 1
    fi
    return 0
  fi

  # NOT RUNNING
  if [[ ! $pid || ! -d "/proc/$pid" ]]; then
    echo -e "\033[1;33;40melasticsearch not running\033[0m"
    return 3
  fi

  # STALE PID FOUND
  if [[ ! -d "/proc/$pid" && -f $PIDFILE ]]; then
    echo -e "\033[1;31;40m[!] Stale PID found in $PIDFILE\033[0m"
    return 1
  fi
}


case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  status)
        status $2
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|status [-v]|}"
        exit 1
esac

exit $?

Zookeeper Init Script

#!/bin/sh
#
# zookeeper ZooKeeper Server
#
# chkconfig: - 18 05
# description: Enable ZooKeeper Server
#
### BEGIN INIT INFO
# Provides: zookeeper
# Default-Start:
# Default-Stop:
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Description: zookeeper Server
# Short-Description: Enable zookeeper Server
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions
prog="zookeeeper"
desc="zookeeper Server"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile="/var/lock/subsys/$prog.pid"
pidfile="/home/zookeeper/zookeeper/data/$prog.pid"
[ "x$JMXLOCALONLY" = "x" ] && JMXLOCALONLY=false
if [ "x$JMXDISABLE" = "x" ]
then
# for some reason these two options are necessary on jdk6 on Ubuntu
# accord to the docs they are not necessary, but otw jconsole cannot
# do a local attach

ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=$JMXLOCALONLY org.apache.zookeeper.server.quorum.QuorumPeerMain"
else
ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
fi

ZOOBINDIR="/home/zookeeper/zookeeper/bin"
ZOOCFGDIR="/home/zookeeper/zookeeper/conf"
ZOOCFG="zoo.cfg"
ZOOCFG="$ZOOCFGDIR/$ZOOCFG"
ZOO_LOG_DIR="/home/zookeeper/zookeeper/logs"
[ -e "$ZOOCFGDIR/java.env" ] && . "$ZOOCFGDIR/java.env"
[ "x$ZOO_LOG4J_PROP" = "x" ] && ZOO_LOG4J_PROP="INFO,CONSOLE"

for f in ${ZOOBINDIR}/../zookeeper-*.jar
do
CLASSPATH="$CLASSPATH:$f"
done
ZOOLIBDIR=${ZOOLIBDIR:-$ZOOBINDIR/../lib}
for i in "$ZOOLIBDIR"/*.jar
do
CLASSPATH="$CLASSPATH:$i"
done
#add the zoocfg dir to classpath
CLASSPATH=$ZOOCFGDIR:$CLASSPATH
cmd="java \"-Dzookeeper.log.dir=${ZOO_LOG_DIR}\" \"-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}\" -cp ${CLASSPATH} ${JVMFLAGS} ${ZOOMAIN} ${ZOOCFG} & echo \$! > ${pidfile}"
start() {
echo -n quot;Starting $desc ($prog): "
touch $pidfile && sudo chown zookeeper $pidfile
daemon --user zookeeper --pidfile $pidfile "$cmd" > "$ZOO_LOG_DIR/zookeeper.out"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n quot;Stopping $prog: "
killproc -p $pidfile $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
stop
start
}

reload() {
restart
}

get_status() {
status $prog
RETVAL=$?
STAT=`echo stat | nc localhost $(grep clientPort $ZOOCFG | sed -e 's/.*=//') 2> /dev/null| grep Mode`
if [ "x$STAT" = "x" ]
then
echo "Error contacting service."
else
echo $STAT
fi
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
status)
get_status
;;
*)
echo quot;Usage: $0 {start|stop|restart|reload|condrestart|status}"
RETVAL=1
esac

exit $RETVAL

Supervisord Init Script

#!/bin/bash
#
# supervisord   This scripts turns supervisord on
#
# chkconfig:    345 83 04
#
# description:  supervisor is a process control utility.  It has a web based
#               xmlrpc interface as well as a few other nifty features.
#               Script was originally written by Jason Koppe .

. /etc/rc.d/init.d/functions

set -a

PREFIX=/usr

SUPERVISORD=$PREFIX/bin/supervisord
SUPERVISORCTL=$PREFIX/bin/supervisorctl

PIDFILE=/var/run/supervisord.pid
LOCKFILE=/var/lock/subsys/supervisord

OPTIONS="-c /etc/supervisord.conf"

# unset this variable if you don't care to wait for child processes to shutdown before removing the $LOCKFILE-lock
WAIT_FOR_SUBPROCESSES=yes

# remove this if you manage number of open files in some other fashion
ulimit -n 96000

RETVAL=0


running_pid()
{
    # Check if a given process pid's cmdline matches a given name
    pid=$1
    name=$2
    [ -z "$pid" ] && return 1
    [ ! -d /proc/$pid ] && return 1
    (cat /proc/$pid/cmdline | tr "\000" "\n"|grep -q $name) || return 1
    return 0
}

running()
{
# Check if the process is running looking at /proc
# (works for all users)

    # No pidfile, probably no daemon present
    [ ! -f "$PIDFILE" ] && return 1
    # Obtain the pid and check it against the binary name
    pid=`cat $PIDFILE`
    running_pid $pid $SUPERVISORD || return 1
    return 0
}

start() {
        echo "Starting supervisord: "

        if [ -e $PIDFILE ]; then
echo "ALREADY STARTED"
return 1
fi

# start supervisord with options from sysconfig (stuff like -c)
        $SUPERVISORD $OPTIONS

# show initial startup status
$SUPERVISORCTL $OPTIONS status

# only create the subsyslock if we created the PIDFILE
        [ -e $PIDFILE ] && touch $LOCKFILE
}

stop() {
        echo -n "Stopping supervisord: "
        $SUPERVISORCTL $OPTIONS shutdown
if [ -n "$WAIT_FOR_SUBPROCESSES" ]; then
            echo "Waiting roughly 60 seconds for $PIDFILE to be removed after child processes exit"
            for sleep in  2 2 2 2 4 4 4 4 8 8 8 8 last; do
                if [ ! -e $PIDFILE ] ; then
                    echo "Supervisord exited as expected in under $total_sleep seconds"
                    break
                else
                    if [[ $sleep -eq "last" ]] ; then
                        echo "Supervisord still working on shutting down. We've waited roughly 60 seconds, we'll let it do its thing from here"
                        return 1
                    else
                        sleep $sleep
                        total_sleep=$(( $total_sleep + $sleep ))
                    fi

                fi
            done
        fi

        # always remove the subsys. We might have waited a while, but just remove it at this point.
        rm -f $LOCKFILE
}

restart() {
        stop
        start
}

case "$1" in
    start)
        start
        RETVAL=$?
        ;;
    stop)
        stop
        RETVAL=$?
        ;;
    restart|force-reload)
        restart
        RETVAL=$?
        ;;
    reload)
        $SUPERVISORCTL $OPTIONS reload
        RETVAL=$?
        ;;
    condrestart)
        [ -f $LOCKFILE ] && restart
        RETVAL=$?
        ;;
    status)
        $SUPERVISORCTL status
        if running ; then
            RETVAL=0
        else
            RETVAL=1
        fi
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
        exit 1
esac

exit $RETVAL

How To Install Apache Storm into CentOS 6

About Storm:
Storm is a free and open source distributed real time computation system. Storm makes it easy to reliably process unbounded streams of data, doing for real time processing what Hadoop did for batch processing. Storm is simple, can be used with any programming language, and is a lot of fun to use!

Prerequisites:
1. Install Jdk 1.7
2. Install Zookeeper

Download Following rpms:
zeromq-2.1.7-1.el6.x86_64.rpm
jzmq-2.1.0.el6.x86_64.rpm
storm-0.9.0-rc2.zip

sudo rpm -Uvh zeromq-2.1.7-1.el6.x86_64.rpm
sudo rpm -Uvh jzmq-2.1.0.el6.x86_64.rpm
sudo groupadd -g 53001 storm
sudo useradd -u 53001 -g 53001 -d /home/storm/ -s /bin/bash storm -c "Storm service account"
sudo chmod 750 /home/storm/
su - storm
unzip download/0.9.0-rc2.zip
sudo chown -R storm:storm storm-0.9.0.1
ln -s storm-0.9.0.1 storm
mkdir -p /home/storm/data
sudo chown -R storm:storm  /home/storm/data
sudo chmod 750  /home/storm/data
cd /home/storm/conf/
mv storm.yaml storm.yaml.ori
vim storm.yaml 



storm.zookeeper.servers:
 - ""
nimbus.host: "localhost"
nimbus.childopts: "-Xmx1024m -Djava.net.preferIPv4Stack=true"
ui.childopts: "-Xmx768m -Djava.net.preferIPv4Stack=true"
supervisor.childopts: "-Djava.net.preferIPv4Stack=true"
worker.childopts: "-Xmx768m -Djava.net.preferIPv4Stack=true"
storm.local.dir: "/home/storm/data"

ui.port: 8080

supervisor.slots.ports:
 - 6700
 - 6701
 - 6702
 - 6703


For Supervisor you need following configuration:


storm.zookeeper.servers:
 - "your zookeeper server ip:port"
nimbus.host: "nimbus-host-ip"
nimbus.childopts: "-Xmx1024m -Djava.net.preferIPv4Stack=true"
ui.childopts: "-Xmx768m -Djava.net.preferIPv4Stack=true"
supervisor.childopts: "-Djava.net.preferIPv4Stack=true"
worker.childopts: "-Xmx768m -Djava.net.preferIPv4Stack=true"
storm.local.dir: "/home/storm/data"

If supervisor is in same box then above supervisor configuration is not required.


That's It from storm side

To Create Startup script for storm go to this slide



About Me

My photo
Greetings Friend! I am Linux scholar, trying to learn as much I can and share it with you. I am in mid of my Professional Career. Doing Good. :)

Followers