当前位置:   article > 正文

Windows10安装Hive3.1.2_windows安装hive3.1.2

windows安装hive3.1.2

目录

基本环境资源

第一步:下载Hive.tar.gz

第二步:配置Hive 全局环境变量

第三步:Hive 配置文件

第四步: 新建本地目录

第五步:Hive的配置文件(hive-site.xml 和hive-env.sh)

 第六步:在hadoop上创建hdfs目录

第七步:创建Hive 初始化依赖的数据库hive

第八步:启动Hive 服务

 第九步:测试

遇到的问题

问题一:Hive 执行数据初始化(hive --service metastore),总是报错。

问题二:%HIVE_HOME%/bin启动hive --service hiveserver2报错


基本环境资源

Hadoop:3.3.0

Hive:3.1.2.bin.tar.gz 版本

第一步:下载Hive.tar.gz

官网下载地址:https://dlcdn.apache.org/hive/,嫌慢可以在CSDN上找我的资源https://download.csdn.net/download/xieedeni/24882711,官方地址下载真的慢!

第二步:配置Hive 全局环境变量

解压Hive.tar.gz 至指定文件夹目录,HIVE_HOME和修改path增加hive的bin路径

注意:Hive 的Hive_x.x.x_bin.tar.gz 版本在windows 环境中缺少 Hive的执行文件和运行程序。

解决版本:下载低版本Hive(apache-hive-1.0.0-src),下载地址http://archive.apache.org/dist/hive/hive-1.0.0/,将bin 目录替换目标对象(D:\work\soft\apache-hive-3.1.2-bin)原有的bin目录。

截图如下:apache-hive-1.0.0-src\bin 目录 结构

 下载和拷贝一个mysql-connector-java-8.0.x.jar$HIVE_HOME/lib目录下:

mysql-connector-java-8.0.21.jar 下载地址:https://dev.mysql.com/downloads/file/?id=496589

第三步:Hive 配置文件

配置文件目录%HIVE_HOME%\conf有4个默认的配置文件模板拷贝成新的文件名

hive-default.xml.template             ----->       hive-site.xml
hive-env.sh.template                     ----->             hive-env.sh
hive-exec-log4j.properties.template     ----->    hive-exec-log4j2.properties
hive-log4j.properties.template             ----->    hive-log4j2.properties

第四步: 新建本地目录

后面配置文件用到,my_hive文件夹,在这个文件夹下建scratch_dir,resources_dir,querylog_dir,operation_logs_dir

第五步:Hive的配置文件(hive-site.xml 和hive-env.sh)

编辑conf\hive-site.xml 文件

  1. <!--hive的临时数据目录,指定的位置在hdfs上的目录-->
  2. <property>
  3. <name>hive.metastore.warehouse.dir</name>
  4. <value>/user/hive/warehouse</value>
  5. <description>location of default database for the warehouse</description>
  6. </property>
  7. <!--hive的临时数据目录,指定的位置在hdfs上的目录-->
  8. <property>
  9. <name>hive.exec.scratchdir</name>
  10. <value>/tmp/hive</value>
  11. <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
  12. </property>
  13. <!-- scratchdir 本地目录 -->
  14. <property>
  15. <name>hive.exec.local.scratchdir</name>
  16. <value>D:/work/soft/apache-hive-3.1.2-bin/my_hive/scratch_dir</value>
  17. <description>Local scratch space for Hive jobs</description>
  18. </property>
  19. <!-- resources_dir 本地目录 -->
  20. <property>
  21. <name>hive.downloaded.resources.dir</name>
  22. <value>D:/work/soft/apache-hive-3.1.2-bin/my_hive/resources_dir/${hive.session.id}_resources</value>
  23. <description>Temporary local directory for added resources in the remote file system.</description>
  24. </property>
  25. <!-- querylog 本地目录 -->
  26. <property>
  27. <name>hive.querylog.location</name>
  28. <value>D:/work/soft/apache-hive-3.1.2-bin/my_hive/querylog_dir</value>
  29. <description>Location of Hive run time structured log file</description>
  30. </property>
  31. <!-- operation_logs 本地目录 -->
  32. <property>
  33. <name>hive.server2.logging.operation.log.location</name>
  34. <value>D:/work/soft/apache-hive-3.1.2-bin/my_hive/operation_logs_dir</value>
  35. <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
  36. </property>
  37. <!-- 数据库连接地址配置 -->
  38. <property>
  39. <name>javax.jdo.option.ConnectionURL</name>
  40. <value>jdbc:mysql://127.0.0.1:3306/hive?serverTimezone=UTC&amp;useSSL=false&amp;allowPublicKeyRetrieval=true</value>
  41. <description>
  42. JDBC connect string for a JDBC metastore.
  43. </description>
  44. </property>
  45. <!-- 数据库驱动配置 -->
  46. <property>
  47. <name>javax.jdo.option.ConnectionDriverName</name>
  48. <value>com.mysql.cj.jdbc.Driver</value>
  49. <description>Driver class name for a JDBC metastore</description>
  50. </property>
  51. <!-- 数据库用户名 -->
  52. <property>
  53. <name>javax.jdo.option.ConnectionUserName</name>
  54. <value>root</value>
  55. <description>Username to use against metastore database</description>
  56. </property>
  57. <!-- 数据库访问密码 -->
  58. <property>
  59. <name>javax.jdo.option.ConnectionPassword</name>
  60. <value>123456</value>
  61. <description>password to use against metastore database</description>
  62. </property>
  63. <!-- 解决 Caused by: MetaException(message:Version information not found in metastore. ) -->
  64. <property>
  65. <name>hive.metastore.schema.verification</name>
  66. <value>false</value>
  67. <description>
  68. Enforce metastore schema version consistency.
  69. True: Verify that version information stored in is compatible with one from Hive jars. Also disable automatic
  70. schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures
  71. proper metastore schema migration. (Default)
  72. False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.
  73. </description>
  74. </property>
  75. <!-- 自动创建全部 -->
  76. <!-- hive Required table missing : "DBS" in Catalog""Schema" 错误 -->
  77. <property>
  78. <name>datanucleus.schema.autoCreateAll</name>
  79. <value>true</value>
  80. <description>Auto creates necessary schema on a startup if one doesn't exist. Set this to false, after creating it once.To enable auto create also set hive.metastore.schema.verification=false. Auto creation is not recommended for production use cases, run schematool command instead.</description>
  81. </property>

编辑(hive-env.sh 文件)

  1. # Set HADOOP_HOME to point to a specific hadoop install directory
  2. export HADOOP_HOME=D:\work\soft\apache-hive-3.1.2-bin
  3. # Hive Configuration Directory can be controlled by:
  4. export HIVE_CONF_DIR=D:\work\soft\apache-hive-3.1.2-bin\conf
  5. # Folder containing extra libraries required for hive compilation/execution can be controlled by:
  6. export HIVE_AUX_JARS_PATH=D:\work\soft\apache-hive-3.1.2-bin\lib

 第六步:在hadoop上创建hdfs目录

  1. hadoop fs -mkdir /tmp
  2. hadoop fs -mkdir /user/
  3. hadoop fs -mkdir /user/hive/
  4. hadoop fs -mkdir /user/hive/warehouse
  5. hadoop fs -chmod g+w /tmp
  6. hadoop fs -chmod g+w /user/hive/warehouse

或者使用命令:

  1. hdfs dfs -mkdir /tmp
  2. hdfs dfs -chmod -R 777 /tmp

第七步:创建Hive 初始化依赖的数据库hive

注意编码格式:latin1

第八步:启动Hive 服务

上面的准备工作做完之后,可以进行Hive的元数据库初始化,在%HIVE_HOME%/bin目录下执行下面的脚本:

hive --service metastore

失败了

提示配置文件3215行错误

成功后应该是这样的

 

再执行语句

hive

或者调出CMD输入命令hive.cmd 

 第九步:测试

执行一个语句测试一下吧:

create table stu(id int,name string);

http://localhost:50070/explorer.html#/user/hive/warehouse 查看一下

说明安装成功了。

到此,安装HIVE成功!!

遇到的问题

问题一:Hive 执行数据初始化(hive --service metastore),总是报错。

解决思路:通过Hive 自身携带的脚本,完成Hive 数据库的初始化。

Hive 携带脚本的文件位置(%HIVE_HOME%\scripts\metastore\upgrade),选择执行SQL的版本,如下截图:

选择需要执行的Hive版本(Hive_x.x.x)所对应的sql 版本(hive-schema-x.x.x.mysql.sql)

说明:我选择Hive版本时3.1.2,所以我选项的对应sql 版本hive-schema-3.1.0.mysql.sql 脚本。

拿到mysql里执行即可。

问题二:%HIVE_HOME%/bin启动hive --service hiveserver2报错

org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000.

所以对hive-site.xml做以配置:

  1. <property>
  2. <name>hive.server2.thrift.http.port</name>
  3. <value>10001</value>
  4. </property>
  5. <property>
  6. <name>hive.server2.thrift.port</name>
  7. <value>10005</value>
  8. </property>

又报错

hive-site.xml搜索:<name>hive.server2.active.passive.ha.enable</name>

成功了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/399904
推荐阅读
相关标签
  

闽ICP备14008679号