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

目次 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 :
grantallonhive.*to'hive'@'localhost'identifiedby'hive2016'; grantallonhive.*to'hive'@'172.25.39.166'identifiedby'hive2016'; by'ハイブ2016 ';ハイブデータベースに入る: 1)ネイティブエントリ:mysql-uhive-phive2016 | 2)非ネイティブエントリ:mysql-uhive-h172.25
exportHIVE_HOME=/data/hadoop/ hive
exportPATH=$HIVE_HOME/bin:$PATH
hadoop@VM-40-171-sles10-64:~/hive/conf>ls |
hive-env.sh.templatehive-log4j.properties . template
4 つのテンプレート ファイルが表示され、設定ファイル | cphive-env.sh.templatehive-env.sh
cphive-log4j.properties.templatehive-log4j.properties
cphive-exec-log4j.properties.templatehive-exec-log4j.properties
5.4.2.1。 sh HADOOP_HOME 環境変数がまだ設定されていない場合は、hive-env.sh で設定できます: | HADOOP_HOME=/data/hadoop/current
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 に設定します:
4) javax.jdo.option.ConnectionPassword を変更します
ハイブ データベースにアクセスするためのパスワードとして値を設定します:
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/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 から詳細情報を取得できます):
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) からのものです。コマンドでは大文字と小文字が区別されないことに注意してください:
Hive のインストール ディレクトリには example サブディレクトリがありますory、使用されるデータ ファイルを保存します。例では。テーブル招待へのデータのロードをテストし、ファイル ../examples/files/kv2.txt をテーブル招待にロードします:
「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 データベースをリストします
|

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

OnLeaks は、X (旧 Twitter) のフォロワーから 4,000 ドル以上を集めようとして失敗した数日後、Android Headlines と提携して Galaxy S25 Ultra のファーストルックを提供しました。コンテキストとして、h の下に埋め込まれたレンダリング イメージ

TCLは、2つの新しいスマートフォンの発表に加えて、NXTPAPER 14と呼ばれる新しいAndroidタブレットも発表しました。その巨大な画面サイズはセールスポイントの1つです。 NXTPAPER 14 は、TCL の代表的なブランドであるマット LCD パネルのバージョン 3.0 を搭載しています。

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

Vivo Y300 Pro は完全に公開されたばかりで、大容量バッテリーを備えた最もスリムなミッドレンジ Android スマートフォンの 1 つです。正確に言うと、このスマートフォンの厚さはわずか 7.69 mm ですが、6,500 mAh のバッテリーを搭載しています。これは最近発売されたものと同じ容量です

サムスンは、ファンエディション(FE)スマートフォンシリーズをいつアップデートするかについて、まだ何のヒントも提供していない。現時点では、Galaxy S23 FE は 2023 年 10 月初めに発表された同社の最新版のままです。

Redmi Note 14 Pro Plusは、昨年のRedmi Note 13 Pro Plus(Amazonで現在375ドル)の直接の後継者として正式に発表されました。予想通り、Redmi Note 14 Pro Plusは、Redmi Note 14およびRedmi Note 14 Proと並んでRedmi Note 14シリーズをリードします。李

Motorola は今年数え切れないほどのデバイスをリリースしましたが、そのうち折りたたみ式デバイスは 2 つだけです。ちなみに、世界の大部分ではこのペアが Razr 50 および Razr 50 Ultra として受け入れられていますが、Motorola は北米では Razr 2024 および Razr 2 として提供しています。
