Mac上配置Hive3.1.0

在安装好了MySQL之后设置Hive用户

进入mysql命令行,创建Hive用户并赋予所有权限:

mysql -uroot -proot

mysql>set password=password('root');

mysql>create user 'hive' identified by 'hive';

mysql>grant all on *.* TO 'hive'@'%' with grant option;

mysql>flush privileges;

mysql>quit;

使用hive用户登录,创建Hive数据库:

mysql -uhive -phive

mysql>create database hive;

在创建hive的时候可能会出现:

ERROR 3680 (HY000): Failed to create schema directory 'hive' (errno: 13 - Permission denied)

需要提升权限:sudo  chown -R mysql:mysql /usr/local/mysql/data

mysql>show databases;

在下载好hive  

brew install hive

进入到hive的安装目录之下的conf目录之下  编辑hive-env.sh(首先将所有后缀为.template的文件复制一遍,新文件名称只需要去掉.template即可)

配置hive-env.xml

HADOOP_HOME:Hadoop根目录

HIVE_CONF_DIR:Hive配置文件夹

HIVE_AUX_JARS_PATH:Hive依赖jar包的路径

# Set HADOOP_HOME to point to a specific hadoop install directory
 HADOOP_HOME=/usr/local/Cellar/hadoop/3.1.1

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/local/Cellar/hive/3.1.0/libexec/conf

# Folder containing extra libraries required for hive compilation/execution can be controlled by:
 export HIVE_AUX_JARS_PATH=/usr/local/Cellar/hive/3.1.0/libexec/lib

配置hive-site.xml 

cp hive-default.xml.template   hive-site.xml

在配置文件中找到以下几个property修改value

我自己的配置文件为

 <property>
       <name>system:java.io.tmpdir</name>
      <value>/usr/local/Cellar/hive/tmp</value>
 </property>
 <property>
      <name>system:user.name</name>
      <value>${user.name}</value>
 </property>
 <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;serverTimezone=GMT&amp;useSSL=false</value>
  </property>
  <property>
            <name>javax.jdo.option.ConnectionDriverName</name>
            <value>com.mysql.cj.jdbc.Driver</value>
  </property>
  <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>hive</value>
 </property>
 <property>
            <name>javax.jdo.option.ConnectionPassword</name>
            <value>hive</value>
 </property>

1️⃣468行的thrift://localhost:9083

 <property>
     <name>hive.metastore.uris</name>
     <value>thrift://localhost:9083</value>
     <description>hive默认为derby数据库,derby数据只运行单个用户进行连接,这里需要调整为mysql 
      数据库 Used by metastore client to connect to remote metastore.
     </description    
</property>

2️⃣585行的ConnectionPassword修改为你自己MySQL数据库对应的ConnectionPassword

<property>

     <name>javax.jdo.option.ConnectionPassword</name>

     <value>mine</value>

     <description>password to use against metastore database</description>

   </property>

3️⃣在594行的ConnectionURL修改为你自己MySQL数据库对应的URL

<property>

     <name>javax.jdo.option.ConnectionURL</name>

     <value>jdbc:derby:;databaseName=metastore_db;create=true</value>

</property>

4️⃣在799行的hive.metastore.schema.verification value值改为false

<property>

     <name>javax.jdo.option.ConnectionURL</name>

     <value>jdbc:derby:;databaseName=metastore_db;create=true</value>

</property>

5️⃣在1104行的ConnectionDriverName修改为你自己MySQL数据库驱动

<property>   

    <name>javax.jdo.option.ConnectionDriverName</name>

    <value>org.apache.derby.jdbc.EmbeddedDriver</value>

</property>

6️⃣在1123行的ConnectionUserName修改为你自己MySQL数据库用户名

 <property>

  <name>javax.jdo.option.ConnectionUserName</name>

    <value>APP</value>

 </property>
 <property>
      <name>system:java.io.tmpdir</name>
      <value>/usr/local/Cellar/hive/tmp</value>
     </property>
     <property>
      <name>system:user.name</name>
      <value>${user.name}</value>
 </property>

 

7️⃣在hive-site.xml的前面直接加入下面这段,其中/usr/local/Cellar/hive/tmp路径自己创建

 <property>
      <name>system:java.io.tmpdir</name>
      <value>/usr/local/Cellar/hive/tmp</value>
     </property>
     <property>
      <name>system:user.name</name>
      <value>${user.name}</value>
 </property>

注意事项:

①自己需要将mysql-connector-java的jar包拷贝到 hive的lib目录之下 我的lib目录是 /usr/local/Cellar/hive/3.1.0/libexec/lib/

②hive需要配置到全局变量中,我的是在 .bash_profile中,配置之后需要source .bash_profile

③自己最后配置的时候没有使用metastore模式,也没有启动metastore

④其他错误看写的其他文章

登录hive,在hive创建表并查看该表,命令如下:

hive

hive>create table test(a string, b int);

hive>show tables;

hive>desc test;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zhangvalue

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

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

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

打赏作者

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

抵扣说明:

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

余额充值