Step8—AmbariServer初始化
# Ambari 初始化及安装指南 🚀
# 1. 安装 MySQL Connector/J 🔗
Ambari 需要 MySQL Connector/J 来访问 MariaDB 数据库,以下是安装步骤:
# 1.1 下载 MySQL Connector/J
wget -P /opt/modules https://mirrors.aliyun.com/mysql/Connector-J/mysql-connector-java-5.1.48.tar.gz
1
# 1.2 解压并安装
tar -xzf /opt/modules/mysql-connector-java-5.1.48.tar.gz -C /opt/modules/
mv /opt/modules/mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-bin.jar /usr/share/java/mysql-connector-java.jar
1
2
2
# 1.3 验证安装
ls -l /usr/share/java/mysql-connector-java.jar
1
如果 mysql-connector-java.jar
存在,则表示安装成功。
# 2. 配置 Ambari 数据库 🗄️
Ambari 需要一个 MySQL/MariaDB 数据库来存储元数据,必须先 手动创建数据库和用户。
# 2.1 登录 MariaDB
mysql -uroot -p
1
然后执行以下 SQL 命令创建数据库和用户:
CREATE DATABASE ambari CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
1
2
3
4
2
3
4
说明:
ambari
是数据库名称,存储 Ambari 的数据。ambari
是数据库用户,密码ambari
。GRANT ALL PRIVILEGES
允许 Ambari 远程访问数据库。
# 3. 安装 Ambari Server 🏗️
# 3.1 通过 YUM 安装
yum install -y ambari-server
1
# 3.2 配置 JDBC 连接
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
1
# 3.3 运行安装向导
# 该步骤是为了告诉系统,使用什么方式连接到ambari数据源,包括配置ambari的用户名密码等
ambari-server setup
1
2
2
安装向导的 关键步骤:
是否自定义 Ambari 用户? → 选择
n
选择 JDK 版本
- 如果 JDK 已安装,选择
2
- 输入
JAVA_HOME
路径,例如/opt/modules/jdk1.8.0_202
- 如果 JDK 已安装,选择
是否启用 GPL 许可? → 选择
y
选择数据库类型 → 选择
3
(MySQL/MariaDB)输入数据库连接信息
Hostname: 192.168.3.1 Port: 3306 Database name: ambari Username: ambari Password: ambari
1
2
3
4
5是否使用远程数据库? → 选择
y
下面是具体步骤拆解,方便对照
# 3.3.1 是否自定义 Ambari 用户
→ 选择
n
spawn ambari-server setup
Using python /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? n
1
2
3
4
5
6
2
3
4
5
6
# 3.3.2 选择 JDK 版本
- 如果 JDK 已安装,选择
2
- 输入
JAVA_HOME
路径,例如/opt/modules/jdk1.8.0_202
Adjusting ambari-server permissions and ownership...
Checking firewall status...
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
==============================================================================
Enter choice (1): 2
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
Path to JAVA_HOME: /opt/modules/jdk1.8.0_202
Validating JDK on Ambari Server...done.
Check JDK version for Ambari Server...
JDK version found: 8
Minimum JDK version is 8 for Ambari. Skipping to setup different JDK for Ambari Server.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 3.3.3 是否启用 GPL 许可
→ 选择
y
Checking GPL software agreement...
GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? y
Completing setup...
1
2
3
4
2
3
4
# 3.3.4 选择数据库类型
→ 选择
3
(MySQL/MariaDB)Hostname: 192.168.3.1 Port: 3306 Database name: ambari Username: ambari Password: ambari
Configuring database...
Enter advanced database configuration [y/n] (n)? y
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
==============================================================================
Enter choice (1): 3
Hostname (localhost): 192.168.3.1
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari
Enter Database Password (bigdata):
Re-enter password:
Configuring ambari database...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 3.3.5 其他配置
Should ambari use existing default jdbc /usr/share/java/mysql-connector-java.jar [y/n] (y)? y
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL directly from the database shell to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views...
.
Ambari repo file doesn't contain latest json url, skipping repoinfos modification
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 4. 初始化 Ambari 数据库 🔄
Ambari 服务器初始化时,需要执行数据库结构 SQL 语句。
# 4.1 执行数据库初始化
mysql -u ambari -p'ambari' ambari < /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
1
说明:
Ambari-DDL-MySQL-CREATE.sql
是 Ambari 官方提供的数据库结构脚本,必须执行 否则 Ambari 无法正常启动。
# 5. 启动 Ambari Server 🚀
# 5.1 启动 Ambari Server
ambari-server start
1
检查 Ambari 是否启动成功:
ambari-server status
1
如果状态为 running,说明 Ambari Server 启动成功。
# 6. 访问 Ambari Web UI 🌐
在浏览器中打开:
http://192.168.3.1:8080
1
使用默认账号密码登录:
Username: admin
Password: admin
1
2
2
# 7. 可能遇到的问题及解决方案 ❌🔍
问题 | 解决方案 |
---|---|
Cannot find mysql-connector-java.jar | 确保 MySQL Connector 已安装,并位于 /usr/share/java/mysql-connector-java.jar |
Access denied for user 'ambari'@'%' | 重新执行 GRANT ALL PRIVILEGES ,并执行 FLUSH PRIVILEGES; |
Table 'ambari.metainfo' doesn't exist | 确保执行了 Ambari-DDL-MySQL-CREATE.sql |
Ambari Server 启动失败 | 执行 ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar |
Ambari Web UI 无法访问 | 确保 8080 端口未被防火墙阻挡: firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload |