zoukankan      html  css  js  c++  java
  • HIVE安装

    一·

    1.hive只需要安装在 hadoop主节点上
    tar -zxvf  hive-1.1.0-cdh5.5.2.tar.gz
    2.
    [root@h91 ~]# vi /etc/profile或者   .bash_profile
    添加
    export HIVE_HOME=/home/hadoop/hive-1.1.0-cdh5.5.2
    export HADOOP_HOME=/home/hadoop/hadoop-2.6.0-cdh5.5.2
    export PATH=$HIVE_HOME/bin:$PATH

    3.hive配置文件
    [hadoop@h91 ~]$ cd hive-0.9.0-bin/bin/
    [hadoop@h91 bin]$ vi hive-config.sh
    添加
    export JAVA_HOME=/usr/jdk1.7.0_25
    export HIVE_HOME=/home/hadoop/hive-1.1.0-cdh5.5.2
    export HADOOP_HOME=/home/hadoop/hadoop-2.6.0-cdh5.5.2


    [hadoop@h91 ~]$ cd hive-0.9.0-bin/conf/
    [hadoop@h91 conf]$ cp hive-default.xml.template hive-default.xml
    [hadoop@h91 conf]$ cp hive-default.xml.template hive-site.xml
    (hive-default.xml用于保留默认配置,hive-site.xml用于个性化配置,可覆盖默认配置)

    4.启动hive
    [hadoop@h91 bin]$ ./hive
    Logging initialized using configuration in jar:file:/home/hadoop/hive-0.9.0-bin/lib/hive-

    common-0.9.0.jar!/hive-log4j.properties
    Hive history file=/tmp/hadoop/hive_job_log_hadoop_201504261237_1850268663.txt

    二·

    默认情况下,hive元数据保存在derby数据库中,智能允许一个会话连接,只适合做测试。为了支持多用

    户多会话,则需要一个独立的元数据库,配置mysql作为元数据库。

    1.安装mysql

    源码安装:或者 yum -y install mysql*

    二、【必须依赖包】


    rm -rf /etc/yum.repos.d/*

    cat <<EOF > /etc/yum.repos.d/base.repo
    [Base]
    name=base
    baseurl=file:///mnt/Server
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    EOF




    mount /dev/cdrom /mnt

    yum install -y  make* gcc* ncurses-devel* gcc-c++*


    三、

    1.安装cmake


    (mysql5.5以后是通过cmake来编译的)

    下载解压cmake-2.8.5.tar.gz

    wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz

    tar zxf /tmp/cmake-2.8.12.2.tar.gz -C /usr/local/src

    cd /usr/local/src/cmake-2.8.12.2/

    ./configure --prefix=/usr/local/cmake

    echo $?

    make && make install
     
    echo $?

    export PATH=/usr/local/cmake/bin:$PATH


    2.安装mysql

    下载地址:http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz

     groupadd mysql

     useradd -s /sbin/nologin -g mysql mysql

    cd /tmp

     tar xf /tmp/mysql-5.6.17.tar.gz

     cd /tmp/mysql-5.6.17

    cmake
    -DCMAKE_INSTALL_PREFIX=/app/mysql
    -DMYSQL_DATADIR=/app/mysql/data
    -DMYSQL_UNIX_ADDR=/app/mysql/data/mysql.sock
    -DENABLED_LOCAL_INFILE=1
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_ARCHIVE_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    -DWITH_FEDERATED_STORAGE_ENGINE=1
    -DWITH_EXAMPLE_STORAGE_ENGINE=1
    -DWITH_PARTITION_STORAGE_ENGINE=1
    -DWITH_MYISAM_STORAGE_ENGINE=1
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
    -DMYSQL_TCP_PORT=3306
    -DEXTRA_CHARSETS=all
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci
    -DMYSQL_USER=mysql
    -DWITH_DEBUG=0


    *********************z编译参数说明******************

    cmake

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   #安装的根目录

    -DMYSQL_DATADIR=/usr/local/mysql/data     #数据存放目录

    -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock #UNIX socket文件

    -DENABLED_LOCAL_INFILE=1 #启用加载本地数据

    -DWITH_INNOBASE_STORAGE_ENGINE=1    #支持InnoDB引擎

    -DWITH_ARCHIVE_STORAGE_ENGINE=1     #支持ARCHIVE引擎

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1   #支持BLACKHOLE引擎

    -DWITH_FEDERATED_STORAGE_ENGINE=1   #支持FEDERATED引擎
         
    -DWITH_EXAMPLE_STORAGE_ENGINE=1     #支持EXAMPLE引擎
       
    -DWITH_PARTITION_STORAGE_ENGINE=1   #支持PARTITION引擎

    -DWITH_MYISAM_STORAGE_ENGINE=1      #支持MYISAM引擎

    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 #支持PERFSCHEMA引擎

    -DMYSQL_TCP_PORT=3306   #对外开放的默认端口

    -DEXTRA_CHARSETS=all #支持所有扩展字符支持

    -DDEFAULT_CHARSET=utf8 #默认字符集为utf8  latin

    -DDEFAULT_COLLATION=utf8_general_ci #默认字符校对utf8

    -DMYSQL_USER=mysql      #指定mysql启动用户

    -DWITH_DEBUG=0    #调试模式

    **************************************************

    # make && make install


    # chown -R mysql.mysql /app/mysql


    # cd /app/mysql/scripts/


    # ./mysql_install_db --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data #初始化mysql数据库,#指定mysql数据文件的存放位置


    # cd ..


    # cd support-files/


    # cp mysql.server /etc/rc.d/init.d/mysql


    # cp my-default.cnf /etc/my.cnf


    # chkconfig --add mysql


    # chkconfig mysql on


    # service mysql start


    # ln -s /app/mysql/bin/* /usr/bin/



    mysqladmin -u root password 'mysql' #设置数据库root密码为mysql#


    mysql -u root -pmysql


    删除test和匿名帐户

    mysql> DROP DATABASE test;

    mysql> DELETE FROM mysql.user WHERE user = '';

    mysql> FLUSH PRIVILEGES;

    修改配置文件
    vi /etc/my.cnf

    [mysqld]
    datadir=/app/mysql/data
    socket =/app/mysql/data/mysql.sock
    lower_case_table_names=1        
    character-set-server=utf8
    collation-server=utf8_general_ci


    [client]
    default-character-set=utf8
    socket =/app/mysql/data/mysql.sock

    【 mysqladmin: connect to server at 'localhost' failed
    error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
    Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!】

    [mysql.server]
    user=mysql
    basedir=/app/mysql
    default-character-set=utf8

    [mysqld_safe]
    err-log=/app/mysql/errlog/mysqld.log


    service mysql restart

    三·

    2.为hive简历相应mysql用户

    mysql> create user 'hive' identified by 'mysql';
    mysql> grant all privileges on *.* to 'hive'@'%' with grant option;
    mysql> grant all privileges on *.* to hive@h201 identified by 'mysql';
    mysql> flush privileges;


    3.建立hive专用的元数据库
    [root@hadoop110 /]# mysql -h 192.168.121.132 -u hive -p
    Enter password:

    mysql> create database hive;


    4.hive中配置
    [hadoop@hadoop110 ~]$ cd hive-1.1.0-cdh5.5.2/conf/
    [hadoop@hadoop110 conf]$ vi hive-site.xml
    添加:
    <property>
      <name>hive.metastore.local</name>
      <value>true</value>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://192.168.121.132:3306/hive?characterEncoding=UTF-8</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>mysql</value>
    </property>


    5.把msql的JDBC复制到hive的lib下
    [hadoop@hadoop110 ~]$ cp mysql-connector-java-5.1.5-bin.jar hive-1.1.0-cdh5.5.2/lib/

    6.验证
    hive> show tables;
    hive> create table hehe(id int,name string)
              row format delimited
              fields terminated by ' '
              stored as textfile;

    [hadoop@hadoop110 ~]$ mysql -h 192.168.121.132 -u hive -p
    mysql> use hive
    mysql> show tables;
    mysql> select * from TBLS;
    (能看到新建的hehe表)

  • 相关阅读:
    音频电路设计中的基本知识(-)
    Usart的单线半双工模式(stm32F10x系列)
    RTS与CTS的含义
    NetBIOS与Winsock编程接口
    debian下使用gitosis+gitweb搭建SSH认证的git服务器
    解决:无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
    Windows Azure Storage Client Library 2.0 入门
    Windows Azure Table Storage 解决 Guid 查询问题
    EF 报【序列包含一个以上的元素】解决办法
    javascript技巧大全套
  • 原文地址:https://www.cnblogs.com/jieran/p/9033957.html
Copyright © 2011-2022 走看看