1. 程式人生 > >叢集storm啟動指令碼

叢集storm啟動指令碼

#!/bin/sh
echo "#######################"
echo "###"
echo "## 這是storm的一鍵啟動指令碼"
echo "##"
echo "########################"
##首先啟動當前機器,即master上的storm程序: nimbus 和 ui [core]

echo "啟動master上的nimbus"
nohup /opt/storm/bin/storm nimbus > /dev/null 2 >&1 &
echo "啟動master上的ui"
## master的ui
nohup /opt/storm/bin/storm ui > /dev/null
2>&1 & ##接下來就要啟動slave01和slave02上的程序 ## 首先,需要知道storm叢集的其他節點,可以將其他節點的地址或者ip或者host配置到一個檔案中[storm-slaves], ##類似hadoop中的slaves檔案,hbase中的regionservers檔案 ## 其次,需要遍歷讀取storm-slaves中的host,一次來遠端ssh啟動其它機器上的程序 ## 使用while迴圈對去到storm-slaves中的資料 ## cat storm-slaves | while read host ## do ## echo $host
## 拿到host之後,就可以通過ssh來遠端執行相關的啟動指令碼 ## eg.ssh [email protected] nohup /opt/storm/bin/storm nimbus > /dev/null 2>&1 ## eg.ssh [email protected] nohup /opt/storm/bin/storm supervisor > /dev/null 2>&1 ## eg.ssh [email protected] nohup /opt/storm/bin/storm logviewer > /dev/null 2>&1
## 問題的關鍵在於slave01和slave02上面啟動的程序不一致,所以需要使用if判斷來加以區分 ## 所以我們可以通過當前的host是否為slave01來進行區別啟動, ## 如果是slave01,需要額外啟動nimbus程序 ## 判斷host==> echo $host | grep -q "slave01",如果host包含slave01的話,這條命令的執行結果返回碼為0,反之為非0 ## if [ $? -eq 0 ] ## then ## 在slave01上啟動nimbus即可 ## fi ## 再來啟動其它程序即可 ## done ## ## cat /opt/storm/bin/storm-slaves | while read host do echo $host | grep -q "slave01" if [$ -eq 0] then echo "啟動slave01上的nimbus" ssh "[email protected]"$host nohup /opt/storm/bin/storm nimbus >/dev/null 2>&1 & fi echo "啟動supervisor 和 logviewer" ssh "[email protected]"$host nohup /opt/storm/bin/storm supervisor > /dev/null 2>&1 & ssh "[email protected]"$host nohup /opt/storm/bin/storm logviewer > /dev/null 2>&1 & done

相關推薦

叢集storm啟動指令碼

#!/bin/sh echo "#######################" echo "###" echo "## 這是storm的一鍵啟動指令碼" echo "##" echo "########################" ##首先啟動當前機器,

《Hadoop》之"踽踽獨行"(八)Hadoop叢集啟動指令碼整理及守護執行緒原始碼

在上一章的偽分散式叢集搭建中,我們使用start-dfs.sh指令碼啟動了叢集環境,並且上傳了一個檔案到HDFS上,還使用了mapreduce程式對HDFS上的這個檔案進行了單詞統計。今天我們就來簡單瞭解一下啟動指令碼的相關內容和HDFS的一些重要的預設配置屬性。 一、啟動指令碼 hadoo

Redis叢集快速啟動指令碼程式

搭建叢集的第一件事情我們需要一些執行在 叢集模式的Redis例項. 這意味這叢集並不是由一些普通的Redis例項組成的,叢集模式需要通過配置啟用,開啟叢集模式後的Redis例項便可以使用叢集特有的命令和特性了. 下面是一個最少選項的叢集的配置檔案: port 7000 cluster-enabled y

RAC 11GR2 叢集啟動指令碼

讀書筆記:   11GR2版本 來看看11GR2版本叢集的/etc/inittab檔案。 #run xdm in runlevel 5 x:5:respawn:/etc/X11/perfdm -nodaemon h1:35:respawn:/etc/init.d

RAC 10G叢集啟動指令碼

11GR2版本GI中新增加的重要元件OHAS(Oracle High Availability Service)和其他相關的元件,資源,下圖是11GR2版本中GI元件之間啟動關係。   OHAS  OHAS是11GR2版本新推出的一個重要的元件,隨著這個元件

Redis叢集啟動指令碼

redis版本:redis-5.0.0 Centos: centos 7 64位 #!/bin/bash redis_path="/usr/local/cluster/" cluster_num=`ps aux | grep redis | wc -l` if [ "${cluster_num}" -le

啟動storm自動化指令碼

#!/bin/bash echo "-----------正在啟動zookeeper-----" for hostname in mini1 mini2 mini3 do ssh $hostname "source /etc/profile;/home/hadoop/apps/zoo

ssh連線遠端主機執行指令碼的環境變數問題(編寫hadoop叢集啟動指令碼

參考:https://blog.csdn.net/whitehack/article/details/51705889 如: 遠端主機執行指令碼報錯:(因為這種方式是non-interactive + non-login shell,不會去載入/etc/profile系統環境變數,可以配置使

【Zanuck 鎮】GlusterFS叢集一鍵啟動指令碼(Centos:shell)

昨天有位哥們兒看了我的文章後向我反應安裝完畢伺服器重啟後gluster掛載不了的問題,我幫他解決後寫了個多機啟動的指令碼。(指令碼是剛需,一般gluster叢集在10臺以上,如果給你1000臺伺服器,整體斷電後重啟,還要一個一個ssh上去啟動?) 首先,小鎮在這裡說明下gl

consul叢集docker版本指令碼

https://blog.csdn.net/fenglailea/article/details/79098246 docker run -d --name node1 -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul ag

ubuntu高版本如何設定開機啟動指令碼

ubuntu-18.04不能像ubuntu14一樣通過編輯rc.local來設定開機啟動指令碼 可以通過下列簡單設定後,可以使rc.local重新發揮作用。 1、建立rc-local.service檔案 sudo vi /etc/systemd/system/rc-local.ser

Elasticsearch python 啟動指令碼

import os import sys def endpcess(): nb= os.popen("jps|grep Elasticsearch").read() oldid=nb.split(' ')[0] #print 'oldid'+oldid nb=o

tomcat的systemctl啟動指令碼

最近在做Tomcat的實驗,順便研究了一下tomcat的啟動指令碼發現一個問題,然後經過多方查閱其他大神的資料,終於解決,現在跟大家分享。 tomcat的啟動指令碼跟別的指令碼有稍微區別的原因是他需要識別JAVA_HOME環境,你僅僅是寫到/etc/profile檔案中是不行的。 在啟動的時候會報錯,我們

問題:mysql服務正在啟動 mysql服務無法啟動 && mysql啟動指令碼 mysql關閉指令碼

操作流程:   1、解壓縮mysql_x64(mysql-5.7.22-winx64.zip)包,拷貝start_mysql.bat指令碼到解壓目錄,cmd方式執行指令碼結果如下   //start_mysql.bat指令碼內容echo off set path=%~dp0 echo

ubuntu 18.04 - server版 開機啟動指令碼

ubuntu 18.04 不再使用 inited 管理系統,改用 systemd systemd 預設讀取 /etc/systemd/system 下的檔案,該目錄下的檔案會連結/lib/systemd/system/下的檔案。 執行 ls /lib/systemd/system 你可以看到有很多

Windows通過schtasks設定開機自啟動指令碼

指令碼 首先建立一個啟動指令碼 init.bat,內容如下: time /t >> c:\test\test.log echo %COMPUTERNAME% >> c:\test\test.log echo %USERNAME% >> c:\t

Windows通過組策略設定開機自啟動指令碼

首先建立一個啟動指令碼 init.bat,內容如下: time /t >> c:\test\test.log echo %COMPUTERNAME% >> c:\test\test.log echo %USERNAME% >> c:\test\te

迴圈體指令碼和case系統服務啟動指令碼的基本寫法

一for迴圈指令碼的基本格式   寫法一 for I in 1 2 3 4 5 do echo”$i” done     寫法二 for I in {1..10} do echo”$i” done   二while無限迴圈的基本格式 &

centos7搭建hadoop叢集之xcall指令碼

在一些特定場景下,需要所有節點同時執行相同的命令,比如主機hadoop1執行ls命令,其他節點主機也同時執行ls命令,實現這種效果快捷方式一般有兩種: 1.使用工具,同一傳送執行命令,如SecureCRT,同時連線所有節點,在視窗下面可以直接輸入需要同時執行的命令。 優

TX1開機自啟動指令碼方法

1 在最左上端的"Search your computer"找到"Startup Application" 2 點選"Add",在彈出的對話方塊中的"Name","Command,"Comment"三個中輸入:gnome-terminal -e ‘bash -c “cd XXX(專案路徑)/