liunx-hive

1.说明

  1. hive 是hadoop的客户端,所以,安装一个就可以了

2. 注意

  1. 安装 hive 之前必须已经安装过数据库 (我这里安装是mysql)

3.安装配置

  1. 修改hadoop的配置

    1. 修改hadoop中的 mapred-site.xml(添加)
        
            mapreduce.jobhistory.address
            server1:10020
        
        
            mapreduce.jobhistory.webapp.address
            server1:19888
        
    
    2. core-site.xml
        
            hadoop.proxyuser.root.hosts
            *
        
        
            hadoop.proxyuser.root.groups
            *
        
    
  2. hive配置

    1. 解压
      tar -zxvf apache-hive-2.1.1-bin.tar.gz
    
    2. 配置环境变量
      1. 打开配置文件
          vim /etc/profile
      2. 内容
          export HIVE_HOME=/apache-hive-2.1.1-bin
          export PATH=$PATH:$HIVE_HOME/bin
      3. 刷新
          source /etc/profile
    
    3. 在 hive的根目录下创建文件夹
       1. 进入根目录
          cd /apache-hive-2.1.1-bin
          
       2. 创建temp 文件
           mkdir temp
           
       3. 设置temp的权限
           chmod 777 temp/
    
    4. 进入hive 的conf目录
      cp hive-default.xml.template hive-site.xml
      cp hive-env.sh.template hive-env.sh
    
    5. 修改配置(notepad++)
      1. hive-site.xml
          1. 把 ${system:java.io.tmpdir} 用 创建的tmp(/apache-hive-2.1.1-bin/temp)路径替换(所有的都替换)
          2. 把${system:user.name} 用${user.name} 替换(所有的都替换)
          3. 修改数据库
              1. 把name为 javax.jdo.option.ConnectionURL 的value 值修改为
                  jdbc:mysql://192.168.63.110:3306/hive?useSSL=false
              2. 把 name 为 javax.jdo.option.ConnectionDriverName 的 value 值 改为 com.mysql.jdbc.Driver
              3. 把 name 为 javax.jdo.option.ConnectionUserName 的 value 值 改为 root
              4. 把 name 为 javax.jdo.option.ConnectionPassword 的 value 值 改为 123456
          4. 把 name 为 hive.metastore.schema.verification 的 value 值 改为 false
          5. name 为 hive.server2.authentication 的值一定为 NONE
    
      2. hive-env.sh
          HADOOP_HOME=[hadoop的根路径]  /hadoopServer/haoop-2.7.1
          export HIVE_CONF_DIR=[hive的配置文件路径]   /apache-hive-2.1.1-bin/conf
          export HIVE_AUX_JARS_PATH=[hive的jar路径]  /apache-hive-2.1.1-bin/lib
    
    6. 把mysql的驱动包(mysql-connector-java-5.1.40.jar) 放入hive的jar目录下
    
    7. 启动 hadoop
      1. 在HFDS 中创建两个路径
           1. hadoop fs -mkdir -p  /user/hive/warehouse
           2. hadoop fs -mkdir -p  /tmp/hive
      
      2. 设置权限
          1. hadoop fs -chmod -R 777 /tmp
          2. hadoop fs -chmod -R 777 /user
    
    8. 删除hive的 jar中的log
      find log*
      rm -rf log4j-slf4j-impl-2.4.1.jar
    
    9. 在hive的根目录下执行
      cd  /apache-hive-2.1.1-bin
      bin/schematool -initSchema -dbType mysql 
    

4. 使用和操作

  1. 启动
    hive
    
  2. 操作
    1. 数据库
        1. 创建
            create database scott;
            
        2. 删除
            drop database scott;
    2. 表
        1. 创建
            create table scott.dept(
            deptno string,
            dname string,
            loc string
            )
            row format delimited fields terminated by ','
            lines terminated by '\n'
            location '/user/hive/warehouse/scott.db/dept';  
    3. 导入数据
        1. 生成 csv文件
        2. 在hive中使用
                1. 从本地加载
                    load data local inpath '/tmp/dept.csv' into table  scott2.dept;
                    
                2. 从HFDS上加载
                    load data  inpath '/tmp/dept.csv' into table  scott2.dept;
    

5. hiveServer2

  1. 作用

    1. 可以使hive的操作界面为mysql的操作页面
    2. 可以使用jdbc连接,就可以使用Java代码操作
  2. 启动

    hive --service hiveserver2 &
    
  3. 连接

    1. 不用输入密码
        beeline -u jdbc:hive2://localhost:10000
    
    2. 输入密码
        beeline 
        !connect jdbc:hive2://localhost:10000
        输入账号 hadoop
        输入密码 hadoop
    

你可能感兴趣的:(liunx-hive)