目录
hive版本:3.1.2
hadoop版本 3.1.3
前置工作
0.配置好hadoop的环境变量
1.解压完成后,在环境变量中添加hive内容
vim /etc/profile
添加
export HIVE_HOME=/opt/moudle/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
然后
spurce /etc/profile
2.解决jar包冲突
mv $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.jar $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.bak
3.将mysql的jdbc驱动拷贝到hive/lib
cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib
配置元数据
1.新建hive-site.xml并配置metastore,和远程连接metostore服务
vim $HIVE_HOME/conf/hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- jdbc 连接的 URL -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://henghe-051:3306/hive?useSSL=false</value>
</property>
<!-- jdbc 连接的 Driver-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- jdbc 连接的 username-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- jdbc 连接的 password -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<!-- Hive 元数据存储版本的验证 -->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<!--元数据存储授权-->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!-- Hive 默认在 HDFS 的工作目录 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!-- 指定存储元数据要连接的地址 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://henghe-052:9083</value>
</property>
</configuration>
3.登录msyql,创建hive元数据库
mysql -uroot -p123456
mysql> crerate database hive;
mysql> quit;
4.初始化元数据库,在hive/bin目录下
schematool -initSchema -dbType mysql -verbose
5.启动metastore
hive --service metastore
配置JDBC访问hive方式
1.vim hive-site.xml
<!-- 指定 hiveserver2 连接的 host -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>henghe-052</value>
</property>
<!-- 指定 hiveserver2 连接的端口号 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
2. 启动hiveserver2: bin/hive --service hiveserver2
3.启动beeline
bin/beeline -u jdbc:hive2://henghe-052:10000 -n root
还可以添加其他配置:
1. 打印表头和库
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>