-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path20T2_q7.sh
More file actions
executable file
·46 lines (39 loc) · 1.27 KB
/
20T2_q7.sh
File metadata and controls
executable file
·46 lines (39 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/bash
# 一键卸载 Hadoop + YARN
echo ">>> 开始卸载 Hadoop / YARN ..."
# 1. 检查 Homebrew 安装的情况
if brew list hadoop &>/dev/null; then
echo ">>> 检测到 Homebrew 安装的 Hadoop,执行卸载..."
brew uninstall hadoop
else
echo ">>> 没有检测到 Homebrew 版本的 Hadoop"
fi
# 2. 常见的 Hadoop 安装目录
CANDIDATES=(
"/usr/local/hadoop"
"/opt/hadoop"
"$HOME/hadoop"
"/usr/local/Cellar/hadoop"
"/opt/homebrew/Cellar/hadoop"
)
for dir in "${CANDIDATES[@]}"; do
if [ -d "$dir" ]; then
echo ">>> 删除目录: $dir"
rm -rf "$dir"
fi
done
# 3. 清理环境变量 (zsh 和 bash)
for file in "$HOME/.zshrc" "$HOME/.bashrc" "$HOME/.bash_profile"; do
if [ -f "$file" ]; then
echo ">>> 清理环境变量: $file"
sed -i.bak '/HADOOP_HOME/d;/HADOOP_CONF_DIR/d;/hadoop\/bin/d;/hadoop\/sbin/d' "$file"
fi
done
# 4. 杀掉可能残留的进程
echo ">>> 检查 Hadoop/YARN 相关进程..."
JPS=$(command -v jps)
if [ -n "$JPS" ]; then
$JPS | grep -E 'NameNode|DataNode|SecondaryNameNode|ResourceManager|NodeManager' | awk '{print $1}' | xargs -r kill -9
fi
echo ">>> Hadoop / YARN 已卸载完成"
echo ">>> 请执行: source ~/.zshrc 或 source ~/.bashrc 来刷新环境变量"