电影网站如何优化锡林郭勒盟建设厅官方网站
2026/2/13 10:40:24 网站建设 项目流程
电影网站如何优化,锡林郭勒盟建设厅官方网站,深圳推荐企业网站制作维护,家居网站建设总结本文通过 一份可直接运行的 Shell 脚本#xff0c;完成 Hive Metastore 在 MySQL 8 上的创建、配置、驱动替换和 schema 初始化#xff0c;适合生产与集群环境。 一、环境说明 1️⃣ 软件版本 组件版本Hive3.xMySQL8.xJDBC 驱动mysql-connector-java 8.xJDK1.82️⃣ 目录规…本文通过一份可直接运行的 Shell 脚本完成 Hive Metastore 在 MySQL 8 上的创建、配置、驱动替换和 schema 初始化适合生产与集群环境。一、环境说明1️⃣ 软件版本组件版本Hive3.xMySQL8.xJDBC 驱动mysql-connector-java 8.xJDK1.82️⃣ 目录规划Hive 安装目录 /opt/hive Hive lib 目录 /opt/hive/lib Hive 配置目录 /opt/hive/conf3️⃣ MySQL 前置检查systemctl status mysqld未启动则systemctl start mysqld systemctlenablemysqld二、完整 Hive Metastore 初始化 Shell 脚本原样保留✅ 特点使用MySQL 8 官方 CJ 驱动自动删除旧 5.x 驱动自动创建 metastore 数据库自动创建 hive 用户并授权自动初始化 schema避免 XML 转义、时区、认证问题完整 Shell 脚本你的原始版本#!/bin/bash# 配置 Hive Metastore 并初始化使用 com.mysql.cj.jdbc.Driverset-e# 配置区域 HIVE_HOME/opt/hiveMYSQL_ROOT_PASSWORDYFSTpiGxS2%jMYSQL_NODEnode1MYSQL_JDBC_VERSION8.0.12# MySQL JDBC 驱动版本# Hive Metastore 用户配置HIVE_DBmetastoreHIVE_USERhiveHIVE_PASSWORDHive123!# 必须符合 MySQL 密码策略RESET_METASTOREfalse# true - 删除已有 Metastore 并重新初始化FORCE_XML_UPDATEfalse# true - 强制更新 hive-site.xml即使文件存在FIX_XML_ONLYfalse# true - 只修复 XML 转义不初始化 schema# echo Hive Metastore 配置CJ 驱动 # 创建临时 MySQL 配置文件隐藏密码TMP_MY_CNF/tmp/mysql_hive.cnfcat$TMP_MY_CNFEOF [client] userroot password$MYSQL_ROOT_PASSWORDEOF# 确保 MySQL 已启动echo 启动 MySQL...systemctl start mysqldecho✅ MySQL 启动完成# 删除旧 MySQL 驱动echo 删除旧 MySQL JDBC 驱动5.x...rm-f$HIVE_HOME/lib/mysql-connector-java-5.1.*.jarecho✅ 已删除旧驱动# 下载 MySQL 8.x 驱动CJ 驱动JDBC_JAR_NAMEmysql-connector-java-${MYSQL_JDBC_VERSION}.jarif[!-f$HIVE_HOME/lib/$JDBC_JAR_NAME];thenecho 下载 MySQL Connector/J$MYSQL_JDBC_VERSION...wget-qhttps://repo1.maven.org/maven2/mysql/mysql-connector-java/${MYSQL_JDBC_VERSION}/$JDBC_JAR_NAME-P /tmpcp/tmp/$JDBC_JAR_NAME$HIVE_HOME/lib/echo✅ MySQL 8.x 驱动下载并放入 Hive libelseecho✅ MySQL 8.x 驱动已存在跳过下载fi# 如果选择重置 Metastore则先删除数据库if[$RESET_METASTOREtrue];thenecho 重置 Hive Metastore 数据库...mysql --defaults-extra-file$TMP_MY_CNF-eDROP DATABASE IF EXISTS$HIVE_DB;\echo✅ Hive Metastore 数据库已删除fi# 创建数据库echo 创建 Hive Metastore 数据库...mysql --defaults-extra-file$TMP_MY_CNF-eCREATE DATABASE IF NOT EXISTS$HIVE_DB;\echo✅ Hive Metastore 数据库创建完成或已存在# 创建/更新用户USER_EXIST$(mysql --defaults-extra-file$TMP_MY_CNF-eSELECT User FROM mysql.user WHERE User$HIVE_USER;|grep$HIVE_USER||true)if[-z$USER_EXIST];thenmysql --defaults-extra-file$TMP_MY_CNF-eCREATE USER $HIVE_USER% IDENTIFIED BY $HIVE_PASSWORD;mysql --defaults-extra-file$TMP_MY_CNF-eGRANT ALL PRIVILEGES ON$HIVE_DB.* TO $HIVE_USER%;mysql --defaults-extra-file$TMP_MY_CNF-eFLUSH PRIVILEGES;echo✅ Hive 用户$HIVE_USER创建完成else# 更新密码以防 Hive 用户密码不一致mysql --defaults-extra-file$TMP_MY_CNF-eALTER USER $HIVE_USER% IDENTIFIED BY $HIVE_PASSWORD;echo✅ Hive 用户$HIVE_USER已存在密码已更新fi# 配置 hive-site.xmlHIVE_SITE_FILE$HIVE_HOME/conf/hive-site.xmlcat$HIVE_SITE_FILEEOF configuration property namejavax.jdo.option.ConnectionURL/name valuejdbc:mysql://$MYSQL_NODE:3306/$HIVE_DB?createDatabaseIfNotExisttrueamp;useSSLfalseamp;serverTimezoneUTC/value /property property namejavax.jdo.option.ConnectionDriverName/name valuecom.mysql.cj.jdbc.Driver/value /property property namejavax.jdo.option.ConnectionUserName/name value$HIVE_USER/value /property property namejavax.jdo.option.ConnectionPassword/name value$HIVE_PASSWORD/value /property /configuration EOF# 初始化 Hive Metastore跳过如果只修复 XMLif[$FIX_XML_ONLYfalse];thenif[$RESET_METASTOREtrue];thenecho 重置并初始化 Hive Metastore 元数据库表...$HIVE_HOME/bin/schematool -dbType mysql -initSchemaecho✅ Hive Metastore 元数据库已重置并初始化完成else$HIVE_HOME/bin/schematool -dbType mysql -info/dev/null||{echo 初始化 Hive Metastore 元数据库表...$HIVE_HOME/bin/schematool -dbType mysql -initSchemaecho✅ Hive Metastore 元数据库初始化完成}fielseecho 跳过 schema 初始化FIX_XML_ONLY 模式fi# 删除临时 MySQL 配置文件rm-f$TMP_MY_CNFecho Hive Metastore 配置并初始化完成CJ 驱动 三、脚本使用方式1️⃣ 赋予执行权限chmodx init-hive-metastore.sh2️⃣ 执行初始化./init-hive-metastore.sh3️⃣ 重置 Metastore慎用RESET_METASTOREtrue ./init-hive-metastore.sh四、验证是否成功1️⃣ 进入 Hivehiveshowdatabases;2️⃣ 检查 MySQL 表mysql -u hive -p metastore -eshow tables;能看到DBS、TBLS、VERSION等表即成功。五、常见问题汇总必看❌ 1. 驱动冲突ClassNotFoundException: com.mysql.jdbc.Driver✔ 已在脚本中自动删除 5.x 驱动❌ 2. MySQL 8 认证失败Public Key Retrieval is not allowed✔ 使用com.mysql.cj.jdbc.Driver❌ 3. XML 解析错误✔ 已正确使用amp;转义六、总结✔完整 Shell 自动化部署✔ 适配 Hive 3.x MySQL 8✔ 生产环境可直接复用✔ 一次执行彻底避坑

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询