Linux环境下部署Hive3.1.1

前置依赖部署

Linux环境下Hadoop3.2.0集群部署-CSDN博客

Linux环境下部署MySQL8数据库-CSDN博客

1、下载安装包:apache-hive-3.1.1-bin.tar.gz

上传至linux系统/usr/local/soft/路径

2、解压软件

cd /usr/local/soft/
tar -zxvf apache-hive-3.1.1-bin.tar.gz

3、修改系统环境变量

vim /etc/profile

添加内容:

export HIVE_HOME=/usr/local/soft/apache-hive-3.1.1-bin
export PATH=$PATH:$HADOOP_HOME/sbin:$HIVE_HOME/bin

保存:

source /etc/profile

4、修改hive环境变量

cd /usr/local/soft/apache-hive-3.1.1-bin/bin/

编辑hive-config.sh文件

vi hive-config.sh

新增内容:

export JAVA_HOME=/usr/local/soft/jdk1.8.0_11
export HIVE_HOME=/usr/local/soft/apache-hive-3.1.1-bin
export HADOOP_HOME=/usr/local/soft/hadoop-3.2.0
export HIVE_CONF_DIR=/usr/local/soft/apache-hive-3.1.1-bin/conf

5、拷贝hive配置文件

cd /usr/local/soft/apache-hive-3.1.1-bin/conf/
cp hive-default.xml.template hive-site.xml

6、修改Hive配置文件,找到对应的位置进行修改

可以直接全部替换

<configuration>
  <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>root</value>
    <description>Username to use against metastore database</description>
  </property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root123</value>
    <description>password to use against metastore database</description>
  </property>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop100:3306/hive?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=GMT</value>
    <description>
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
  </property>
  <property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
    <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>
  </property>
<property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
    <description>
      Enforce metastore schema version consistency.
      True: Verify that version information stored in is compatible with one from Hive jars.  Also disable automatic
            schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures
            proper metastore schema migration. (Default)
      False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.
    </description>
  </property>
<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/usr/local/soft/apache-hive-3.1.1-bin/tmp/${user.name}</value>
    <description>Local scratch space for Hive jobs</description>
  </property>
  <property>
<name>system:java.io.tmpdir</name>
<value>/usr/local/soft/apache-hive-3.1.1-bin/iotmp</value>
<description/>
</property>

  <property>
    <name>hive.downloaded.resources.dir</name>
<value>/usr/local/soft/apache-hive-3.1.1-bin/tmp/${hive.session.id}_resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property>
<property>
    <name>hive.querylog.location</name>
    <value>/usr/local/soft/apache-hive-3.1.1-bin/tmp/${system:user.name}</value>
    <description>Location of Hive run time structured log file</description>
  </property>
  <property>
    <name>hive.server2.logging.operation.log.location</name>
<value>/usr/local/soft/apache-hive-3.1.1-bin/tmp/${system:user.name}/operation_logs</value>
    <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
  </property>
  <property>
    <name>hive.metastore.db.type</name>
    <value>mysql</value>
    <description>
      Expects one of [derby, oracle, mysql, mssql, postgres].
      Type of database used by the metastore. Information schema &amp; JDBCStorageHandler depend on it.
    </description>
  </property>
  <property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
    <description>Whether to include the current database in the Hive prompt.</description>
  </property>
  <property>
    <name>hive.cli.print.header</name>
    <value>true</value>
    <description>Whether to print the names of the columns in query output.</description>
  </property>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    <description>location of default database for the warehouse</description>
  </property>
<property>  
  <name>hive.metastore.uris</name>  
  <value>thrift://192.168.1.100:9083</value>  
</property>  
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop100</value>
    </property>

    <property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    </property>
</configuration>

7、上传mysql驱动包到/usr/local/soft/apache-hive-3.1.1-bin/lib/文件夹下

驱动包:mysql-connector-java-8.0.15.zip,解压后从里面获取jar包

8、确保 mysql数据库中有名称为hive的数据库,字符集须设置latin1,否则的话hive表删除会卡死

9、初始化初始化元数据库

 schematool -dbType mysql -initSchema

10、确保Hadoop启动

hadoop100上执行以下命令

start-all.sh

11、启动hive

启动元数据服务 (另起shell窗口)

hive --service metastore

另起shell窗口 

hive

12、检测是否启动成功

show databases;

13、启动beeline 

启动hiveserver2服务(另起shell窗口)

hive --service hiveserver2

启动beeline客户端 

beeline -u jdbc:hive2://hadoop100:10000 -n root

注意:先执行 hive --service metastore 再执行 hiveserver2 命令 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数智侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值