zoukankan      html  css  js  c++  java
  • Hive(2)-Hive的安装,使用Mysql替换derby,以及一丢丢基本的HQL

     一. Hive下载

    1. Hive官网地址

    http://hive.apache.org/

    2. 文档查看地址

    https://cwiki.apache.org/confluence/display/Hive/GettingStarted

    3. 下载地址

    http://archive.apache.org/dist/hive/

    4. github地址

    https://github.com/apache/hive

    5. 也可以使用我准备好的安装包

    https://pan.baidu.com/s/1Tus7NAV0Scbj9wesQkyr-A 

    二. Hive安装

    1. 上传

    使用FTP工具把apache-hive-1.2.1-bin.tar.gz上传到hadoop100下的的/opt/software目录

    2. 解压

    解压apache-hive-1.2.1-bin.tar.gz到/opt/module/目录

    tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

    3. 重命名

    修改apache-hive-1.2.1-bin.tar.gz的名称为hive-1.2.1

    mv apache-hive-1.2.1-bin/ hive-1.2.1

    4. 配置hive-env

    cd /opt/module/hive-1.2.1/conf
    
    #拷贝一份hive-env.sh.template命名为 hive-env.sh
    cp hive-env.sh.template hive-env.sh

    设置一下HADOOP_HOME和HIVE_CONF_DIR

     

     5. 使用mysql替换掉默认的derby数据库

    由于derby不支持多客户端登录,也就是同一时间只能有一个人操作,这完全就是扯求蛋.所以要替换

    安装前,如果虚机上有mysql了,就不用安装了,如果想重新安装,务必卸载干净

    #查看是否有mysql
    rpm -qa | grep -i mysql
    
    #卸载mysql的安装组件
    sudo rpm -e MySQL-server-5.6.24-1.el6.x86_64
    
    #查找并删除MySQL相关的文件
    sudo find / -name mysql
    
     sudo rm -rf /var/lib/mysql
     sudo rm -rf /usr/lib64/mysql

    使用ftp工具将网盘中的mysql的zip包上传到linux上

    使用unzip解压

    unzip mysql-libs.zip
    cd mysql-libs

    安装mysql的server和client就不再赘述了,记得安装的时候使用sudo,修改root用户的登录host为%,删掉其他三个,也不要忘了update完之后flush privileges;

    安装完后启动mysql server,如果启动失败,试试加上sudo启动

    解压connector

    tar -zxvf mysql-connector-java-5.1.27.tar.gz

    解压完cd进去,将jar拷贝到hive

    cp mysql-connector-java-5.1.27-bin.jar  /opt/module/hive-1.2.1/lib/

     cd到hive的conf目录下,cat一下hive-default.xml.template

     明确说明,要建一个hive-site.xml文件

    vim hive-site.xml

    注意替换mysql的uri和user pwd

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
          <name>javax.jdo.option.ConnectionURL</name>
          <value>jdbc:mysql://hadoop100:3306/metastore?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>root</value>
          <description>username to use against metastore database</description>
        </property>
    
        <property>
          <name>javax.jdo.option.ConnectionPassword</name>
          <value>qwe123</value>
          <description>password to use against metastore database</description>
        </property>
    </configuration>

    6. 配置log的存放目录

    Hive的log默认存放在/tmp/nty/hive.log目录下(当前用户名下)

    1). 修改/opt/module/hive/conf/hive-log4j.properties.template文件名称为hive-log4j.properties

     mv hive-log4j.properties.template hive-log4j.properties

    2). 在hive-log4j.properties文件中修改log存放位置,

     三. Hive初体验

    首先启动Hadoop集群

    #hadoop100上启动hdfs
    sbin/start-dfs.sh
    
    #hadoop101上启动yarn
    sbin/start-yarn.sh

    接下来基本就像操作mysql一样了

    有一个default库

    空库,没有表,那就创建一个

    create table namelist (id int, name string);

    插入一条数据

    insert into namelist (id, name) values (1,'tom');

    完完全全就是一个MapReduce程序,慢到下跪.

     查询一下

    简单的操作基本就是这样,跟mysql没有差太多.

  • 相关阅读:
    CodeDeploy 应用程序规范文件
    Lambda 函数的最佳实践
    路由策略
    AWS CodeStar
    使用 Lambda@Edge 在边缘站点自定义内容
    Step Functions
    将应用程序部署到 AWS Elastic Beanstalk 环境
    DynamoDB 静态加密
    web数据安全——防篡改
    【Spring】spring全局异常处理即全局model数据写入
  • 原文地址:https://www.cnblogs.com/duoduotouhenying/p/10133175.html
Copyright © 2011-2022 走看看