zoukankan      html  css  js  c++  java
  • ubantu上搭建hive环境

    上次我们在ubantu上安装了hadoop,那我们现在再进一步,开始我们的学习之旅--hive板块吧!

    第一步:准备!

    软件:

      I、一个搭建好的hadoop环境

      II、hive的bin文件(前往apache官网,参考链接:http://www.apache.org/dyn/closer.cgi/hive/);

      III、MySQL(在ubantu上通过apt-get命令下载, 命令顺序:apt-get update  >>  apt-get install -y mysql-server)

      IV、MySQL的jar包,下载mysql-connector-java-5.1.10-bin.jar(网上找找)

    必要了解:

      hive通过将hadoop结构化的数据文件映射成一张表,将SQL查询解析为mapreduce任务实现统计查询,在大数据中主要干的是数据仓库和离线分析的事儿。hive中的元数据(metastore)存储有多种方式,这里为本地MySQL(hive也有自带的Derby实现)。

    第二步:MySQL配置

      下载MySQL,安装时会要求你输入root密码(我们这里设置为1234)。我们需要做的事情有:创建hive访问MySQL的用户名和密码,hive的metastore存储数据库 

      I、登录MySQL:mysql -uroot -p1234

      II、创建hive元数据存放的数据库以及用户名并赋权限

    mysql > create database hive;
    mysql > GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive';
    mysql > FLUSH
    PRIVILEGES;

      III、将下载的MySQL的jar包(mysql-connector-java-5.1.10-bin.jar)放到/home/shj/hive/lib

    第三步:配置HIVE

      我们需要将配置系统文件和hive配置文件。这一步难点就在hive-site.xml文件

      I、将下载的hive解压到指定目录。这里解压到:/home/shj/hive

      II、使用root账号配置/etc/bash.bashrc文件(也可以用普通账号,作用域不同而已)

       sudo su (输入密码)  >> vim /etc/bash.bashrc  >>(添加信息)export HIVE_HOME=/home/shj/hive  export PATH=$PATH:/home/shj/hive/bin:.

      III、配置/home/shj/hive/conf/hive-site.xml和对应参数说明(新建该文件)

       part1:文件内容

       hive.metastore.warehouse.dir:数据在hdfs中的存储位置

       hive.exec.scratchdir:用于存储不同map/reduce阶段的执行计划和这些阶段的中间输出结果

       javax.jdo.option.CoonectionURL:元数据库的URL

       javax.jdo.option.ConnectionDriverName:JDBC的driver,默认org.apache.derby.jdbc.EmbeddedDriver。我们这里使用的MySQL的JDBC

       javax.jdo.option.ConnectionUserName:链接使用的账号,是我们之前在MySQL中创建的那个

       javax.jdo.option.ConnectionPassword:MySQL中对应账号指定的密码

       part2:路径补充+赋权限

       对于配置文件中的路劲要有,创建他们并赋予权限

        hadoop fs -mkdir -p /usr/hive/warehouse   >>  hadoop fs -chmod 766 /usr/hive/warehouse

        hadoop fs -mkdir -p /usr/hive/tmp   >> hadoop fs -chmod 766 /usr/hive/tmp

    <?xml version="1.0"?>  
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
    
    <configuration>  
    <property>  
      <name>hive.metastore.warehouse.dir</name>  
      <value>/usr/hive/warehouse</value>  
    </property>  
    
    <property>
        <name>hive.exec.scratchdir</name>
        <value>/usr/hive/tmp</value>
        <description>Scratch space for Hive jobs</description>
    </property>
    
    <property>  
      <name>javax.jdo.option.ConnectionURL</name>  
      <value>jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true</value>  
    </property>  
    
    <property>  
      <name>javax.jdo.option.ConnectionDriverName</name>  
      <value>com.mysql.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>  
    </configuration>  

       VI、配置hive运行环境文件:hive-env.sh

        >>  cp /home/shj/hive/conf/hive-env.sh templete /home/shj/hive/conf/hive-env.sh

       >>  在hive-env.sh中添加:export HADOOP_HOME=/home/shj/hadoop

       V、调整jline文件,hive和hadoop的jline版本不同。我们使用hive的jline替换hadoop

        rm /home/shj/hadoop/share/hadoop/yarn/lib/0.9**** 

        cp /home/shj/hive/lib/jline-2.12.jar /home/shj/hadoop/share/hadoop/yarn/lib/

    第四步:执行hive

       >>启动hive的metastore服务:hive --service metastore &

       >>执行输入hive命令,不出问题的话就会有这个图片了。

     

    补充问题说明

       如果执行了hive,报错了,那么肯定是某一步出了问题。以下是我趟过得坑,供参考。

      第一种:执行hive后系统报错,出现问题:Error creating transactional connection factory

        问题是:没有下载MySQL的jar包,需要下载mysql-connector-java-5.1.10-bin.jar,并放在hive安装目录的lib下

      第二种:java.sql.SQLException: Unable to open a test connection to the given database. JDBC url =。。。。name...password

        你在MySQL中设置的用户名和密码与配置文件(hive-site.xml)中的配置存在差异

      第三种:CommunicationsException: Communications link failure

        查看自己的hive-site.xml是否有问题,链接不对。可能和jdbc/mysql/配置文件相关,具体哪一个部分还是要看具体信息

      

    结尾:

    hive都给你整好了,可以自己玩耍了!

    原创博客,转载请注明出处!欢迎邮件沟通:shj8319@sina.com

  • 相关阅读:
    window server2019+vmware16+Ubuntu20部署网站记录
    CentOS7源码安装MySQL
    CentOS7源码安装Python、virtualenv虚拟环境安装、uwsgi安装配置
    CentOS7 源码安装Nginx及Nginx基本管理设置
    Ubuntu 64位桌面版 16.04.1 设置桥接模式和固定静态IP方法
    Windows 下日志保存至Linux rsyslog日志服务器
    python 接参数的一个小坑
    历旧服务器配置注意事项
    gitlab设置邮件通知
    Linux基础篇之目录与文件
  • 原文地址:https://www.cnblogs.com/SunHuaJ/p/7489010.html
Copyright © 2011-2022 走看看