Ubuntu下安装hive,并配置mysql作为元数据库

10 篇文章 0 订阅
9 篇文章 0 订阅

一、安装hive

1. 下载并解压hive源程序

sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/local   # 解压到/usr/local中
cd /usr/local/
sudo mv apache-hive-1.2.1-bin hive       # 将文件夹名改为hive
sudo chown -R dblab:dblab hive            # 修改文件权限
mkdir -p /usr/local/hive/warehouse       # 创建元数据存储文件夹
sudo chmod a+rwx /usr/local/hive/warehouse

2. 配置环境变量
为了方便使用,我们把hive命令加入到环境变量中去,编辑~/.bashrc文件vim ~/.bashrc,在最前面一行添加:

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

保存退出后,运行source ~/.bashrc使配置立即生效。
3. 启动hive

 hive   //启动hive

使用Derby作为元数据库时登陆
注意:到这里,我们其实已经安装好了hive,但是是默认的derby作为元数据库,这会带来麻烦,后面会提到。


4. 修改/usr/local/hive/conf下的hive-site.xml
这个文件是不存在的,只需将hive-default.xml.template保留一个副本,副本重命名为hive-site.xml,源文件可以重命名为hive-default.xml。在副本中,删除原内容,粘贴如下代码:

<?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?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

二、安装并配置mysql

1.Ubuntu下 mysql的安装请参考Ubuntu安装MySQL及遇到的问题解决方案
2.下载mysql jdbc 包,下载地址:mysql-connector-java-x.x.x-bin.jar

tar -zxvf mysql-connector-java-5.1.40.tar.gz   //解压
cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar  /usr/local/hive/lib //将mysql-connector-java-5.1.40-bin.jar拷贝到/usr/local/hive/lib目录下

3. 启动并登陆mysql shell

 service mysql start //启动mysql服务
 mysql -u root -p  //登陆shell界面

4. 新建hive数据库。用来保存hive的元数据:create database hive; 这个hive数据库与localhost:3306/hive中的hive对应
5. 配置mysql允许hive接入:

grant all on hive.* to hive@localhost identified by 'hive' 
//将hive数据库下的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码
flush privileges  //刷新mysql系统权限关系表

6. 启动hive

 hive  //启动hive

使用mysql作为元数据库时登陆


使用默认的derby作为元数据库,带来的麻烦。

很多初学者安装hive使用的是默认元数据库derby,这里面容易遇到下面问题:
安装好了hive 环境,建表后关闭连接窗口,再重新进表就不见了,这是哪里配置的不对?
1.命令行键入hive后创建表
2.在show tables; 显示表列表,上面显示刚才创建的表
3.把窗口关闭,再重新开个窗口连接服务器,键入hive ,然后show tables,表看不到了

为什么会找不到创建的表,这个并没有消失,而是你的位置不对。
A.如果我们在/home下面进入hive,那么我们的metastore_db,就会产生在home目录下。
B.如果我们在/usr目录下进入hive,那么我们的metastore_db,就会产生在usr目录下。
所以如果你更换了目录启动hive,那么之前的创建的表你是找不到的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值