Hive 3.1.2安装包地址

安装Hive

下载并解压

  1. # 下载
  2. [hadoop@iZnm201imn18dkgebcpx40Z ~]# cd /opt/software
  3. [hadoop@iZnm201imn18dkgebcpx40Z software]# wget https://repo.huaweicloud.com/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
  4. # 解压到/opt/module文件夹
  5. [hadoop@iZnm201imn18dkgebcpx40Z software]# tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module

配置Hive环境变量

  1. 在/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

  1. 2. 使环境变量生效
  2. ```bash
  3. source /etc/profile.d/my_env.sh
  1. 解决jar包冲突,进入/opt/module/hive-3.1.2/lib

    1. [hadoop@iZnm201qbh8hxwlj3gjqr7Z hive-3.1.2]$ cd lib
    2. [hadoop@iZnm201qbh8hxwlj3gjqr7Z lib]$ pwd
    3. /opt/module/hive-3.1.2/lib
    4. [hadoop@iZnm201qbh8hxwlj3gjqr7Z lib]$ mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak

    配置元数据到MySQL

  2. 将MySQL JDBC驱动拷贝到lib目录下

    1. [hadoop@iZnm201qbh8hxwlj3gjqr7Z lib]$ cp /opt/software/6.Mysql/mysql-connector-java-5.1.27-bin.jar /opt/module/hive-3.1.2/lib/
  3. 配置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”?>

javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/metastore?useSSL=false&useUnicode=true&characterEncoding=UTF-8

  1. <property>
  2. <name>javax.jdo.option.ConnectionDriverName</name>
  3. <value>com.mysql.jdbc.Driver</value>
  4. </property>
  5. <property>
  6. <name>javax.jdo.option.ConnectionUserName</name>
  7. <value>hive</value>
  8. </property>
  9. <property>
  10. <name>javax.jdo.option.ConnectionPassword</name>
  11. <value>hive123456</value>
  12. </property>
  13. <property>
  14. <name>hive.metastore.warehouse.dir</name>
  15. <value>/user/hive/warehouse</value>
  16. </property>
  17. <property>
  18. <name>hive.metastore.schema.verification</name>
  19. <value>false</value>
  20. </property>
  21. <property>
  22. <name>hive.server2.thrift.port</name>
  23. <value>10000</value>
  24. </property>
  25. <property>
  26. <name>hive.server2.thrift.bind.host</name>
  27. <value>localhost</value>
  28. </property>
  29. <property>
  30. <name>hive.metastore.event.db.notification.api.auth</name>
  31. <value>false</value>
  32. </property>
  33. <property>
  34. <name>hive.cli.print.header</name>
  35. <value>true</value>
  36. </property>
  37. <property>
  38. <name>hive.cli.print.current.db</name>
  39. <value>true</value>
  40. </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
  1. 修改元数据字段备注、表备注等相关数据字符集,以防止中文乱码

    #修改表字段注解和表注解
    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;
    
  2. 启动hive测试

    [hadoop@iZnm201qbh8hxwlj3gjqr7Z hive-3.1.2]$ bin/hive
    hive (default)> show databases;
    

    image.png