当前位置:   article > 正文

hive(二) -- hive部署_启动hive元数据

启动hive元数据

启动元数据服务

  1. # 前台启动
  2. hive --service metastore
  3. # 元数据服务会一直在前台运行,需要克隆一个session进行其他操作 或者使用ctrl+z将它挂起到后台
  4. # 后台启动
  5. hive --service metastore &
  6. # 在后台启动 若退出终端 则会退出
  7. nohup hive --service metastore &
  8. # 这种方式 即使退出终端 服务也会继续运行 启动日志会在当前目录下的 nohup.out中
  9. nohup hive --service metastore 1>/dev/null 2>1 &
  10. # 这种方式将 启动日志 写入到黑洞 不显示任何内容
  11. # /dev/null :代表空设备文件
  12. # > :代表重定向到哪里,例如:echo "123" > /home/123.txt
  13. # 1 :表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
  14. # 2 :表示stderr标准错误输出
  15. # & :表示等同于的意思,2>&1,表示2的输出重定向等同于1
  16. # 1>/dev/null:首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
  17. # 2>&1:接着,标准错误输出重定向标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
  18. # 检查启动额端口
  19. # 端口存在说明元数据服务启动成功
  20. netstat -nltp | grep 9083

命令行客户端

Hive发展至今,总共历经了两代客户端工具。

第一代客户端( deprecated不推荐使用)︰$HIVE_HOME/bin/hive,是一个shellUtil。主要功能∶一是可用于以交互或批处理模式运行Hive查询;二是用于Hive相关服务的启动,比如metastore服务。

第二代客户端( recommended推荐使用)∶$HIVE_HOME/bin/beeline,是一个JDBC客户端,是官方强烈推荐使用的Hive命令行工具,和第一代客户端相比,性能加强安全性提高。

第一代客户端Hive

本地访问

  1. # 先启动元数据服务 注意如果已经启动不能再次启动 会报错
  2. nohup hive --service metastore &
  3. # 启动后直接使用hive命令即可
  4. # 进入后可以使用正常的SQL语句.
  5. # 退出客户端的命令
  6. exit;
  7. quit;

远程访问

  1. # 我们是远程连接模式是可以使用其他计算机来进行访问的.
  2. # 如果使用其他计算机访问 首先这台计算机需要安装hive
  3. # linux02 和 linux03 上传 hive的压缩包并解压
  4. # linux02
  5. tar -zxf apache-hive-3.1.2.tar.gz
  6. mv apache-hive-3.1.2-bin/ /opt/apps/hive-3.1.2/
  7. rm -rf apache-hive-3.1.2.tar.gz
  8. scp -r /opt/apps/hive-3.1.2 linux03:/opt/apps/
  9. # 这里只需要配置 hive-env.sh
  10. # linux02 linux03
  11. cp /opt/apps/hive-3.1.2/conf/hive-env.sh.template /opt/apps/hive-3.1.2/conf/hive-env.sh
  12. vim /opt/apps/hive-3.1.2/conf/hive-env.sh
  13. export HADOOP_HOME=/opt/apps/hadoop-3.1.1
  14. export HIVE_CONF_DIR=/opt/apps/hive-3.1.2/conf
  15. export HIVE_AUX_JARS_PATH=/opt/apps/hive-3.1.2/lib
  16. vim /opt/apps/hive-3.1.2/conf/hive-site.xml
  17. # 需要在hive-site.xml中配置 元数据服务的地址 其他什么都不需要配置了
  18. <configuration>
  19. <property>
  20. <name>hive.metastore.uris</name>
  21. <value>thrift://linux01:9083</value>
  22. </property>
  23. </configuration>
  24. # 之后就可以直接访问
  25. # 注意若没有配置hive环境变量 则需要到/opt/apps/hive-3.1.2/bin 下使用hive命令
  26. cd /opt/apps/hive-3.1.2/bin
  27. ./hive

第二代客户端Beeline

本地访问

  1. # 先启动Metastore服务 如果已经启动可以忽视
  2. nohup hive --service metastore &
  3. # 然后才启动hiveserver2服务 端口号10000 在hive-site.xml中进行的配置
  4. nohup hive --service hiveserver2 &
  5. # 启动后可以使用 来进行验证 检查10000端口
  6. netstat -nltp | grep 10000
  7. # 查看WEB页面http://linux01:10002/
  8. # 使用beeline命令 进入后输入相关连接的uri
  9. !connect jdbc:hive2://linux01:10000
  10. # 需要输入用户名 root 密码为空 不输入 直接回车
  11. # 退出命令 !quit 或者直接ctrl+c
  12. # 也可以直接以下命令进行连接
  13. # beeline -u jdbc:hive2://linux01:10000 -n root

远程访问

  1. # 使用其他计算机访问的话首先保证 linux01的Metastore和 hiveserver2都已经启动
  2. # linux02 和 linux03 上传 hive的压缩包并解压
  3. # linux02
  4. tar -zxf apache-hive-3.1.2.tar.gz
  5. mv apache-hive-3.1.2-bin/ /opt/apps/hive-3.1.2/
  6. rm -rf apache-hive-3.1.2.tar.gz
  7. scp -r /opt/apps/hive-3.1.2 linux03:/opt/apps/
  8. # 这里只需要配置 hive-env.sh
  9. # linux02 linux03
  10. cp /opt/apps/hive-3.1.2/conf/hive-env.sh.template /opt/apps/hive-3.1.2/conf/hive-env.sh
  11. vim /opt/apps/hive-3.1.2/conf/hive-env.sh
  12. export HADOOP_HOME=/opt/apps/hadoop-3.1.1
  13. export HIVE_CONF_DIR=/opt/apps/hive-3.1.2/conf
  14. export HIVE_AUX_JARS_PATH=/opt/apps/hive-3.1.2/lib
  15. # 由于不直接访问Metastore 所以不需要配置hive-site.xml 直接使用beeline正常访问即可

非交互式操作

不进入到hive中 直接执hql语句或者hql文件 ,执行完毕后返回linux命令行

使用 –e 参数来直接执行hql的语句

hive -e "show databases;"

使用 –f 参数通过指定文本文件来执行hql的语句

  1. vi a.sql
  2. show databases;
  3. # 执行sql文件
  4. hive -f a.sql
  5. # 执行sql文件 将执行结果写入到另一个文件中
  6. hive -f a.sql > b.sql

Hive可视化工具

DBeaver和idea都可以对hive进行连接
都需要添加jdbc驱动
DBeaver社区版,开源免费.
idea提示很好

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号