hive 2.1.0 安装及利用MySQL做元数据管理

本文详细介绍如何在Hive中配置MySQL作为元数据存储的方法。包括环境准备、具体配置步骤等,适合初学者及需要进行相关配置的技术人员参考。

一、环境准备

jdk 1.8+

hadoop 2.x

mysql 5.x

安装之前请确保以上环境已准备完毕

二、安装

1. 下载并解压

2. 进入安装目录下conf目录

vim hive-site.xml

加入以下配置

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.11.132:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
</configuration>

<think>嗯,用户需要了解在Hive环境中安装MySQL的详细步骤。根据提供的四个引用内容,可以整理出一个完整的安装流程。 引用[1]提到Hive安装需要先配置MySQL,引用[2]强调要卸载mariadb并获取正确版本的MySQL,引用[3]给出了具体的命令操作序列,引用[4]则验证了安装成功后的数据库状态。这些引用内容相互补充,能构成完整的指导方案。 用户可能是大数据平台运维人员或学习Hive的学生,正在搭建Hadoop生态圈环境。ta需要明确的命令行操作指引,特别是容易出错的配置环节。考虑到Hive数据存储对MySQL版本有要求,应该特别提醒版本兼容性问题。 从技术细节来看,有几个关键点需要突出:卸载原生mariadb的强制性,安装包版本选择依据,以及hive-site.xml配置文件的敏感性。引用[3]中提到的配置文件错误处理很实用,应该保留"可提供文件替换"的选项。 安全方面要注意提醒用户修改默认密码,特别是生产环境中123456这类弱密码的风险。步骤中flush privileges和开机自启的防火墙设置也是容易遗漏的重点。 最后验证部分引用[4]的metastore数据库出现是成功标志,这个视觉化反馈对用户很重要。补充问题设计覆盖了版本管理、故障排查和权限配置等进阶需求,能帮助用户深化理解。 </think>根据引用内容,Hive环境中安装MySQL的详细步骤如下: ### 一、安装前准备 1. **卸载冲突组件** ```shell yum remove mysql-libs -y # 移除系统默认的mariadb库[^2][^3] ``` 2. **安装依赖包** ```shell yum install net-tools perl* -y # 安装网络工具和Perl依赖[^3] ``` ### 二、MySQL安装 1. **安装服务端与客户端** ```shell rpm -ivh MySQL-server-5.1.73-1.glibc23.x86_64.rpm rpm -ivh MySQL-client-5.1.73-1.glibc23.x86_64.rpm # 安装指定版本[^3] ``` > 💡 注意:版本需匹配Hive要求(Hive 2.1.0兼容MySQL 5.12. **初始化配置** ```shell mysql -u root # 首次登录(无密码) SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); # 设置密码 GRANT ALL PRIVILEGES ON *.* TO 'root'@'master' IDENTIFIED BY '123456'; # 授权远程访问[^3] FLUSH PRIVILEGES; # 刷新权限 exit; ``` ### 三、Hive配置MySQL集成 1. **修改Hive配置文件** - 创建`hive-site.xml`(基于模板): ```shell cp hive-default.xml.template hive-site.xml # 引用[3] ``` - 关键配置项需指定: ```xml <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> ``` > ⚠️ 提示:配置文件易错,可参考现成模板[^1][^3] 2. **初始化数据库** ```shell schematool -dbType mysql -initSchema # 在Hive目录下执行[^3] ``` **验证成功**:MySQL中生成`metastore`数据库(包含79张表)[^4] ### 四、启动验证 ```shell hive # 启动Hive CLI show databases; # 能正常显示默认数据库即成功 ``` > 防火墙需开放3306端口(安全组入方向)[^1] *** ### ⭐ 相关问题 1. **MySQL安装失败提示`conflicts with file from package`时如何处理?** > 需彻底卸载冲突包:`rpm -qa | grep mariadb | xargs rpm -e --nodeps` 2. **Hive初始化数据库时报`Specified key was too long`错误怎么办?** > 在MySQL配置文件中添加: > ```ini > [mysqld] > innodb_large_prefix=ON > innodb_file_format=Barracuda > ``` 3. **如何验证Hive是否真正使用了MySQL存储数据?** > 在MySQL执行: > ```sql > USE metastore; > SELECT * FROM DBS; # 应显示Hive创建的数据库信息 > ``` 4. **生产环境中MySQL密码设置有哪些安全建议?** > 避免使用`123456`,建议: > - 长度≥12位,含大小写字母+数字+特殊符号 > - 为Hive创建专属用户(非root) > - 定期轮换密码 > 引用说明:本文操作步骤综合自Hive安装文档[^1][^3],MySQL配置参考官方兼容性指南[^2],数据验证方法源自实践案例[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值