尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

【Ambari Plus】Step8—MariaDB 初始化

【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 创建数据库和用户。
返回列表