Hive - 安装部署及配置教程
作者:hangge | 2024-09-05 08:46
Hive 目前主要有 3 大版本:Hive 1.x、Hive 2.x 和 Hive 3.x,这几个版本在本质上没有特别大的差别,主要是在细节和性能上有所区别。我们需要根据 Hadoop 集群版本,来选择对应的 Hive 版本。例如我使用的 Hadoop 的是 3.x 版本,那么 Hive 也选择 3.x 版本会比较合适的。下面我将演示如何进行 Hive 的安装部署。
1,准备工作
(1)因为 Hive 依赖 Hadoop,所以安装 Hive 前需要准备好 Hadoop 环境,具体可以参考我之前写的文章:
(2)由于 Hive 的元数据会被存储在 MySQL 中,所以我们还要准备 MySQL 数据库,具体可以参考我之前写的文章:
2,下载并解压 Hive 安装包
注意:Hive 相当于 Hadoop 集群的客户端工具,在安装时不一定非要将它放在 Hadoop 集群的节点中,可以放在任意一个 Hadoop 集群的客户端节点上,或者根据需求安装在多个 Hadoop 集群的客户端节点上。
wget https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
(2)接着执行如下命令解压下载下来的压缩:
tar -zxvf apache-hive-3.1.3-bin.tar.gz
(3)最后将解压出来的文件夹移动到合适的位置,这个可以根据个人习惯修改:
mv apache-hive-3.1.3-bin /usr/local/hive
3,修改 Hive 配置文件
(1)进入 Hive 的 conf 目录,并修改配置文件的名称:cd /usr/local/hive/conf mv hive-env.sh.template hive-env.sh mv hive-default.xml.template hive-site.xml
(2)接着修改 hive-env.sh 配置文件:
vi hive-env.sh
- 根据实际的路径在 hive-env.sh 文件的末尾直接增加下面这 3 行内容,具体目录地址根据实际情况调整:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64 export HIVE_HOME=/usr/local/hive export HADOOP_HOME=/usr/local/hadoop
vi hive-site.xml
- 根据下面 property 标签中的 name 属性修改对应 value 的值,这些属性在 hive-site.xml 文件中默认都是存在的,所以只需要修改对应 value 的值即可,不能直接增加。
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.60.1:3306/hive?serverTimezone=Asia/Shanghai</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.cj.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hangge1234</value> </property> <property> <name>hive.querylog.location</name> <value>/data/hive_repo/querylog</value> </property> <property> <name>hive.exec.local.scratchdir</name> <value>/data/hive_repo/scratchdir</value> </property> <property> <name>hive.downloaded.resources.dir</name> <value>/data/hive_repo/resources</value> </property>
-
最后,删除 hive-site.xml 文件中 hive.txn.xlock.iow 属性对应的
标签中的内容,因为这个标签中的原始内容是有问题的。
<property> <name>hive.txn.xlock.iow</name> <value>true</value> <description></description> </property>
(4)最后把 MySQL 的驱动程序包上传到 Hive 的 lib 目录下:
4,修改 Hadoop 配置文件
(1)首先修改 node1 中的 core-site.xml:vi /usr/local/hadoop/etc/hadoop/core-site.xml
- 在其中添加如下配置:
<property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>
(2)然后执行如下命令同步到集群中的另外两个节点上:
scp -rq /usr/local/hadoop/etc/hadoop/core-site.xml node2:/usr/local/hadoop/etc/hadoop/ scp -rq /usr/local/hadoop/etc/hadoop/core-site.xml node3:/usr/local/hadoop/etc/hadoop/
(3)最后在修改好集群的配置后,需要重启 Hadoop 集群,这样配置才能生效。
cd /usr/local/hadoop sbin/stop-all.sh sbin/start-all.sh
5,初始化 Hive 的 Metastore
(1)初始化 Hive 前需要先在 MySQL 中创建一个数据库 hive,否则在初始化时会提示找不到 hive 这个库,并且数据库的编码需要使用 latin1,不能使用 UTF8。
(2)然后执行如下命令进行初始化,这个初始化过程需要执行一段时间。
cd /usr/local/hive bin/schematool -dbType mysql -initSchema
(3)在初始化成功后查看 MySQL 中的 Hive 数据库,可以看到一批与 Hive 相关的表,这样 Hive 就安装好了,不需要启动任何进程。
全部评论(0)