Hive安装配置

Hive

hive具有sql数据库的外表,但应用场景完全不同,hive只适合用来做批量数据统计分析。

  • Hive的数据存储
    • Hive中的所有数据都存储在HDFS中,没有专门的数据存储格式(支持Text,SequenceFile,ParquetFile、RCFILE等)
    • 只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,hive就可以解析数据。
    • hive中包含以下数据模型:DB、Table、External Table、Partition、Bucket:
      • db:在hdfs中表现为${hive.metastore.warehouse.dir}目录下的一个文件夹
      • table:在hdfs中表现为所属db目录下一个文件夹
      • external table:外部表,与table类似,不过其数据存放位置可以任意执行路径
      • 普通标:删除表后,hdfs上的文件都删了
      • partition:在hdfs中表现为table目录下的子目录
      • bucket:桶,在hdfs中表现为同一个表目录下根据hash散列止呕胡的多个文件,会根据不同的文件把数据放在不同的文件中。
  • 安装配置

    • 配置HIVE_HOME环境变量 vi conf/hive-env.sh 配置其中的$hadoop_home
    • 配置元数据库信息 vi hive-site.xml
    • 安装hive和mysq完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下
    • 如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)mysql -uroot -p,执行下面的语句 (.:所有库下的所有表 %:任何IP地址或主机都可以连接)
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;FLUSH PRIVILEGES;

    hive-site.xml:

     <configuration>
        <property>
        <name>javax.jdo.option.ConnectionURLname>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=truevalue>
        <description>JDBC connect string for a JDBC metastoredescription>
        property>

        <property>
        <name>javax.jdo.option.ConnectionDriverNamename>
        <value>com.mysql.jdbc.Drivervalue>
        <description>Driver class name for a JDBC metastoredescription>
        property>

        <property>
        <name>javax.jdo.option.ConnectionUserNamename>
        <value>rootvalue>
        <description>username to use against metastore databasedescription>
        property>

        <property>
        <name>javax.jdo.option.ConnectionPasswordname>
        <value>rootvalue>
        <description>password to use against metastore databasedescription>
        property>
    configuration>
  • 启动方式:
    • 启动为前台:bin/hiveserver2
    • 启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &
    • 启动成功后,可以在别的节点上用beeline去连接:
      • 方式1:hive/bin/beeline,进入beeline的命令界面
        • 输入命令连接Hiveserver:beeline> !connect jdbc:hive2://mini1:10000
      • 或者启动就连接:“`bin/beeline -u jdbc:hive2://mini1:10000 -n hadoop

Jline包版本不一致的问题,需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的
/home/hadoop/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar

你可能感兴趣的:(Hadoop)