DeepOps的hadoop小笔记-HIVE安装ubuntu+virtualbox

00 前期准备

1、已部署好hadoop集群
2、已部署java环境
3、已经安装好mysql

01 下载hive安装文件

https://hive.apache.org/downloads.html

02 修改配置文件

hive-env.sh.template名称为hive-env.sh,一些hive的环境变量内容可以在里面设置。

系统用户环境变量中增加:

export HADOOP_HOME=<hadoop-install-dir>
export HIVE_HOME=<hive-install-dir>
export PATH=$HIVE_HOME/bin:$PATH

环境变量中增加配置HIVE_CONF_DIR路径 可以放在hive-env.sh

export HIVE_CONF_DIR=/opt/module/hive/conf

03 HDFS中创建HIVE目录

$HADOOP_HOME/bin/hadoop fs -mkdir /tmp   
$HADOOP_HOME/bin/hadoop fs -mkdir -p /user/用户名/warehouse   
$HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp   
$HADOOP_HOME/bin/hadoop fs -chmod g+w /user/用户名/warehouse

04 HiveServer2设置

1 使用mysql管理HiveServer2 的metadata

更多HiveServer2设置请参考https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2

2 hive-site.xml的调整

hive-site.xml 直接创建在conf 文件夹中新建,可以根据hive-default.xml.template 文件进行调整。

<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive_schema?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>mysql用户名</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>mysql密码</value>
    <description>password to use against metastore database</description>
  </property>

  
  <property>
    <name>hive.server2.authentication</name>
    <value>NONE</value>
    <description></description>
  </property>

</configuration>

默认设置
hive.server2.thrift.min.worker.threads – Minimum number of worker threads, default 5.
hive.server2.thrift.max.worker.threads – Maximum number of worker threads, default 500.
hive.server2.thrift.port – TCP port number to listen on, default 10000.
hive.server2.thrift.bind.host – TCP interface to bind to.

3 HiveServer2 密码访问设置

core-site.xml

hadoop的配置文件core-site.xml增加如下配置xxx调整为系统用户名,根据登录用户调整

<property>
   <name>hadoop.proxyuser.xxx.hosts</name>
   <value>*</value>
</property>
<property>
   <name>hadoop.proxyuser.xxx.groups</name>
   <value>*</value>
</property>

hive-site.xml

不设置访问密码

  <property>
    <name>hive.server2.authentication</name>
    <value>NONE</value>
    <description></description>
  </property>

05 运行

1 启动hadoop

# 启动dfs
/opsdata/envs/hadoop-3.2.1/sbin/start-dfs.sh

# 启动yarn
/opsdata/envs/hadoop-3.2.1/sbin/start-yarn.sh

2 Running Hive CLI

$ $HIVE_HOME/bin/hive

3 Running HiveServer2 and Beeline

初始化metadata

#  $ $HIVE_HOME/bin/schematool -dbType <db type> -initSchema
  $ $HIVE_HOME/bin/schematool -dbType mysql -initSchema

启动HiveServer2

  $ $HIVE_HOME/bin/hiveserver2
  or
  $ $HIVE_HOME/bin/hive --service hiveserver2

使用beeline链接HiverServer2

  # $HIVE_HOME/bin/beeline -u jdbc:hive2://$HS2_HOST:$HS2_PORT
  $  beeline -u jdbc:hive2://192.168.1.70:10000

4 使用DATAGRIG链接

在这里插入图片描述

06 我遇到的问题处理

hive内依赖的guava.jar和hadoop内的版本不一致
检验方法并解决:
1. 查看hadoop安装目录下share/hadoop/common/lib内guava.jar版本
2. 查看hive安装目录下lib内guava.jar的版本 如果两者不一致,删除版本低的,并拷贝高版本的。

07 扩展阅读与参考资料

hive基本结构与原理:https://support.huaweicloud.com/productdesc-mrs/mrs_08_001101.html
设置HiveServer2 : https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2
官方文档:https://cwiki.apache.org/confluence/display/Hive/GettingStarted
B站小视频:https://www.bilibili.com/video/BV1EZ4y1G7iL

08 后续

1、访问的权限控制,如何设置通过密码访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值