Hive設置配置学習ノート

6711 ワード

転載は出典Sprigs Spaceを明記してください。http://springsfeng.iteye.com
 
1.まずMySQLをインストールして、rootアカウントのパスワードを変更して、rootアカウントを使って次のコマンドを実行してください。
      ス-ロト
      mysql
      GRANT ALL PRIVILE GES ON*.*TO'root'@'localhost'IDENTIFIED BY'root'WITH GRANT OPTTION; 
2.  Hiveを作成するユーザ:rootアカウントを使って以下のコマンドを実行します。
      ス-ロト
      mysql-uroot-p
      CREATE USER'hive'@'local host'IDENTIFIED BY'hive' 
      CREATE USER'hive'@'linux-fdc.linux.com'IDENTIFIED BY'hive' 
      CREATE USER'hive'@'192.168.1.251'IDENTIFIED BY'hive' 
 
      CREATE DATABASE metastore;      CREATE DATABASE metastore DEFAULT CHARACT SET lati 1 DEFAULT COLLATE latin 1_swedishci; 
            GRANT ALL PRIVILE GES ON metastore.*TO'hive'@'localhost'IDENTIFIED BY'hive'WITH GRANT OPTTION; 
      GRANT ALL PRIVILE GES ON metastore.*TO'hive'@'192.168.1.251'IDENTIFIED BY'hive'WITH GRANT OPTTION;        flash prvieges
3.  MySQLスクリプトをインポート
     hiveアカウントを使ってログイン:
     mysql-uhive-p-h 192.168.1.251
     mysql;use metastore;     Database changed     mysql>source/opt/custom/hive-00.11.0/scripts/metastore/uplgrade/mysql/hive-schema-010.mysql.sql
4.  Hiveインストールの設定
     (1)コンパイル:現在のHive-01.11.0-NAPSHOTバージョンに対して
     最新のHiveソースのパッケージをダウンロードします。hive-trunk.zip、解凍します。
     build.properties、中: 
...
hadoop-0.20.version=0.20.2
hadoop-0.20S.version=1.1.2
hadoop-0.23.version=2.0.3-alpha
...
    他の依存パッケージのバージョンを修正したいなら、変更してください。ivyディレクトリの下のlibries.propertiesファイル、例えばhbaseを修正します。
    のバージョン:
    ...
    guava-hadoop 23.version=11.0.2    hbase.version=0.94.6    jackson.version=1.8.8
    ...
    現在のディレクトリで実行:
     ant tar-Dforress t.home=/usr/custom/apache-forress t-0.9
     その中で、forrest.homeは参考します。http://springsfeng.iteye.com/admin/blogs/1734557の第一部であり、
     第3小節
     (2)  解圧:コンパイル後のbuildからCopy hive-00.11.0-NAPSHOT.tar.gz至:/usr/custom/そして解凍します。
     (3)  環境変数の設定:
     exprot HIVE_HOME=/usr/custom/hive-00.11.0     exprot PATH=$HIVE_HOME/bin:$PATH
     (4)プロファイル:
     confディレクトリ下の.templateをコピーして対応する.xmlまたは.propertiesファイルを生成します。     cp hive-default.xml.template hive-sitee.xml     cp hive-logs 4 j.properties.template hive-logs 4 j.properties
     (5)hive-config.shを設定する:      
...
#
# processes --config option from command line
#

export JAVA_HOME=/usr/custom/jdk1.6.0_43
export HIVE_HOME=/usr/custom/hive-0.11.0
export HADOOP_HOME=/usr/custom/hadoop-2.0.3-alpha


this="$0"
while [ -h "$this" ]; do
  ls=`ls -ld "$this"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if expr "$link" : '.*/.*' > /dev/null; then
    this="$link"
  else
    this=`dirname "$this"`/"$link"
  fi
done
...
    (6)設定ログhive-log 4 j.properties:0.0.0バージョンに対する特別処理。
     org.apache.hadoop.metrics.jvm.EventCounterを変更します。org.apphe.hadoop.log.metrics
     .EventCounter、このように異常を解決します。
     WARNING:org.apache.hadoop.metrics.jvm.EventCounteris deprecated.       Please use org.apache.hadoop.logs.metrics.EventCounter in all the logs 4 j.properties files.
     (7)hive-siteファイルを作成する:
<configuration>

	<!-- WARNING!!! This file is provided for documentation purposes ONLY! -->
	<!-- WARNING!!! Any changes you make to this file will be ignored by Hive. -->
	<!-- WARNING!!! You must make your changes in hive-site.xml instead. -->

	<!-- Hive Execution Parameters -->
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://localhost:3306/metastore_db?createDatabaseIfNotExist=true</value>
		<description>
			JDBC connect string for a JDBC metastore.
			     value                ,  HiveClient  :
			FAILED: Error in metadata: java.lang.RuntimeException: Unable 
			to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
		</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>hive</value>
		<description>username to use against metastore database</description>
	</property>

	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>hive</value>
		<description>password to use against metastore database</description>
	</property>

	<property>
		<name>hive.metastore.uris</name>
		<value>thrift://linux-fdc.linux.com:8888</value>
		<description>
			Thrift uri for the remote metastore. Used by metastore
			client to connect to remote metastore.
		</description>
	</property>

</configuration>
    (8)MySQL-Connect-Javaの設定
    mysql-connector-java-51.22-bin.jarをダウンロードして/usr/custom/hive-01.11.0/libディレクトリの下に置いて、さもなくば実行します。
    show tables;コマンド時のヒントはConnection Driver Nameが見つからないです。
5.起動使用
    (1)起動    binディレクトリに入ると、実行コマンド:hive   (2)現在のライブラリと表を確認する   show databases;  //デフォルト:default   show tables;   (3)表示例の作成
   この部分は私自身のテストです。テストデータは添付ファイルを参照してください。
      CREATE TABLE cite(citing INT、cited INT)   ROW FOREMAT DELIMITED   FIEDS TERMNATED BY'   STORED AS TEXTFILE;        CREATE TABLE cite_count(cited INT、count INT);        INSERT OVERWRITE TABLE cite_count   SELECT cited,COUNT(citing)   FROM cite   GROUTP BY cited        SELECT*FROM cite_count WHERE count>10 LIMIT 10;        CREATE TABLEメッセージ(name STRING、birthday INT)   ROW FOREMAT DELIMITED   FIEDS TEMINATED BY'\t'   LINE TERMNATED BY'   STORED AS TEXTFILE;        CREATE TABLE age_out(birthday INT、birthday-ucount INT)   ROW FOREMAT DELIMITED   FIEDS TEMINATED BY'\t'   LINE TERMNATED BY'   STORED AS TEXTFILE;   (4)テーブル構造を確認する   desribe cite;   (5)データのロード   hive>LOAD DATA LOCAL INPATH'/home/kevin/Dockments/age.txt'OVERWRITE INTO TABLE age;