Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dlink
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhaowei
dlink
Commits
0ec79708
Commit
0ec79708
authored
Apr 29, 2022
by
George-zqq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ISSUE-456][fix][dlink-doc] Fix start and stop conflicts
start and stop dlink progress through PID file.
parent
042a56c1
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
88 additions
and
88 deletions
+88
-88
auto.sh
dlink-doc/bin/auto.sh
+88
-88
No files found.
dlink-doc/bin/auto.sh
View file @
0ec79708
...
...
@@ -6,18 +6,35 @@ JAR_NAME="./dlink-admin-*.jar"
# 如果需要将FLINK依赖直接加入启动脚本,在SETTING中增加$FLINK_HOME/lib
SETTING
=
"-Dloader.path=./lib,./plugins -Ddruid.mysql.usePingMethod=false"
if
[
!
-d
${
HADOOP_HOME
}
]
;
then
if
[
!
-d
${
HADOOP_HOME
}
]
;
then
echo
'WARNING!!!...not find HADOOP_HOME for CLASSPATH.'
else
export
HADOOP_HOME
=
"
${
HADOOP_HOME
}
"
fi
PIDFILE
=
"dink.pid"
#检查PID path 是否存在
PIDPATH
=
"
$(
cd
"
$(
dirname
"
$0
"
)
"
;
pwd
)
/run"
if
[
-d
${
PIDPATH
}
]
;
then
echo
"
${
PIDPATH
}
is already exist"
>>
/dev/null
else
#echo "create ${PIDPATH}"
mkdir
-p
${
PIDPATH
}
fi
#检查PID File 是否存在
if
[
-f
"
${
PIDPATH
}
/
${
PIDFILE
}
"
]
;
then
echo
"
${
PIDPATH
}
/
${
PIDFILE
}
is already exist"
>>
/dev/null
else
touch
${
PIDPATH
}
/
${
PIDFILE
}
fi
# 首次启动时候自动创建plugins文件夹和引用flink\lib包!
if
[
!
-d
"./plugins"
]
;
then
echo
'mkdir plugins now'
mkdir
plugins
cd
plugins
if
[
!
-d
${
FLINK_HOME
}
]
;
then
if
[
!
-d
"./plugins"
]
;
then
echo
'mkdir plugins now'
mkdir
plugins
cd
plugins
if
[
!
-d
${
FLINK_HOME
}
]
;
then
echo
'WARNING!!!...没有找到FLINK_HOME环境变量,无法引用Flink/lib到plugins,请手动引用或复制Flink jar到plugins文件夹'
echo
'WARNING!!!...not find FLINK_HOME environment variable to reference Flink/lib to plugins, please reference or copy Flink jar to the plugins folder manually!!'
else
...
...
@@ -37,45 +54,36 @@ tips() {
# 启动方法
start
()
{
# 重新获取一下pid,因为其它操作如stop会导致pid的状态更新
pid
=
`
ps
-ef
|
grep
$JAR_NAME
|
grep
-v
grep
|
awk
'{print $2}'
`
# -z 表示如果$pid为空时执行
pid
=
$(
cat
${
PIDPATH
}
/
${
PIDFILE
})
if
[
-z
$pid
]
;
then
nohup
java
$SETTING
-jar
-Xms512M
-Xmx2048M
-XX
:PermSize
=
512M
-XX
:MaxPermSize
=
1024M
$JAR_NAME
>
dlink.log 2>&1 &
pid
=
`
ps
-ef
|
grep
$JAR_NAME
|
grep
-v
grep
|
awk
'{print $2}'
`
echo
""
echo
"Service
${
JAR_NAME
}
is starting!pid=
${
pid
}
"
echo
"........................Start successfully!........................."
nohup
java
$SETTING
-jar
-Xms512M
-Xmx2048M
-XX
:PermSize
=
512M
-XX
:MaxPermSize
=
1024M
$JAR_NAME
>
dlink.log 2>&1 &
echo
$!
>
${
PIDPATH
}
/
${
PIDFILE
}
echo
"........................................Start Dlink Successfully........................................"
else
echo
""
echo
"Service
${
JAR_NAME
}
is already running,it's pid =
${
pid
}
. If necessary, please use command: sh auto.sh restart."
echo
""
echo
"Dlink pid
$pid
is in
${
PIDPATH
}
/
${
PIDFILE
}
, Please stop first !!!"
fi
}
# 停止方法
stop
()
{
# 重新获取一下pid,因为其它操作如start会导致pid的状态更新
pid
=
`
ps
-ef
|
grep
$JAR_NAME
|
grep
-v
grep
|
awk
'{print $2}'
`
# -z 表示如果$pid为空时执行。 注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到
pid
=
$(
cat
${
PIDPATH
}
/
${
PIDFILE
})
if
[
-z
$pid
]
;
then
echo
""
echo
"Service
${
JAR_NAME
}
is not running! It's not necessary to stop it!"
echo
""
echo
"Dlink pid is not exist in
${
PIDPATH
}
/
${
PIDFILE
}
"
else
kill
-9
$pid
echo
""
echo
"Service stop successfully!pid:
${
pid
}
which has been killed forcibly!
"
echo
""
sleep
1
echo
"........................................Stop Dlink Successfully.....................................
"
echo
" "
>
${
PIDPATH
}
/
${
PIDFILE
}
fi
}
# 输出运行状态方法
status
()
{
# 重新获取一下pid,因为其它操作如stop、restart、start等会导致pid的状态更新
pid
=
`
ps
-ef
|
grep
$JAR_NAME
|
grep
-v
grep
|
awk
'{print $2}'
`
# -z 表示如果$pid为空时执行。注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到
if
[
-z
$pid
]
;
then
pid
=
$(
cat
${
PIDPATH
}
/
${
PIDFILE
})
if
[
-z
$pid
]
;
then
echo
""
echo
"Service
${
JAR_NAME
}
is not running!"
echo
""
...
...
@@ -89,34 +97,26 @@ status() {
# 重启方法
restart
()
{
echo
""
echo
".............................Restarting.............................."
echo
"....................................................................."
# 重新获取一下pid,因为其它操作如start会导致pid的状态更新
pid
=
`
ps
-ef
|
grep
$JAR_NAME
|
grep
-v
grep
|
awk
'{print $2}'
`
# -z 表示如果$pid为空时执行。 注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到
if
[
!
-z
$pid
]
;
then
kill
-9
$pid
fi
stop
start
echo
"....................Restart successfully!
..........................."
echo
"........................................Restart Successfully.............
..........................."
}
# 根据输入参数执行对应方法,不输入则执行tips提示方法
case
"
$1
"
in
"start"
)
"start"
)
start
;;
"stop"
)
"stop"
)
stop
;;
"status"
)
"status"
)
status
;;
"restart"
)
"restart"
)
restart
;;
*
)
*
)
tips
;;
esac
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment