天天看點

ubuntu14.04下Hadoop2.6.0+Hive1.1.1安裝

1.Hive是基于Hadoop建構的一套資料倉庫分析系統,它提供了豐富的SQL查詢方式來分析存儲在Hadoop 分布式檔案系統中的資料。其在Hadoop的架構體系中承擔了一個SQL解析的過程,它提供了對外的入口來擷取使用者的指令然後對指令進行分析,解析出一個MapReduce程式組成可執行計劃,并按照該計劃生成對應的MapReduce任務送出給Hadoop叢集處理,擷取最終的結果。中繼資料——如表模式——存儲在名為metastore的資料庫中。

2.下載下傳http://mirror.bjtu.edu.cn/apache/hive/

解壓到/usr/local/hadoop/hive

3.拷貝mysql-connector-java-5.1.6-bin.jar 到hive 的lib下面

4.将hive下的新版本jline的JAR包拷貝到hadoop下:

cp /usr/local/hadoop/hive /lib/jline-2.12.jar  /usr/local/hadoop /share/hadoop/yarn/lib 并且移除$HADOOP_HOME/share/hadoop/yarn/lib/下的jline-0.9.94.jar檔案

5.gedit ~/.bashrc

#HADOOP VARIABLES START  

export JAVA_HOME=/jdk/jdk1.8.0_91  

export HADOOP_INSTALL=/usr/local/hadoop  

export PATH=$PATH:$HADOOP_INSTALL/bin 

export PATH=$PATH:$JAVA_HOME/bin  

export PATH=$PATH:$HADOOP_INSTALL/sbin 

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL 

export HADOOP_COMMON_HOME=$HADOOP_INSTALL 

export HADOOP_HDFS_HOME=$HADOOP_INSTALL 

export YARN_HOME=$HADOOP_INSTALL 

exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native 

exportHADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib" 

#HADOOP VARIABLES END

#set Hive environment

export HIVE_HOME=/usr/local/hadoop/hive

export PATH=$PATH:$HIVE_HOME/bin

export CLASSPATH=$CLASSPATH:$HIVE_HOME/bin

6.gedit /etc/profile

#set java environment

export JAVA_HOME=/jdk/jdk1.8.0_91

export JRE_HOME=$JAVA_HOME/jre

exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

#set hive

export HIVE_HOME=/usr/local/hadoop/hive

export PATH=$HIVE_HOME/bin:$PATH

7.重命名配置檔案

對conf 目錄下的配置檔案重命名,執行如下指令:

mv hive-env.sh.template hive-env.sh

mv hive-default.xml.template hive-site.xml

8.在hive-env.sh中

HADOOP_HOME=/usr/local/hadoop

export HIVE_CONF_DIR=/usr/local/hadoop/hive/conf

9.修改hive-site.xml

  <property>

    <name>hive.exec.scratchdir</name>

   <value>/usr/local/hadoop/hive/tmp</value>

    <description>HDFS rootscratch dir for Hive jobs which gets created with write all (733) permission.For each connecting user, an HDFS scratch dir:${hive.exec.scratchdir}/&lt;username&gt; is created, with${hive.scratch.dir.permission}.</description>

  </property>

  <property>

   <name>hive.exec.local.scratchdir</name>

   <value>/usr/local/hadoop/hive/tmp</value>

    <description>Local scratchspace for Hive jobs</description>

  </property>

  <property>

   <name>hive.downloaded.resources.dir</name>

   <value>/usr/local/hadoop/hive/tmp</value>

      Maximum number of bytes ascript is allowed to emit to standard error (per map-reduce task).

      This prevents runaway scriptsfrom filling logs partitions to capacity

    </description>

  </property>

  <property>

   <name>hive.metastore.warehouse.dir</name>

   <value>/usr/local/hadoop/hive/warehouse</value>

    <description>location ofdefault database for the warehouse</description>

  </property>

  <property>

   <name>hive.metastore.uris</name>

   <value>thrift://127.0.0.1:9083</value>

    <description>Thrift URIfor the remote metastore. Used by metastore client to connect to remotemetastore.</description>

  </property>

 <property>

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

    <value>true</value>

   <description></description>

  </property>

  <property>

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

   <value>myhive</value>

    <description>password touse against metastore database</description>

  </property>

  <property>

   <name>javax.jdo.option.ConnectionURL</name>  <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExsit=true;characterEncoding=UTF-8</value>

    <description>JDBC connectstring for a JDBC metastore</description>

  </property>

 <property>

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

   <value>myhive</value>

    <description>Username touse against metastore database</description>

  </property>

繼續閱讀