HIVE 2.1.0 安装教程。(数据源mysql)
2024-10-19 18:36:57
前期工作
- 安装JDK
- 安装Hadoop
- 安装MySQL
安装Hive
下载Hive安装包
可以从 Apache 其中一个镜像站点中下载最新稳定版的 Hive, apache-hive-2.1.0-bin.tar.gz。
解压安装Hive
使用以下命令安装 Hive:
sudo mv apache-hive-2.1.0-bin.tar.gz /opt
cd /opt
sudo tar -xzvf apache-hive-2.1.0-bin.tar.gz ##解压
sudo ln -s apache-hive-2.1.0-bin hive ##创建软链接
设置 Hive环境变量
编辑 .bash_profile 文件, 在其中添加以下内容:
# Hive Env
export HIVE_HOME=/opt/hive
export PATH=$PATH:$HIVE_HOME/bin
使环境变量生效:
source .bash_profile
配置Hive
配置文件重命名
在运行 Hive 之前需要使用以下命令修改配置文件:
cd /opt/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
修改hive-env.sh
因为 Hive 使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安装路径:
export JAVA_HOME=/opt/java ##Java路径
export HADOOP_HOME=/opt/hadoop ##Hadoop安装路径
export HIVE_HOME=/opt/hive ##Hive安装路径
export HIVE_CONF_DIR=/opt/hive/conf ##Hive配置文件路径
修改hive-site.xml
替换hive-site.xml文件中的 ${system:java.io.tmpdir} 和 ${system:user.name}
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive-${user.name}</value>
<description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/tmp/${user.name}</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/tmp/hive/resources</value><description>Temporary local directory for added resources in the remote file system.</description></property><property><name>hive.querylog.location</name><value>/tmp/${user.name}</value><description>Location of Hive run time structured log file</description></property><property><name>hive.server2.logging.operation.log.location</name><value>/tmp/${user.name}/operation_logs</value><description>Top level directory where operation logs are stored if logging functionality is enabled</description></property>
配置Hive Metastore
默认情况下, Hive的元数据保存在了内嵌的 derby 数据库里, 但一般情况下生产环境使用 MySQL 来存放 Hive 元数据。
- 将 mysql-connector-java-5.1.39.jar 放入 $HIVE_HOME/lib 下。
- hive-site.xml 中配置 MySQL 数据库连接信息
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</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>
为Hive创建HDFS目录
在 Hive 中创建表之前需要使用以下 HDFS 命令创建 /tmp 和 /user/hive/warehouse (hive-site.xml 配置文件中属性项 hive.metastore.warehouse.dir 的默认值) 目录并给它们赋写权限。
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir /usr/hive/warehouse
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /usr/hive/warehouse
为Hive建立相对应的Mysql账户,并赋予足够的权限
- CREATE USER 'root' IDENTIFIED BY '123456';
- GRANT ALL PRIVILEGES ON *.* TO 'root@'%' WITH GRANT OPTION;
- flush privileges;
将mysql-connector-java-5.1.30-bin.jar 放入 $HIVE_HOME/lib下
运行Hive
在命令行运行 hive 命令时必须保证 HDFS 已经启动。可以使用 start-dfs.sh 来启动 HDFS。
从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作。
schematool -dbType mysql -initSchema
执行成功后,可以使用 Sequel Pro 查看元数据库 hive 是否已经创建成功。
要使用 Hive CLI(Hive command line interface), 可以在终端输入以下命令:
hive
启动信息如下:
使用 show tables 来显示所有的表:
最新文章
- Java Integer(-128~127)值的==和equals比较产生的思考
- 开博客这么久以来,第一篇技术文章,python与c的接口对接
- andriod前端传来经度 纬度 坐标 来查询数据库坐标周围500M内的类数据
- 如何将红色区域数据调用解密函数直接打印到输出控制台(例如:crt控制台)
- html5 xdm 页面之间的通信
- vijos 1776 关押罪犯
- Oracle Cluster Registry Location to be Added is not Accessible
- ARM学习笔记12——GNU ARM汇编伪操作
- 一个很简单的SqlServer生成常用C#语句工具的诞生
- java io学习记录(路径分隔符)
- iOS coreData
- 修改TabPageIndicator下划线的颜色
- CoordinatorLayout
- Java8新特性之二:方法引用
- Android--解决图片保存到相册显示1970年1月1日 8:00的问题
- 20172328 暑假作业 之 实现安卓小程序Enjoy-all
- docker安装tomcat并部署web项目
- 如何自学Java开发
- 一次修改mysql字段类型引发的技术探究
- JMeter学习(三十七)Jmeter录制手机app脚本(转载)
热门文章
- eclipse中如何查看一个android模拟器的内部文件
- java笔记十:java中的反射
- [Spring Data Repositories]学习笔记--为repository添加通用的方法
- [Spring Data Repositories]学习笔记--使用现有的repository
- nginx发布的nginScript
- Oracle备份一张表
- CSS 关于让页面的高度达到电脑屏幕的底部
- 巨蟒python全栈开发linux之cento8
- mybatis springmvc velocity的demo
- Python代码实现删除一个list里面的重复元素