2、Hive安装

安装

  1. 解压hive
    tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/
  2. 重命名
    mv apache-hive-1.2.1-bin/ hive
  3. 复制配置文件
    cp hive-env.sh.template hive-env.sh
  4. 修改配置文件
    export HADOOP_HOME=/opt/module/hadoop-2.8.3
    export HIVE_CONF_DIR=/opt/module/hive/conf
  5. 配置环境变量
    # HIVE_HOME
    export HIVE_HOME=/opt/module/hive
    export PATH=$PATH:$HIVE_HOME/bin
  6. 启动hdfs和yarn
    start-dfs.sh
    start-yarn.sh
  7. 在HDFS上创建/tmp和/user/hive/warehouse两个目录并修改他们的同组权限可写
    hadoop fs -mkdir /tmp
    hadoop fs -mkdir -p /user/hive/warehouse
    hadoop fs -chmod g+w /tmp
    hadoop fs -chmod g+w /user/hive/warehouse

基本操作

  1. 启动hive
    hive
  2. 查看数据库
    show databases;
  3. 打开默认数据库
    use default;
  4. 显示default数据库中的表
    show tables;
  5. 创建一张表
    create table people(id int, name string);
  6. 显示数据库中有几张表
    show tables;
  7. 查看表的结构
    desc people;
  8. 向表中插入数据
    insert into people values(1,"ss");
  9. 查询表中数据
    select * from people;
  10. 退出hive
    quit;

将本地文件导入hive操作

将本地/opt/module/datas/student.txt 这个文件的数据导入到hive的student(id int, name string)表中。
创建表
create table student(id int, name string) row format delimited fields terminated by '\t';
加载数据
load data local inpath '/opt/module/datas/student.txt' into table student;
查询数据
select * from student;

Hive元数据配置到MySql

遇到的问题

Hive的Metastore默认存储在自带的derby数据库中,所以当开多个客户端启动hive,会有异常,如下


hive多窗口启动报错.png

Hive元数据配置到MySql

  1. 复制驱动到/opt/module/hibe/lib/
    cp mysql-connector-java-5.1.27-bin.jar /opt/module/hive/lib/
  2. 在/opt/module/hive/conf目录下创建一个hive-site.xml
    touch hive-site.xml
  3. 复制下面内容到hive-site.xml中



        
          javax.jdo.option.ConnectionURL
          jdbc:mysql://hadoop-100:3306/metastore?createDatabase
IfNotExist=true
          JDBC connect string for a JDBC metastore
        

        
          javax.jdo.option.ConnectionDriverName
          com.mysql.jdbc.Driver
          Driver class name for a JDBC metastore
        

        
          javax.jdo.option.ConnectionUserName
          root
          username to use against metastore database
        

        
          javax.jdo.option.ConnectionPassword
          root
          password to use against metastore database
        

  1. 打开多个客户端测试

你可能感兴趣的:(2、Hive安装)