ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • hive , mysql 설치 및 연동
    Data Analysis 2014. 11. 26. 23:17

    hive에 원격 metastore를 mysql로 하기 위한 작업.



    mysql설치


    1. 리눅스에서 설치 명령어

    $apt-get install mysql-server mysql-client


    2. jdbc 


    $ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.27.tar.gz && tar xvzf mysql*.gz

    $ cp mysql-connector-java-5.1.27/*.jar $HIVE_HOME/lib



    3. mysql시작


    sudo service mysql restart

    mysql -u root -p



    4. mysql 계정생성 및 권한부여


    $ mysql -u root -p

    mysql> use mysql

    mysql> insert into user(host,user,password) values('%','hive',password('hive'));

    mysql> Flush privileges;



    $ mysql -u root -p

    mysql> grant all privileges on hive.* to hive@localhost identified by 'hive' with grant option;

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

    mysql> Flush privileges;


    grant all privileges on [database명].* to [username]@[hostname] identified by '[password]' with grant option;

    hive, hive를 가지는 계정을 생성하였다. 


    3. mysql시작 및 로그인


    $sudo service mysql restart

    $mysql -u hive -p


    원격 mysql접속시 명령어

    mysql -h [ip주소] -u [user id] -p


    4. mysql 확인 명령어

    mysql>show databases;

    mysql>show tables;



    Hive설치



    0. 환경변수설정

    $cd .

    $vi .profile


    export HADOOP_HOME=/home/ubuntu/hadoop-1.2.1

    export PATH=$PATH:$HADOOP_HOME/bin

    export HADOOP_VERSION=1.2.1


    export HIVE_HOME=/home/ubuntu/hadoop-1.2.1/apache-hive-0.14.0-bin

    export PATH=$PATH:$HIVE_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


    $source .profile



    1. conf폴더에 필요한 파일들


    cp hive-env.sh hive-env.sh.template



    $ vi $HIVE_HOME/conf/hive-site.xml


    <?xml version="1.0" encoding="UTF-8" standalone="no"?>

    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


    <configuration>

       <property>

         <name>hive.metastore.local</name>

         <value>false</value>

       </property>


       <property>

         <name>javax.jdo.option.ConnectionURL</name>

         <value>jdbc:mysql://localhost:3306/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>[user id]</value>

       </property>


       <property>

         <name>javax.jdo.option.ConnectionPassword</name>

         <value>[user pw]</value>

       </property>

    </configuration>



    2. HDFS설정

    $hadoop fs -mkdir /tmp

    $hadoop fs -mkdir /user/hive/warehouse

    $hadoop fs -chmod a+w /tmp

    $hadoop fs -chmod a+w /user/hive/warehouse

    /tmp/hive는 파일이 삭제됬다 생겼다해서 매번 권한을 설정해주어야 한다. 알아서 오류가 뜬다...




    항상 느끼는 거지만 대부분의 trouble shooting은 오타점검에서 시작된다...

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/ql/CommandNeedRetryException

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf

    hadoop_env.sh에서 classpath 뒤에 HIVE_HOME/lib/* 붙여주면 된다.



    'Data Analysis' 카테고리의 다른 글

    hive, MySQL, sqoop, R wrap up 및 참조 url  (0) 2014.11.29
    windwos 에서 AWS EC2 mysql server로 접속  (1) 2014.11.28
    B310-W2  (0) 2014.11.25
    mapper, reducer  (0) 2014.11.11
    BGP raw data 분석위한 url  (0) 2014.10.30
Designed by Tistory.