ホームページ  >  記事  >  バックエンド開発  >  Hive 1.2.1&Spark&Sqoop インストール ガイド_PHP チュートリアル

Hive 1.2.1&Spark&Sqoop インストール ガイド_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:58:261088ブラウズ

Hive 1.2.1&Spark&Sqoop インストール ガイド

Hive 1.2.1&Spark&Sqoop インストール ガイド_PHP チュートリアルHive 1.2.1&Spark&Sqoop インストール ガイド.pdf

目次 1

1. 規約 2

3.ポート2

4. MySQL 2 をインストールします

4.2. Hive メタデータ データベースを作成します

5. インストール手順 4

5.1. Hive 5 をインストールします

5.3. MySQL -Connector 5

のインストール 5.4. 構成の変更 5

5.4.2. その他の構成ファイルの変更 5

5.4.2.1. -env.sh 6

5.4.2.2. hive-site.xml を変更します6

5.4.2.3. hive-log4j.properties を変更します7

5.4.2.4. hive-exec-log4j.properties を変更します。 7

7. HSQL のリモート実行 8

9. Spark との統合 9

11. sqoop の変更env.11.2.11.13記事については、「Hive0.12.0 インストール ガイド」を参照してください。内容は公式からのものです: GettingStarted、Hadoop2.7.1 に Hive1.2.1 をインストールします。この記事では、Hive をサーバー モードに構成し、メタデータ データベースとして MySQL を使用し、MySQL にリモートで接続します。

Hadoop2.7.1のインストールについては、記事「Hadoop-2.7.1分散インストールマニュアル」を参照してください。

2. 同意

この記事は、Hadoop が /data/hadoop/current にインストールされ、Hive1.2.1 がディレクトリ /data/hadoop/hive (実際には /data/hadoop/hive-1.2 を指している) にインストールされることに同意します。 1 ビン ソフト リンク)。 MySQL5.7.10をディレクトリ/data/mysqlにインストールします。実際のインストールおよび展開中に、他のディレクトリを指定できます。

3. サービスポート

10000

hive.server2.thrift.port、hiveserver2の実行時に開始されます

9083

hive.metastore.uris、ハイブを実行 --servicemetastore が開始します

4. MySQL をインストールします

単一の MySQL には単一点の問題があるため、アクティブ MySQL モードとバックアップ MySQL モードで構成する必要があります。

4.1. MySQL をインストールする

この記事の MySQL は 172.25.39.166 マシンにインストールされているため、MySQL を最初にインストールする必要があります。最新の MySQL5.7.10 はここにインストールされます。ダウンロード URL は http://dev.mysql.com/downloads/mysql/ です。この記事では、「Linux-Generic」の下の「Linux-Generic(glibc2.5)(」を選択します。 x86,64-bit),CompressedTARArchive"、そのバイナリ インストール パッケージの名前は mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz です。

バイナリ インストール パッケージを解凍すると、INSTALL-BINARY という名前のファイルが表示されます。このファイルは、基本的に MySQL のインストール方法を説明しています。

公式に提供されているバイナリ インストール パッケージでは、コンパイル中に指定される "--prefix" は "/usr/local/mysql" であるため、mysql を /usr/local ディレクトリにインストールするのが最善です。そうしないと、インストール プロセスが簡単に実行されます。問題に遭遇します。ただし、ディレクトリとして指定されたデータ ディレクトリは、十分な大きさのパーティションの下に作成します。

もちろん、データ ディレクトリは、十分な大きさのパーティション ディレクトリへのソフト リンクにすることもできます。それ以外の場合は、mysql コマンドを使用するときに、多くの場合、パラメーター「--datadir」を指定する必要があります。 mysqld、mysqld_safe、mysql_ssl_rsa_setup など。「--datadir」を指定する必要があります。

/usr/local/mysql にインストールされていない場合は、--basedir、--character-sets-dir、-- language、--lc-messages-dir、--plugin-dir などを指定する必要がありますmysqld 値のその他のパラメータ。

root ユーザーとしてインストールできない場合は、--slow-query-log-file、--socket、--pid-file、--plugin-dir、- などのパラメーター値も指定する必要があります。 mysqld の -general-log-file。

これらのパラメータのデフォルト値は、MySQL の「bin/mysqld --verbose --help」を実行することで確認できます。

#MySQL のインストール ディレクトリは /usr/local/mysql で、データ ディレクトリは実際には /data/mysql/data です

#インストールできない場合は、MySQL を root ユーザーとしてインストールする必要があることに注意してください。 root ユーザーとしてインストールすると、簡単にインストールの問題が発生する可能性があります

#5.7.6 より前のバージョンのインストールは若干異なることに注意してください。

#新しいmysqlユーザーグループ

groupaddmysql

#新しいmysqlユーザーを作成し、Linuxログインユーザーとして使用できないように設定します

useradd-r-gmysql-s/bin/falsemysql

#mysql インストール ディレクトリに移動します

cd/usr/local

#バイナリ インストール パッケージを解凍します

tarxzfmysql-5.7.10-linux-glibc2.5-x86_64.tar.gz

#簡単なバージョンに依存しない短いリンクを覚えておいてください

ln -smysql-5.7.10-linux-glibc2.5-x86_64mysql

#mysqlディレクトリに入ります

cdmysql

#データディレクトリを作成します

mkdir -p /data/mysql/data

#データディレクトリのソフトリンクを作成し、/usr/local/mysql/data を /data/mysql/data

ln-s/data/mysql/data/usr/local/mysql にポイントさせます/data

#ディレクトリ権限を設定します

chmod770/data/mysql/data

chown-Rmysql/data/mysql/data

chgrp-Rmysql/data/mysql/data

chown-Rmysql.

chグループ-Rmysql.

#初期化 (正常に実行されました mysqld の完了後、一時的な root パスワードが提供されます。覚えておいてください)

# また、一時的なパスワードは期限切れになるため、root パスワードを変更する必要があることにも注意してください。可能です

# MySQLCli に入ったら、次のコマンドを実行して新しいパスワードに変更します :

#SETPASSWORDFOR'root'@'localhost'=PASSWORD('new_password');

bin/mysqld--initialize--user =mysql--explicit_defaults_for_timestamp

#SSL をインストールして設定する

bin/mysql_ssl_rsa_setup

#ディレクトリ権限をリセットする

chown-Rroot.

chown-Rmysql/data/mysql/data

#mysqlを始める

bin/mysqld_safe--user=mysql&

#ポートが起動されているかどうかを確認します (構成を変更せず、パラメーター --port を指定しないでください。デフォルトのポート番号は 3306 です)

netstat-lpnt |grep3306

#MySQL を停止

support-files/mysql.serverstop

#mysql を設定するとシステムが自動的に起動します

cpsupport-files/mysql.server/etc/init.d/mysql.server

上記はすべて MySQL のデフォルト設定です。カスタマイズする必要がある場合は、my .cnf ファイルを変更して実現できます。 MySQL5.7.10 には my.cnf はなく、support-files/my-default.cnf のみがあります。

コマンド「support-files/my-default.cnf」を実行すると、MySQL が my.cnf を検索する順序が /etc/my.cnf/etc/mysql/my.cnf/usr であることがわかります。 /local/mysql /etc/my.cnf~/.my.cnf なので、my-default.cnf のコピーを作成して、次のように変更できます。 cpsupport-files/my-default.cnf/etc/my .cnf。

4.2. Hive メタデータベースを作成する

データベース ハイブを作成する:

createdatabaseifnotexistshive;

データベース ユーザー ハイブを作成します:

createuserhiveidentifiedby'hive2016';

データベース ハイブにアクセスできる IP とユーザーを承認します。ここで、ローカルホストの実際の IP は 172.2 です。 5.39.16 6 :

2)非ネイティブエントリ:mysql-uhive-h172.25

grantallonhive.*to'hive'@'localhost'identifiedby'hive2016';

grantallonhive.*to'hive'@'172.25.39.166'identifiedby'hive2016'; by'ハイブ2016 ';ハイブデータベースに入る:

1)ネイティブエントリ:mysql-uhive-phive2016

MySQL マスター間同期またはその他の同期が設定されている場合、同期されたライブラリに mysql が含まれていない場合は、ライブラリとユーザーの作成を別の MySQL で一度行う必要があることに注意してください。

5. インストール手順

5.1. Hive1.2.1 バイナリ インストール パッケージをダウンロードします

ダウンロード URL: http://hive.apache.org/downloads.html、ダウンロードされたパッケージ名は: apache-hive-1.2.1 -bin.tar.gz を選択し、apache-hive-1.2.1-bin.tar.gz を /data ディレクトリにアップロードします。

5.2. Hive をインストールします

1) /data ディレクトリに切り替えます: cd/data

2) バイナリ インストール パッケージを解凍します: tarxzfapache-hive-1.2.1-bin.tar.gz

3) 名前を変更します: mvapache -hive-1.2.1-binhive-1.2.1

4) ソフトリンクを作成します: ln-shive-1.2.1hive

5.3. MySQL-Connector をインストールします

MySQL-Connector のダウンロード URL: http:// dev.mysql .com/downloads/connector/。

「Connector/J」を選択し、「PlatformIndependent」を選択します。この記事のダウンロードは「mysql-connector-java-5.1.38.tar.gz」です。

圧縮パッケージ「mysql-connector-java-5.1.38.tar.gz」の中にmysql-connector-java-5.1.38-bin.jarがあります。解凍後、mysql-connector-java-5.1.38-となります。 bin .jar は Hive の lib ディレクトリにアップロードされます。これは MySQL 用の JDBC ドライバーです。

5.4. 設定を変更します

5.4.1. /etc/profile または ~/.profile を変更します

環境変数 HIVE_HOME を設定し、Hive を PATH に追加します:

exportHIVE_HOME=/data/hadoop/ hive

exportPATH=$HIVE_HOME/bin:$PATH

5.4.2. 他の設定ファイルを変更します /data/hadoop/hive/conf ディレクトリに入ると、次の内容が表示されます: hadoop@VM-40-171-sles10-64:~/hive/conf>lshive-default.xml.templatehive-exec-log4j.properties.template

hive-env.sh.templatehive-log4j.properties . template

cphive-env.sh.templatehive-env.shcphive-default.xml にコピーして名前を変更します。 templatehive -site.xml

4 つのテンプレート ファイルが表示され、設定ファイル

cphive-log4j.properties.templatehive-log4j.properties

cphive-exec-log4j.properties.templatehive-exec-log4j.properties

HADOOP_HOME=/data/hadoop/current

5.4.2.1。 sh

HADOOP_HOME 環境変数がまだ設定されていない場合は、hive-env.sh で設定できます:

5.4.2.2. hive-site.xml を変更します

1) javax.jdo.option.ConnectionURL を変更します

値を次のように設定します:

jdbc:mysql://172.25.39.166:3306/hive?useSSL=false,

「useSSL=false」や、characterEncoding=UTF-8 などの他のパラメータの追加に注意してください。

2) javax.jdo.option.ConnectionDriverName を変更します

値を com.mysql.jdbc.Driver に設定します。

3) javax.jdo.option.ConnectionUserName を変更します

値を、Hive データベースへのアクセスに使用するユーザー名 hive に設定します: hive

4) javax.jdo.option.ConnectionPassword を変更します

ハイブ データベースにアクセスするためのパスワードとして値を設定します: hive2016

5) hive.metastore.schema.verification を変更します

この値は状況に応じて変更する必要があります。

6) hive.zookeeper.quorum

を変更し、値を 10.12.154.77、10.12.154.78、10.12.154.79 に設定します。ZooKeeper はこれら 3 つのマシンにインストールされています。マシンの廃止により IP が変更される可能性があるため、IP の代わりにマシン名を使用することをお勧めします。

7) hive.metastore.uris

を変更し、値を thrift://172.25.40.171:9083 に設定します。9083 は Hive メタデータの RPC サービス ポートです。

8) hive.metastore.warehouse.dir を変更します

値を /data/hadoop/hive/warehouse に設定します。開始する前にディレクトリ (mkdir/data/hadoop/hive/warehouse) を作成する必要があることに注意してください。

9) hive.server2.thrift.bind.host を変更します

他のマシンから Hive にリモートでアクセスする必要がある場合は、この値を 172.25 に変更する必要があります。 .40.171 と考えてよいでしょう。

10) hive.exec.scratchdir を変更します

このステップはオプションであり、デフォルト値 /tmp/hive を直接使用できます。 /data/hadoop/hive/tmp などに設定し、ディレクトリを作成します。

11) hive.exec.local.scratchdir

を /data/hadoop/hive/tmp/scratch などに変更し、ディレクトリを作成します。

12) hive.downloaded.resources.dir

を /data/hadoop/hive/tmp/resources などに変更し、ディレクトリを作成します。

13) hive.querylog.location

を /data/hadoop/hive/tmp/querylog などに変更し、ディレクトリを作成します。

14) hive.server2.logging.operation.log.location

を /data/hadoop/hive/tmp/operation などに変更し、ディレクトリを作成します。

5.4.2.3. hive-log4j.properties を変更する

ログ ファイルの保存ディレクトリを変更し、ログ ディレクトリを /tmp/${user.name} から /data/hadoop/hive/logs に変更します。

hive.log.dir=/data/hadoop/hive/logs 次に、ディレクトリ /data/hadoop/hive/logs を作成します。

5.4.2.4. hive-exec-log4j.properties を変更する

ログ ファイルの保存ディレクトリを変更し、ログ ディレクトリをデフォルトの /tmp/${user.name} から /data/hadoop/hive/logs/exec に変更します。 :

hive.log.dir=/data/hadoop/hive/logs/exec

次に、ディレクトリ /data/hadoop/hive/logs/exec を作成します。

6. 起動して実行します

1) メタストアを初期化します

インストールと構成後、Hive サーバーを起動する前に、サーバー上で「schematool-dbTypemysql-initSchema」を実行してメタストアの初期化を完了する必要があります。

MySQL のマスター間同期が設定されている場合、1 台のハイブ マシンでのみ実行する必要があります。繰り返し実行するとエラーが発生します。

2) メタストアを開始します

コマンドを実行します: hive--servicemetastore&

3) Hive サービスを開始します

コマンドを実行します: hiveserver2&。

4) Hive コマンド ライン操作インターフェイスに入力します (mysql と同様)

実行: hive

hive コマンド ライン操作インターフェイスの使用に加えて、hiveserver2 は beeline も提供します (hive はユーザー名、hive2016 はユーザー名です)パスワードについては、HiveServer2+Clients から詳細情報を取得できます):

hadoop@VM-40-171-sles10-64:~/hive/bin>./beeline

Beelineversion1.2.1byApacheHive

beeline> !connectjdbc: hive2://172.25.40.171:10000hivehive2016org.apache.hive.jdbc.HiveDriver

jdbc:hive2://172.25.40.171:10000 に接続しています

SLF4J:クラスパスには複数の SLF4J バインディングが含まれています。

SLF4J:バインディングが見つかりました[jar:file:/] data/hadoop /hadoop-2.7.1/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J:Foundbindingin[jar:file:/ data/hadoop /hive-1.2.1-bin/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J:http://www.slf4j.org/codes を参照してください。 .html# multiple_bindingsforanexplanation.

SLF4J:Actualbindingisoftype[org.slf4j.impl.Log4jLoggerFactory]

Connectedto:Hive(version1.2.1)

Driver:Hive(version1.2.1)

Transactionisolation:TRANSACTION_REPEATABLE_READ

0:jdbc: hive2:/ /172.25.40.171:10000>select*frominviteslimit2;

+------+----------+----------+

|foo|bar| ds|

+------+----------+----------+

|474|val_475|2014|

|281|val_282|2014|

+- -----+----------+------+

2行選択(1.779秒)

0:jdbc:hive2://172.25.40.171:10000> ;

7. HSQL

パッケージ hive/bin、hive/lib、hive/conf、および hive/examples をリモートで実行します (tarczfhive-bin.tar.gzhive/binhive/libhive/confhive/examples など)。

その後、hive-bin.tar.gz を他のマシンにアップロードし、beeline を使用してリモートで HSQL を実行します (hive を使用すると問題が発生する可能性があります。この記事を操作する際、hive を使用すると、HSQL の実行時に常にスタックします。特別な理由は記録されておらず、まだ特定されていません)。

8. 基本コマンド

次の内容は公式 Web サイト (GettingStarted) からのものです。コマンドでは大文字と小文字が区別されないことに注意してください:

CREATETABLEpokes(fooINT,barSTRING);

CREATETABLEinvites(fooINT, barSTRING)PARTITIONEDBY(dsSTRING);

SHOWTABLES;

SHOWTABLES'.*s';

DESCRIBEinvites;

DROPTABLEpokes;

Hive のインストール ディレクトリには example サブディレクトリがありますory、使用されるデータ ファイルを保存します。例では。テーブル招待へのデータのロードをテストし、ファイル ../examples/files/kv2.txt をテーブル招待にロードします:

LOADDATALOCALINPATH'../examples/files/kv2.txt'OVERWRITEINTOTABLEinvitesPARTITION(ds=' 2014');

「select*frominvites;」または「selectcount(1)frominvites;」を実行して読み込みステータスを確認できます。

9. シングルポイント ソリューション

このシングル ポイントは、2 つのハイブをデプロイすることで解決できます。この 2 つの MySQL は、同じマシン上にデプロイされます。

Hive はマスターおよびホット バックアップの方法であり、同時に 1 つの Hive だけがサービスを提供するようにするのが最善です。ただし、多くの場合、両方の Hive がサービスを提供していれば正常に動作します。

10. Spark との統合

Spark の Hive 統合は非常に簡単で、次の手順に従うだけです:

1) HIVE_HOME をspark-env.sh に追加します (例:exportHIVE_HOME=/data/hadoop/hive

2) Hive の hive-site.xml ファイルと hive-log4j.properties ファイルを Spark の conf ディレクトリに追加します。

完了後、spark-sqlを再度実行してSparkのSQLCliに入り、コマンドshowtablesを実行してHiveで作成されたテーブルを確認します。

例:

./spark-sql--masteryarn--driver-class-path/data/hadoop/hive/lib/mysql-connector-java-5.1.38-bin.jar

11. Sqoop と統合する

sqoop-1.4.6.bin__hadoop-2.0.4-alpha を例に挙げると、Hive にデータをインポートできるだけでなく、HBase にデータをインポートしたり、DB からデータをインポートしたりすることもできます。 HDFS ストレージに。つまり、Sqoop は非常に強力ですが、ここでは簡単に紹介するだけです。

Sqoop の公式 Web サイトから sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz をダウンロードします (ダウンロード URL: http://www.apache.org/dyn/closer.lua/sqoop/1.4.6) 。

解凍して、Sqoop の conf ディレクトリに入り、次の変更を完了します:

11.1. sqoop-env.sh を変更します

sqoop-env-template.sh のコピーをコピーし、sqoop-env.sh という名前を付けます。 sqoop-env.sh で次の環境変数を設定します:

1) HADOOP_COMMON_HOME

値は Hadoop インストール ディレクトリです。例:exportHADOOP_COMMON_HOME=/data/hadoop

2) HADOOP_MAPRED_HOME

値は hadoop-common-* .tar ファイルが配置されるディレクトリは、Hadoop インストール ディレクトリの下にあります。

例:exportHADOOP_MAPRED_HOME=/data/hadoop/share/hadoop/common

3)HBASE_HOME

値はHBaseのインストールディレクトリです。例:exportHBASE_HOME=/data/hbase

4)HIVE_HOME

値はHive ディレクトリのインストール、例:exportHIVE_HOME=/data/hive

5) ZOOCFGDIR

の値は Zookeeper の設定ディレクトリです。例:exportZOOCFGDIR=/data/zookeeper/conf

11.2。

sqoop -site-template.xml のコピーを sqoop-site.xml という名前で何も変更せずにコピーします。

11.3. 検証テスト

1) MySQL データベースをリストします

./sqooplist-databases--connectjdbc:mysql://127.0.0.1:3306/-usernamezhangsan--passwordzhangsan2016

2) MySQL テーブルに基づいて Hive テーブルを作成します

./sqoopcreate-hive-table--connectjdbc:mysql://127.0.0.1:3306/test--usernamezhangsan--passwordzhangsan2016--tablet_test-- hive-tablet_test_2016

Hive テーブルをパーティション分割する必要がある場合は、パラメーター --hive-partition-key および --hive-partition-value を通じて指定できます。

既存の Hive テーブルを上書きする必要がある場合は、パラメーター「--hive-overwrite」を追加するだけです。 「--hive-partition-key」値はパーティション名であり、デフォルトは文字列タイプであり、「--hive-partition-value」はパーティション値です。

3) MySQL から Hive にデータをインポートします

たとえば、データをエクスポートするために MySQL ツール mysqldump を使用することを示すために、パラメーター「--direct」を指定することをお勧めします。

「-m」は、並行してデータをインポートできるマップの数を示します。デフォルトは 4 です。クラスター内のマップの最大数を超える数を設定しないことをお勧めします。

「--table」はインポートするDBテーブル名を指定するために使用し、「--hive-import」はDBからHiveにデータをインポートすることを意味します。 SQL を使用してパラメータ「--query」を使用して条件付きで DB からエクスポートすることもできます。

文字セットを指定する必要がある場合は、パラメーター「--default-character-set」を使用します (例: --default-character-setUTF-8)。

12. 一般的なエラー

1) MySQL の「bin/mysqld--initialize--user=mysql」実行時のエラー。その理由は、MySQL バージョン 5.6 以降、タイムスタンプのデフォルト値が非推奨としてマークされているためです。つまり、タイムスタンプ型のフィールドが明示的に NULL として宣言されていない場合、デフォルト値は NOTNULL になります。タイムスタンプ フィールドが NULL に設定されている場合、現在のタイムスタンプが自動的に保存されます。

2)Can'tfinderror-messagefile'/usr/local/mysql/share/errmsg.sys'

MySQL の「bin/mysqld--initialize--user=mysql--explicit_defaults_for_timestamp」を実行するとエラーが発生します。

これは、以前に実行されたため、データ ディレクトリが空になっていない可能性があります。「bin/mysqld--verbose--help|grepdatadir」から、デフォルトのデータ ディレクトリが /var/lib/mysql/ であることがわかります。 」。 /var/lib/mysql/ ディレクトリが空であることを確認する必要があります。または、パラメーター --datadir を指定してデータ ディレクトリを変更します (例: "bin/mysqld --initialize --user=mysql --explicit_defaults_for_timestamp --datadir=/data/mysql/data")。

3)Can'tfinderror-messagefile'/usr/local/mysql/share/errmsg.sys'

エラーの場合:

Can'tfinderror-messagefile'/usr/local/mysql/share/errmsg.sys'。エラーメッセージファイルの場所と「lc-messages-dir」設定ディレクティブを確認してください。

公式 Web サイトからダウンロードした MySQL のデフォルトのインストールディレクトリは /usr/local/mysql です。実際には別のディレクトリである場合は、パラメータで指定することをお勧めします。 -basedir、それ以外の場合は、インストールで発生するエラーが少なくなります。 「bin/mysqld --verbose --help|grepbasedir」を実行すると、「--basedir」のデフォルト値が/usr/local/mysql/であることがわかります。

4) MetaStoreServer への接続に失敗しました

hiveserver2 を実行して次のエラーが発生した場合は、DEBUG ログ レベルをオンにして詳細情報を表示し、ログ構成ファイル hive で「hive.root.logger=WARN」を設定することをお勧めします。 -log4j.properties ,DRFA」は、「hive.root.logger=DEBUG,WARN,DRFA」に変更できます。

./sqoopimport --connectjdbc:mysql://127.0.0.1:3306/test--usernamezhangsan--password'zhangsan2016'--tablet_test- - hive-import-m6--hive-tablet_test_2016--direct

2014-04-2306:00:04,169WAR Nhive.metastore(HiveMetaStoreClient.java:open(291))-MetaStoreServer への接続に失敗しました...2014-04-2306:00:06,177WARNhive .metastore(HiveMetaStoreClient .java:open(291))-MetaStoreServer への接続に失敗しました...

2014-04-2306:00 :07,181WARNhive.metastore(HiveMetaStoreClient.java:open(291))-MetaStoreServer への接続に失敗しました...

2014-04-2306: 00:08,185WARNhive.metastore(HiveMetaStoreClient.java:open(291))-MetaStoreServer への接続に失敗しました...

2014-04-2306:00:09,194ERRORservice.CompositeService(CompositeService.java:start(74))-ServicesHiveServer2 の起動エラー

組織.apache.hive.service.ServiceException:MetaStore に接続できません!

atorg.apache.hive.service.cli .CLIService.start(CLIService.java:85)

atorg.apache.hive.service.CompositeService.start(CompositeService.java :70)

atorg.apache.hive.service.server.HiveServer2.start(HiveServer2.java ) :62)

atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

atjava.lang.reflect。 Method.invoke(Method.java:483)

atorg.apache.hadoop.util.RunJar.main (RunJar.java:212)

修正後、再度hiveserver2を実行すると、メタストアが起動していないことが推測されます。「hive --servicemetastore」を実行すると、メタストアが起動できます。

2014-04-2306:04:27,053INFOOhive.metastore(HiveMetaStoreClient.java:open(244))-URIthrift://172.25.40.171:9083

2014-0 4-2306:04:27,085警告hive .metastore(HiveMetaStoreClient.java:open(288)) - MetaStoreServer への接続に失敗しました...

org.apache.thrift.transport.TTransportException:java.net.ConnectException:接続が拒否されました

atorg.apache.thrift.transport.TSocket。 open (TSocket.java:185)

atorg.apache.hadoop.hive.metastore.HiveMetaStoreClient.open(HiveMetaStoreClient.java:283)

atorg.apache.hadoop.hive.metastore.HiveMetaStoreClient.(HiveMetaStoreClient . java:164)

atorg.apache.hadoop.hive.metastore.HiveMetaStoreClient.(HiveMetaStoreClient.java:104)

atorg.apache.hive.service.cli.CLIService.start(CLIService.java: 82 )

atorg.apache.hive.service.CompositeService.start(CompositeService.java:70)

atorg.apache.hive.service.server.HiveServer2.start(HiveServer2.java:73)

atorg.apache。 hive .service.server.HiveServer2.main(HiveServer2.java:103)

atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)

atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

atsun.reflect 。 LegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:43)

atjava.lang.reflect.Method.invoke(Method.java:483)

atorg.apache.hadoop.util.RunJar.main(RunJar.java:212)

5)メタストアにバージョン情報が見つかりません

「./hive--servicemetastore」を実行すると、次のエラーが報告されます。その理由は、メタストアが初期化されておらず、「schematool-dbTypemysql-initSchema」を実行する必要があるためです。一度。

SLF4J:Actualbindingisoftype[org.slf4j.impl.Log4jLoggerFactory]

MetaException(メッセージ:メタストアにバージョン情報が見つかりません。)

aorg.apache.hadoop.hive.metastore.ObjectStore.checkSchema(Object Store.java:563) 8)

torg.apache.hadoop.hive.metastore.objectstore.verifyschema(objectore.java:5622)

atsun.reflt.nativemethodaccessorimpl.invoke0(nativemethod)

atsun.reflect.nativemethacessimpedcesmpedcesimpedcesimpedcesimpedcesimpedcessimpedcessimcessimpedcessimcessimpedcessimcessimcessimcessimpedcessimpedcessimpedces

atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

atjava.lang.reflect.Method.invoke(Method.java:483)

atorg.apache.hadoop.hive.metastore.RetryingRawStore.invoke( RetryingRawStore .java:124)

atcom.sun.proxy.$Proxy2.verifySchema(UnknownSource)

atorg.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:403)

atorg.apache . hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:441)

atorg.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:326)

atorg.apache.hadoop . hive.metastore.HiveMetaStore$HMSHandler.(HiveMetaStore.java:286)

atorg.apache.hadoop.hive.metastore.RetryingHMSHandler.(RetryingHMSHandler.java:54)

atorg.apache . hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:59)

aorg.apache.hadoop.hive.metastore.HiveMetaStore.newHMSHandler(HiveMetaStore.java:4060)

aorg.apache.hadoop.hive.metastore . HiveMetaStore.startMetaStore(HiveMetaStore.java:4263)

atorg.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:4197)

atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)

atsun。 . NativeMethodAccessOmpl.invoke (nativeMethodacectorimpl.java:62) Impl.java:43)

Aatjava.lang.reflect.Method.invoke (method.java:48 ))

ATORG.APACHE. RunJar.java:212)

6)java.net.URISyntaxException:RelativepathinabsoluteURI:${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

解決策: system:io.tmpdir は絶対に置き換えられています。パス、hive-1.2.1 には合計 4 つの場所があります。

7) サーバーの身元確認なしで SSL 接続を確立することは推奨されません

問題の現象:

水 2016 年 2 月 17 日 10:39:37CST2016 警告:サーバーの身元確認なしで SSL 接続を確立することは推奨されません。MySQL5.5.45+、5.6.26+、および 5.7+ の要件によると。明示的なオプションが設定されていない場合は、デフォルトで SSL 接続を確立する必要があります。SSL を使用しない既存のアプリケーションに準拠するには、ServerCertificate プロパティを「false」に設定してください。useSSL= を設定して SSL を明示的に無効にする必要があります。 false、orsetuseSSL=trueandprovidetruststoreforservercertificateverification.

解決策は、

jdbc:mysql://127.0 のように、hive-site.xml の構成項目 javax.jdo.option.ConnectionURL 値に「useSSL=false」を追加することです。 0.1:3306 /hive?characterEncoding=UTF-8;useSSL=false。

8)SPARK_CLASSPATHwasdetected

SPARK_CLASSPATHwasdetected(setto'/data/hadoop/hive/lib/mysql-connector-java-5.1.38-bin.jar:')。

これは Spark1.0 以降では非推奨です。

代わりに使用してください:

-./spark-submit with--driver-class-path to augment the driver classpath

-spark.executor.extraClassPath to augment the executor classpath

は、spark-env.sh で環境変数 SPARK_CLASSPATH を設定することは推奨されないことを意味します。次の推奨値に変更できます。メソッド: /spark-sql--masteryarn--driver-class-path/data/hadoop/hive/lib/mysql-connector-java-5.1.38-bin.jar

《13. HBase-0.98.0 分散インストール ガイド》

《Hive1.2.1 インストール ガイド》

《ZooKeeper-3.4.6 分散インストール ガイド》

《Hadoop2.3.0 ソース コード リバース エンジニアリング》

《Hadoop-2.7.1 のコンパイルLinux 》

《Accumulo-1.5.1 インストール ガイド》

《Drill1.0.0 インストール ガイド》

《Shark0.9.1 インストール ガイド》

詳細については、技術ブログをご覧ください: http:/ /aquester.cublog.cn.


http://www.bkjia.com/PHPjc/1103192.html

www.bkjia.com

http://www.bkjia.com/PHPjc/1103192.html技術記事 Hive 1.2.1Sqoop インストール ガイド Hive 1.2.1SparkSqoop インストール ガイド.pdf 目次 1 1. はじめに 1 2. 規約 2 3. サービス ポート 2 4. MySQL 2 のインストール 4.1. MySQL 2 のインストール 4.2. Hive メタデータ データベースの作成 4 .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。