天天看點

centos7開機啟動腳本、啟動Hadoop、Spark

參考文章

1.先編寫sh腳本

vi /softwares/spark-3.2.3-bin-hadoop3.2/run.sh
           
#!/bin/bash

#host映射
echo "127.0.0.1 master" >> /etc/hosts

#重新整理配置
source /etc/profile

#先關閉再啟動
su - root -c 'sh /softwares/spark-3.2.3-bin-hadoop3.2/sbin/stop-all.sh'

su - yarn -c '/softwares/hadoop-3.2.1/sbin/mr-jobhistory-daemon.sh stop historyserver'
su - yarn -c '/softwares/hadoop-3.2.1/sbin/yarn-daemon.sh stop nodemanager'
su - yarn -c '/softwares/hadoop-3.2.1/sbin/yarn-daemon.sh stop resourcemanager'
su - hdfs -c '/softwares/hadoop-3.2.1/sbin/hadoop-daemon.sh stop namenode'
su - hdfs -c '/softwares/hadoop-3.2.1/sbin/hadoop-daemon.sh stop datanode'

#啟動mysql
su - root -c  '/softwares/mysql/bin/mysqld_safe --user=mysql &'

#啟動hadoop
su - hdfs -c '/softwares/hadoop-3.2.1/sbin/hadoop-daemon.sh start namenode &'
su - hdfs -c '/softwares/hadoop-3.2.1/sbin/hadoop-daemon.sh start datanode &'

su - yarn -c '/softwares/hadoop-3.2.1/sbin/yarn-daemon.sh start resourcemanager &'
su - yarn -c '/softwares/hadoop-3.2.1/sbin/mr-jobhistory-daemon.sh start historyserver &'
su - yarn -c '/softwares/hadoop-3.2.1/sbin/yarn-daemon.sh start nodemanager &'

#啟動spark
su - root -c  'sh /softwares/spark-3.2.3-bin-hadoop3.2/sbin/start-all.sh &'
           

2.編寫系統啟動項

cd /usr/lib/systemd/system
           
[Unit]      # 主要是服務說明
Description=test        # 簡單描述服務
After=network.target    # 描述服務類别,表示本服務需要在network服務啟動後在啟動
Before=xxx.service      # 表示需要在某些服務啟動之前啟動,After和Before字段隻涉及啟動順序,不涉及依賴關系。

[Service]       # 核心區域
Type=forking        # 表示背景運作模式。
User=user           # 設定服務運作的使用者
Group=user          # 設定服務運作的使用者組
KillMode=control-group      # 定義systemd如何停止服務
PIDFile=/usr/local/test/test.pid        # 存放PID的絕對路徑
Restart=no          # 定義服務程序退出後,systemd的重新開機方式,預設是不重新開機
ExecStart=/usr/local/test/bin/startup.sh    # 服務啟動指令,指令需要絕對路徑
PrivateTmp=true     # 表示給服務配置設定獨立的臨時空間
   
[Install]   
WantedBy=multi-user.target  # 多使用者

           
vi spark-run.service
           
[Unit]
#服務說明
Description=啟動mysql、hadoop、spark
#服務類别,表示本服務需要在network服務啟動後在啟動
After=syslog.target network.target
[Service]
#預設
Type=simple

#運作指定sh腳本
ExecStart=/bin/bash /softwares/spark-3.2.3-bin-hadoop3.2/run.sh

# 多使用者
[Install]
WantedBy=multi-user.target
           

3.調試sh、服務是否正常

systemctl daemon-reload    # 重載系統服務
systemctl enable *.service # 設定某服務開機啟動      
systemctl start *.service  # 啟動某服務  
systemctl stop *.service   # 停止某服務 
systemctl reload *.service # 重新開機某服務
           

繼續閱讀