#!/bin/bash
# Author: goujinyang
# fdfs部署
#set -e
# 變量設置
TRACKER1="192.168.53.94"
TRACKER2="192.168.53.99"
APP_DIR=/data
LIB_DIR=$APP_DIR/libfastcommon-master
FDFS_DIR=$APP_DIR/fastdfs-master
TRAC_HOME=$APP_DIR/fastdfs/tracker
SG1_HOME=$APP_DIR/fastdfs/storage_group1
CLIENT_HOME=$APP_DIR/fastdfs/client
# 安裝所需依賴
#zypper install git xz gcc g++ gcc-c++ autoconf automake make unzip -y
# 安裝libfastcommon
unzip libfastcommon.zip
#mv libfastcommon-master $LIB_DIR
cd $LIB_DIR
./make.sh
./make.sh install
# 設置環境變量
echo "export LD_LIBRARY_PATH=/usr/lib64/" >>/etc/profile
source /etc/profile
# 創建軟鏈接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
# 安裝配置FastDFS
cd $APP_DIR
unzip fastdfs.zip
#mv fastdfs-master $FDFS_DIR
cd $FDFS_DIR
./make.sh
./make.sh install
# 創建文件存放目錄
mkdir -p $TRAC_HOME
mkdir -p $SG1_HOME/data
mkdir -p $CLIENT_HOME
chown -R appuser:appuser /data/fastdfs
# 修改配置文件tracker.conf
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
sed -i "s|/home/yuqing/fastdfs|$TRAC_HOME|" /etc/fdfs/tracker.conf
sed -i '/store_lookup = 2/cstore_lookup = 0' /etc/fdfs/tracker.conf
sed -i 's/store_group = group2/#&/' /etc/fdfs/tracker.conf
sed -i 's/reserved_storage_space = 20%/reserved_storage_space = 10%/' /etc/fdfs/tracker.conf
# 修改配置文件storage_group1.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage_group1.conf
sed -i "s/tracker_server = 192.168.209.121:22122/tracker_server = $TRACKER1:22122/" /etc/fdfs/storage_group1.conf
sed -i "s/tracker_server = 192.168.209.122:22122/tracker_server = $TRACKER2:22122/" /etc/fdfs/storage_group1.conf
#sed -i "s/tracker_server = 192.168.209.122:22122/#&/" /etc/fdfs/storage_group1.conf
sed -i "s|/home/yuqing/fastdfs|$SG1_HOME|g" /etc/fdfs/storage_group1.conf
# 修改配置文件client.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
sed -i "s|/home/yuqing/fastdfs|$CLIENT_HOME|g" /etc/fdfs/client.conf
sed -i "s/tracker_server = 192.168.0.196:22122/tracker_server = $TRACKER1:22122/" /etc/fdfs/client.conf
sed -i "s/tracker_server = 192.168.0.197:22122/tracker_server = $TRACKER2:22122/" /etc/fdfs/client.conf
#sed -i "s/tracker_server = 192.168.0.197:22122/#&/" /etc/fdfs/client.conf
#啟動tracker服務
su - appuser -c "fdfs_trackerd /etc/fdfs/tracker.conf start"
#啟動storage服務
su - appuser -c "fdfs_storaged /etc/fdfs/storage_group1.conf start"
sleep 5
#檢查服務
if ss -anpt |grep -q ":22122";then
echo "tracker service is running..."
else
echo "tracker service is not running..."
fi
if ss -anpt |grep -q ":23000";then
echo "storage_group1 service is running..."
else
echo "storage_group1 service is not running..."
fi