大数据之Apache-Hive-2.3.9完整安装部署教程
一、下载Apache-Hive-2.3.9源码包
Hive下载仓库地址:https://github.com/cloudera/hue/releases
二、下载MySQL 驱动包
下载对应的 MySQL 连接jar
https://dev.mysql.com/downloads/connector/j/
三、上传并解压缩至big/指定目录(自定义)
## 上传方式ftp、rz、ssh等
[root@slave-1 conf]# ll /opt/
总用量 881740
-rw-r--r--. 1 root root 286170958 6月 24 09:01 apache-hive-2.3.9-bin.tar.gz
-rw-r--r--. 1 root root 144935989 6月 23 10:05 jdk-8u291-linux-x64.tar.gz
-rw-r--r--. 1 root root 3362563 6月 24 09:38 mysql-connector-java-5.1.49.tar.gz
drwxr-xr-x. 3 root root 178 4月 20 2020 mysql-connector-java-5.1.49
[root@slave-1 opt]# tar xf apache-hive-2.3.9-bin.tar.gz -C /usr/local/big/
[root@slave-1 conf]# cp /opt/mysql-connector-java-5.1.49/mysql-connector-java-5.1.49.jar /usr/local/big/apache-hive-2.3.9/lib/
四、配置Hive相关文档,Hive的配置文件路径$HIVE_HOME/conf
1、创建重命名相关文档
[root@slave-1 conf]# cp hive-env.sh.template hive-env.sh
[root@slave-1 conf]# cp hive-log4j2.properties.template hive-log4j2.properties
[root@slave-1 conf]# cp hive-default.xml.template hive-site.xml
[root@slave-1 conf]# cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
2、修改hive-env.sh
[root@slave-1 conf]# vim hive-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_291
export HADOOP_HOME=/usr/local/big/hadoop-2.9.2
export HIVE_HOME=/usr/local/big/hive-2.3.9
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib
3、增加hive-site.xml
用于配置MySQL的关联
注意:下面xml里的ConnectionUserName和ConnectionPassword配置的是mysql的用户名密码,
上文已经设置过都是hive,如果上文自己设置别的用户名密码,请自行修改.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<property>
<name>hive.exec.scratchdir</name>
<value>/usr/local/big/apache-hive-2.3.9/tmp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/local/big/apache-hive-2.3.9/warehouse</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/usr/local/big/apache-hive-2.3.9/logs</value>
</property>
<!-- 配置 MySQL 数据库连接信息 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://4*.104.95.***:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value><!-- jdbc驱动 -->
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value><!-- mysql账号 -->
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>drPzwGRw**Mkhz3S</value><!-- mysql密码 -->
</property>
</configuration>
4、创建hive元数据说在路径
[root@slave-1 ~]# hdfs dfs -mkdir /tmp #如果有这个路径,这不需要重新创建
[root@slave-1 ~]# hdfs dfs -mkdir -p /user/hive/warehouse #创建目录
[root@slave-1 ~]# hdfs dfs -chmod g+w /tmp #修改文件权限
[root@slave-1 ~]# hdfs dfs -chmod g+w /user/hive/warehouse #修改文件权限
5、初始化mysql元数据库
schematool -initSchema -dbType mysql //如果初始化成功,则会出现如下几行
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed
四、启动Hive,并校验
1、启动Hive
nohup hive --service metastore & #开启元数据
2、登录hive
Logging initialized using configuration in file:/usr/local/package/hive-2.3.4-bin/conf/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive (default)>
3、创建 aarontest 库和aarontest.staff 表
hive (default)> show databases;
OK
database_name
default
Time taken: 1.368 seconds, Fetched: 1 row(s)
hive (default)> create database aarontest;
OK
Time taken: 5.725 seconds
hive (default)> create table aarontest.staff(
> name string,
> age int)
> row format delimited fields terminated by "\t";
OK
Time taken: 6.275 seconds
hive (default)> select * from aarontest.staff;
OK
staff.name staff.age
xiaodong 23
xiaohong 24
xiaoming 18
Time taken: 1.945 seconds, Fetched: 3 row(s)
4、后续相关配置
配置企业使用的hive,元数据一定要用mysql(默认的derby数据库不支持多点登录),所有mysql的配置至关重要,特别是将 bind-address 设置成 0.0.0.0;在开启元数据服务前必须 初始化mysql元数据库;如果设置了thriftURL,必须 开启元数据服务。
大数据之Apache-Hive-2.3.9完整安装部署教程
https://cn.10691.cn//archives/10005