【Hive 搭建详解】 Hive 是一个基于 Hadoop 的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供简单的 SQL 查询功能,方便数据分析师进行大数据处理。本文将详细介绍如何在大数据集群上搭建 Hive,主要包括三种运行模式的概述以及本地模式的详细步骤。 Hive 提供了三种运行模式: 1. **内嵌模式**:元数据存储在本地的内嵌 Derby 数据库中,适合单用户开发和测试,不支持多会话连接。 2. **本地模式**:元数据存储在独立的本地数据库(如 MySQL),支持多用户和多会话,适用于小规模团队协作。 3. **远程模式**:元数据存储在远程的 MySQL 服务器,适用于大型集群环境,避免在每个客户端安装额外数据库。 我们将重点讲解本地模式的搭建过程: 1. **下载与解压**:下载 Hive 的安装包,例如 apache-hive-2.1.1-bin.tar.gz,将其解压到 `/opt/modules/hive` 并重命名。 2. **添加 JDBC 驱动**:为了连接 MySQL 存储元数据,需要下载 MySQL JDBC 驱动包(如 mysql-connector-java-5.1.44-bin.jar),将其放入 `/opt/modules/hive/lib` 目录。 3. **配置环境变量**:编辑 `/etc/profile` 文件,添加如下两行: ``` export HIVE_HOME=/opt/modules/hive export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH ``` 使用 `source /etc/profile` 命令使更改生效。 4. **修改配置文件**:进入 `/opt/modules/hive/conf` 目录,复制并重命名配置文件: ``` cp hive-env.sh.template hive-env.sh cp hive-default.xml.template hive-site.xml cp hive-log4j2.properties.template hive-log4j2.properties cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties ``` 5. **配置 Hive-env.sh**:在 `hive-env.sh` 文件中设置 Hadoop 相关路径及 Hive 辅助 JAR 路径: ``` export HADOOP_HOME=/opt/modules/hadoop-2.5.0 export HIVE_CONF_DIR=/opt/modules/hive/conf export HIVE_HOME=/opt/modules/hive export HIVE_AUX_JARS_PATH=/opt/modules/hive/lib ``` 6. **HDFS 目录准备**:在 HDFS 上创建必要的目录并赋予适当权限: ``` hdfs dfs -mkdir -p /user/hive/warehouse hdfs dfs -mkdir –p /user/hive/tmp hdfs dfs -chmod -R 777 /user/hive/warehouse hdfs dfs -chmod -R 777 /user/hive/tmp ``` 如果创建目录时遇到问题,可能是因为 Hadoop 的 native 库缺失,需要将相应的库文件复制到所有节点。 7. **配置 Hadoop**:如果在 `/opt/modules/hadoop-2.5.0/lib/native/` 下缺少文件,需从其他地方拷贝并解压至该目录,然后在 `hadoop-env.sh` 中添加以下配置: ``` export HADOOP_HOME=/opt/modules/hadoop-2.5.0 export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native/" ``` 8. **启动 Hadoop 集群**:确保 Hadoop 已经启动并运行正常。 9. **配置 MySQL**:创建用于存储 Hive 元数据的 MySQL 用户和数据库,并授权: ``` mysql –u root –p create user 'admin'@'localhost' IDENTIFIED BY 'admin'; create database hive; grant all privileges on hive.* to admin@localhost identified by 'admin'; flush privileges; drop user admin@"localhost"; ``` 通过 `mysql -u admin -p -h localhost -D hive` 登录并检查连接是否正常。 完成以上步骤后,Hive 就已经在本地模式下成功搭建,可以使用 `hive` 命令行工具进行数据操作。但请注意,实际生产环境中,通常会选择远程模式以提高系统扩展性和稳定性。
- 粉丝: 4
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助