编译Ambari2.8.0——Miniconda3Rocky Linux
# Miniconda3 快速部署与 Python2.7 环境初始化
在 Rocky Linux 等新版本发行版上直接编译 Ambari 2.8.0 时,常因 Python2.7 环境兼容性 和包下载速度问题卡住。 通过本文一键部署脚本,可以自动完成 Miniconda3 安装、国内镜像配置,以及 Python 2.7 虚拟环境的初始化。
警告
本方案仅适用于 Rocky Linux编译Ambari——2.8.0,普适性未经验证!
# 一键部署脚本(Miniconda3 + Python2.7)
将下方脚本内容保存为 install_miniconda3.sh
,加执行权限后运行:
#!/bin/bash
# 版权所有 (c) JaneTTR 2025
# 项目名称:ambari-env
#
# 本文件属于付费部分代码,仅供个人学习和研究使用。
#
# 禁止行为:
# 1. 未经授权,不得将本文件或其编译后的代码用于任何商业用途;
# 2. 禁止重新分发本文件或其修改版本;
# 3. 禁止通过反编译、反向工程等手段试图绕过授权验证。
#
# 商业授权:
# 如需将本文件或其编译后的代码用于商业用途,必须获得版权所有者的书面授权。
# 联系方式:
# 邮箱:3832514048@qq.com
#
# 责任声明:
# 本文件按“现状”提供,不附带任何形式的担保,包括但不限于适销性、特定用途适用性或无侵权的担保。
#
# 如有任何疑问,请联系版权所有者。
set -ex
# 路径和变量
BASE_DIR="/opt/enhance_env"
INSTALL_DIR="${BASE_DIR}/miniconda3"
ENV_NAME="py27_env"
MINICONDA_URL="https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_24.1.2-0-Linux-x86_64.sh"
MINICONDA_INSTALLER="${BASE_DIR}/Miniconda3-py39_24.1.2-0-Linux-x86_64.sh"
LOG_FILE="${BASE_DIR}/install_py27env.log"
PIP_CONF="${HOME}/.pip/pip.conf"
# 日志记录
mkdir -p ${BASE_DIR}
exec > >(tee -a ${LOG_FILE}) 2>&1
# 步骤 1: 下载 Miniconda3 安装脚本
if [ ! -f "${MINICONDA_INSTALLER}" ]; then
echo "正在从 ${MINICONDA_URL} 下载 Miniconda3 安装脚本..."
curl -o ${MINICONDA_INSTALLER} ${MINICONDA_URL}
else
echo "Miniconda3 安装脚本已存在:${MINICONDA_INSTALLER},跳过下载。"
fi
# 步骤 2: 安装 Miniconda3
if [ ! -d "${INSTALL_DIR}" ] || [ ! -x "${INSTALL_DIR}/bin/conda" ]; then
echo "正在安装 Miniconda3 到 ${INSTALL_DIR}..."
bash ${MINICONDA_INSTALLER} -b -p ${INSTALL_DIR}
else
echo "Miniconda3 已安装在 ${INSTALL_DIR},跳过安装。"
fi
# 步骤 3: 初始化 Conda
echo "正在初始化 Conda..."
source ${INSTALL_DIR}/bin/activate
conda init bash
# 步骤 4: 配置清华 Conda 镜像
if [ ! -f "${HOME}/.condarc" ]; then
echo "正在配置清华 Conda 镜像源..."
cat > ${HOME}/.condarc <<EOF
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
channel_priority: flexible
EOF
else
echo "清华 Conda 镜像源已配置,跳过。"
fi
# 步骤 5: 清除索引缓存
echo "正在清除 Conda 索引缓存..."
conda clean -i -y
# 步骤 6: 创建 Python 2.7 虚拟环境
if ! conda info --envs | grep -q "${ENV_NAME}"; then
echo "正在创建 Python 2.7 虚拟环境 '${ENV_NAME}'..."
conda create -n ${ENV_NAME} python=2.7 -y -vv
else
echo "Python 2.7 虚拟环境 '${ENV_NAME}' 已存在,跳过创建。"
fi
# 步骤 7: 激活虚拟环境
echo "激活 Python 2.7 虚拟环境..."
source ${INSTALL_DIR}/bin/activate
conda activate ${ENV_NAME}
# 步骤 8: 配置 pip 国内源
mkdir -p $(dirname ${PIP_CONF})
cat > ${PIP_CONF} <<EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF
# 步骤 9: 升级 pip、setuptools、wheel(仅支持 Python 2.7 的最高版本)
pip install --upgrade "pip<21.0" "setuptools<45.0" wheel || true
# 步骤 10: 环境检查
echo "== 环境检查 =="
python --version
pip --version
echo "Python 2.7 虚拟环境已准备好!"
echo "激活虚拟环境命令:conda activate ${ENV_NAME}"
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# 环境初始化说明
执行完成后,系统会自动拉起一个隔离的 Python 2.7 虚拟环境,所有包均通过 TUNA 清华镜像极速下载。此时你只需激活环境即可:
conda activate py27_env
1
之后,可直接在 Rocky Linux 上启动 Ambari 2.8.0 的源码编译与打包,无需担心依赖冲突或 Python 版本问题。极致兼容
重点提醒
- 本脚本只负责 Python 环境初始化,JDK/Maven/Gradle 安装可参考本站相关专篇,全部有一键脚本。
- 若长期用 Rocky Linux 编译大数据组件,强烈建议每个版本分环境独立隔离,避免后续升级时环境混乱。