【Ambari Plus】Step8—MariaDB 初始化

发布时间:2026/10/4 7:27:53
【Ambari Plus】Step8—MariaDB 初始化 Step8—MariaDB 初始化Ambari Server 后面会把元数据写入 MariaDB所以数据库要提前准备好。这一步只处理 MariaDB 服务本身安装、字符集、监听地址、root 密码和远程连通验证。Ambari 专用库和专用用户放到 Step9 再创建。本文只在核心节点hadoop1.test.com初始化 MariaDB工作节点只做连接验证。安装 MariaDB如果 Step1 已经安装过可以直接跳到下一节。sudodnf-yinstallMariaDB-server MariaDB-client||\sudoyum-yinstallMariaDB-server MariaDB-clientsudosystemctlenable--nowmariadbsudoaptupdatesudoaptinstall-ymariadb-server mariadb-clientsudosystemctlenable--nowmariadb写入 MariaDB 配置不要直接覆盖系统主配置文件。RHEL 系我建议写到/etc/my.cnf.d/99-ambari.cnfUbuntu 写到/etc/mysql/mariadb.conf.d/99-ambari.cnf。sudomkdir-p/etc/my.cnf.dsudotee/etc/my.cnf.d/99-ambari.cnf/dev/nullEOF [client] default-character-setutf8mb4 [mysqld] character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci default-storage-engineInnoDB innodb_file_per_table1 bind-address0.0.0.0 max_connections500 [mysqldump] default-character-setutf8mb4 EOFsudomkdir-p/etc/mysql/mariadb.conf.dsudotee/etc/mysql/mariadb.conf.d/99-ambari.cnf/dev/nullEOF [client] default-character-setutf8mb4 [mysqld] character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci default-storage-engineInnoDB innodb_file_per_table1 bind-address0.0.0.0 max_connections500 [mysqldump] default-character-setutf8mb4 EOF::: tipbind-address0.0.0.0是为了让工作节点能连核心节点数据库。生产环境更建议配合防火墙和安全组限制来源只允许集群内网段访问 3306。:::::: details 可选的 InnoDB 调优项如果数据库节点内存充足可以再按机器规格调整innodb_buffer_pool_size、innodb_log_file_size、innodb_log_buffer_size等参数。不要直接照抄固定值2C4G、8C32G 和独立数据库服务器的参数不应该一样。新环境先保证字符集、监听地址和服务稳定再做性能参数。:::初始化数据目录大多数发行版安装mariadb-server后会自动初始化数据目录。如果/var/lib/mysql/mysql不存在再手动初始化if[!-d/var/lib/mysql/mysql];thenifcommand-vmariadb-install-db/dev/null21;thensudomariadb-install-db--usermysql--datadir/var/lib/mysqlelsesudomysql_install_db--usermysql--datadir/var/lib/mysqlfifi启动并检查 MariaDBsudosystemctl restart mariadbsudosystemctlenablemariadbsudosystemctl status mariadb --no-pager确认 3306 监听和字符集ss-lntp|grep:3306 sudomariadb--protocolsocket-uroot-eSHOW VARIABLES LIKE character_set_server;能看到0.0.0.0:3306和utf8mb4说明基础配置已经生效。初始化 root 密码为了让教程更容易跟着跑本文演示环境统一使用用户名密码rootroot::: warning这里的root/root只是为了演示和快速跑通安装流程。生产环境请改成高复杂度密码并按公司的安全规范限制数据库来源地址。:::如果当前 root 可以通过 socket 登录执行sudomariadb--protocolsocket-urootEOF DELETE FROM mysql.user WHERE User; DROP DATABASE IF EXISTS test; DELETE FROM mysql.db WHERE Dbtest OR Db LIKE test\\_%; CREATE USER IF NOT EXISTS rootlocalhost IDENTIFIED BY root; ALTER USER rootlocalhost IDENTIFIED BY root; CREATE USER IF NOT EXISTS root% IDENTIFIED BY root; ALTER USER root% IDENTIFIED BY root; GRANT ALL PRIVILEGES ON *.* TO rootlocalhost WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION; FLUSH PRIVILEGES; EOF如果当前 root 已经有密码用密码登录后执行同样的清理和ALTER USERmysql-uroot-p放通 3306演示环境可以直接放通 3306。生产环境建议只允许集群网段访问或者通过安全组限制来源。sudofirewall-cmd --add-port3306/tcp--permanentsudofirewall-cmd--reloadsudoufw allow3306/tcpsudoufw reload如果没有启用防火墙可以跳过云主机仍然要检查安全组。验证 root 连接先在hadoop1.test.com本机验证mysql-uroot-p-eSELECT USER(), VERSION();密码输入root。再到hadoop2.test.com和hadoop3.test.com远程验证mysql-hhadoop1.test.com-uroot-p-eSELECT 1 AS ok;密码同样输入root。返回1就说明端口、监听地址和 root 授权都正常。常见问题现象原因处理只能本机登录远程失败bind-address仍是127.0.0.1或防火墙未放通改配置后重启并检查 3306 规则远程提示 Access deniedroot%没授权或密码不是root重新执行 root 授权 SQL3306 没监听服务未启动或配置错误看journalctl -u mariadbsocket 登录失败root 认证方式或密码已被改过使用mysql -uroot -p登录工作节点无 mysql 命令没装客户端安装MariaDB-client或mariadb-clientMariaDB 远程验证通过后就可以给 Ambari Server 创建数据库和用户。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询