当前位置:   article > 正文

hive 3.1.2 安装和运行 Install and Run Hive 3.1.2 踩坑_hive3 没有执行文件

hive3 没有执行文件

因为根据hive官网的安装文档没有走通,这里主要是复述官网,同时对不同的地方进行更正。

这里不包含mysql的安装

  • 操作系统是windows 10
  • 虚拟机软件是 vmware workstation pro 16.1(15.x和16.0都会蓝屏)
  • 虚拟机操作系统是ubuntu 16

1 前置安装:(这部分安装附录在末尾)

  • java 1.8
  • hadoop 2.10.1(hive官方文档写推荐hadoop 2.x, 这里找到hadoop下载页,最新的hadoop2.x版本。

2 开始安装(这部分和官网一样)

解压缩安装包

$ tar -xzvf hive-x.y.z.tar.gz

添加hive的bin路径到用户的path(使得可以通过用户的path找到hive的可运行文件)

在~/.bashrc最后添加

export PATH=$PATH:/path/to/hiveBinDirectory # 这里填写自己机器上hive的bin文件夹的路径

3 连接mysql(跟官方文档可跳过)

hive把metastore存储在数据库里,官方文档用的是derby,如果跟着官方文档走,这里可以跳过,笔者因为官方文档走不通,选择的是mysql。

3.1 安装mysql java connector

$ sudo apt-get install libmysql-java

3.2 创建软链接

$ ln -s /usr/share/java/mysql-connector-java.jar $HIVE_HOME/lib/mysql-connector-java.jar

3.3 需要在hive目录下conf文件夹新建hive-site.xml文件

conf/hive-site.xml

  1. <configuration>
  2. <property>
  3. <name>javax.jdo.option.ConnectionURL</name>
  4. <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
  5. <description>metadata is stored in a MySQL server</description>
  6. </property>
  7. <property>
  8. <name>javax.jdo.option.ConnectionDriverName</name>
  9. <value>com.mysql.jdbc.Driver</value>
  10. <description>MySQL JDBC driver class</description>
  11. </property>
  12. <property>
  13. <name>javax.jdo.option.ConnectionUserName</name>
  14. <value>hiveuser</value>
  15. <description>user name for connecting to mysql server</description>
  16. </property>
  17. <property>
  18. <name>javax.jdo.option.ConnectionPassword</name>
  19. <value>hivepassword</value>
  20. <description>password for connecting to mysql server</description>
  21. </property>
  22. </configuration>

这里有几个配置项

mysql的jdbc连接地址,以及mysql用户名密码

我个人踩得一个坑是,

当我填写了下面以后,hive metastore service启动报错: 大概意思需要填写useSSL=false

jdbc:mysql://192.x.x.x:3306/metastore?createDatabaseIfNotExist=true

我就改成了下面这样,注意xml文件里url里的 & 需要写成 &amp; (最后有个分号,别忘了)

jdbc:mysql://192.x.x.x:3306/metastore?createDatabaseIfNotExist=true&amp;useSSL=false

4 启动hiveserver2

我个人主要踩坑在这里,跟着官方文档走,发生错误没有任何提示,笔者所以添加第3步,连接mysql

官方文档是如下

  1. # Starting from Hive 2.1, we need to run the schematool command below as an initialization step.
  2. $ $HIVE_HOME/bin/schematool -dbType derby -initSchema
  3. # run HiveServer2
  4. $ $HIVE_HOME/bin/hiveserver2

可以用以下命令查看hiveserver2是否成功启动

$ netstat -nltp|grep 10000

如果没有成功的话有以下

  1. # 启动metastore (大量日志)
  2. $ hive --service metastore --hiveconf hive.root.logger=INFO,console
  3. # 查看输出是否有报错,或者可以通过检查端口9083来判断有没有成功
  4. $ netstat -nltp|grep 9083
  5. # 初始化schema (大量日志)
  6. $ $HIVE_HOME/bin/schematool -dbType mysql -initSchema -verbose
  7. # 启动hiveserver2 (大量日志)
  8. $ hive --service hiveserver2 --hiveconf hive.server2.thrift.port=10000 --hiveconf hive.root.logger=INFO,console
  9. # 查看输出是否有报错,或者可以通过检查端口10000来判断有没有成功
  10. $ netstat -nltp|grep 10000

我的问题一开始是初始化schema用derby的时候报错,改成mysql以后,是启动metastore的时候有mysql连接 ssl的错误,通过修改jdbc连接的地址来解决

5 前置安装

5.1 jdk 1.8

  1. # 安装 OpenJDK 8
  2. $ sudo apt-get install openjdk-8-jdk

安装以后,可以通过 which java 命令查看安装位置

5.2 hadoop安装

  1. $ sudo apt-get install ssh
  2. $ sudo apt-get install pdsh

解压缩文件,编辑etc/hadoop/hadoop-env.sh,只要能确保 {所填的路径}/bin/java 是java运行路径,我上面安装openjdk8的java在 /usr/bin/java ,这里填的 /usr
 

export JAVA_HOME=

参考文档:

Hive官网 - GettingStarted

hadoop java版本兼容性

hive metastore mysql配置

debug hiveserver2启动问题

debug hiveserver2

ubuntu16安装java

hadoop安装

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

闽ICP备14008679号