Hive 3.1.2安装包地址
安装Hive
下载并解压
# 下载[hadoop@iZnm201imn18dkgebcpx40Z ~]# cd /opt/software[hadoop@iZnm201imn18dkgebcpx40Z software]# wget https://repo.huaweicloud.com/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz# 解压到/opt/module文件夹[hadoop@iZnm201imn18dkgebcpx40Z software]# tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module
配置Hive环境变量
- 在/etc/profile.d/my_env.sh文件中添加 ```bash sudo vim /etc/profile.d/my_env.sh
HIVE_HOME
export HIVE_HOME=/opt/module/hive-3.1.2 export PATH=$PATH:$HIVE_HOME/bin
2. 使环境变量生效```bashsource /etc/profile.d/my_env.sh
解决jar包冲突,进入/opt/module/hive-3.1.2/lib
[hadoop@iZnm201qbh8hxwlj3gjqr7Z hive-3.1.2]$ cd lib[hadoop@iZnm201qbh8hxwlj3gjqr7Z lib]$ pwd/opt/module/hive-3.1.2/lib[hadoop@iZnm201qbh8hxwlj3gjqr7Z lib]$ mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak
配置元数据到MySQL
将MySQL JDBC驱动拷贝到lib目录下
[hadoop@iZnm201qbh8hxwlj3gjqr7Z lib]$ cp /opt/software/6.Mysql/mysql-connector-java-5.1.27-bin.jar /opt/module/hive-3.1.2/lib/
配置Metastore到MySQL,在/opt/module/hive-3.1.2/conf/文件夹新建hive-site.xml文件,填入xml内容(注意:配置xml文件不能包含&符号) ```bash [hadoop@iZnm201qbh8hxwlj3gjqr7Z lib]$ cd /opt/module/hive-3.1.2/conf/ [hadoop@iZnm201qbh8hxwlj3gjqr7Z conf]$ vim hive-site.xml
<?xml version=”1.0”?> <?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?>
<property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>hive</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>hive123456</value></property><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><property><name>hive.metastore.schema.verification</name><value>false</value></property><property><name>hive.server2.thrift.port</name><value>10000</value></property><property><name>hive.server2.thrift.bind.host</name><value>localhost</value></property><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property><property><name>hive.cli.print.header</name><value>true</value></property><property><name>hive.cli.print.current.db</name><value>true</value></property>
3. 初始化元数据-新建表
```bash
# 登录MySQL
mysql -uroot -p
# 创建metastore数据库
create database metastore;
# 如果配置文件里配置的连接MySQL的用户名不是root,则添加对应权限
GRANT ALL PRIVILEGES ON metastore.* TO 'Your username'@'localhost' IDENTIFIED BY 'your password';
# 刷新权限
flush privileges;
# 推出MySQL
quit
回到终端界面,初始化元数据
schematool -initSchema -dbType mysql -verbose
修改元数据字段备注、表备注等相关数据字符集,以防止中文乱码
#修改表字段注解和表注解 alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8; alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8; #修改分区字段注解 alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8; alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8; #修改索引注解 alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;启动hive测试
[hadoop@iZnm201qbh8hxwlj3gjqr7Z hive-3.1.2]$ bin/hive hive (default)> show databases;
