Hadoop CDH 4.5 Sqoop配備
HDFSのデータを外部構造化データベースにインポートしたり、外部構造化データベースのデータをHDFSにインポートしたりすることがよくあります. sqoopはhadoop hdfsと構造化データベースとの間でデータを転送するためのツールです.sqoopを使用して外部の構造化データベースのデータをHDFSまたは関連システム(Hive HBAse)にインポートしたり、逆にsqoopを使用してHDFSのデータを構造化データベースにインポートしたりすることができます.
1 Sqoopのインストール
sqoop — Complete Sqoop distribution
sqoop-metastore — For installation of the Sqoop metastore only
2 関連データベースのJDBCドライバのインストール
SqoopはサードパーティJDBCドライバを持っていないので、自分でドライバをダウンロードして/usr/lib/sqoop/lib/ディレクトリに保存する必要があります.
1 MySQL JDBCドライバのインストール
2 PostgreSQL JDBCドライバのインストール
3
YARNにHADOOP_を設定するMAPRED_HOME
CDH 4には、HDFSとリレーショナル・データベースとの間でデータを転送するサービス側およびクライアント・モードであるSqoop 2も提供される.
1 Sqoop 2のインストール
Sqoop 2サービスは、クライアントsqoop 2−clientとサービス側sqoop 2−serverの2つのパケットに分けられる.クラスタ内のいずれかの機器にサービス側をインストールし、クライアントとして必要な機器にクライアントをインストールします.注意:Sqoop 2はSqoop 1と同じ機器にインストールできません
1 Sqoop 2サービスのインストール
2 Sqoop 2クライアントのインストール
2 設定Sqoop 2
Sqoop 2サービスはMRv 1またはYARNとともに動作します.しかし、同時に二人と一緒に仕事をすることはできません.
1 MRv1
変更/etc/defaults/sqoop 2-server
2 YARN
変更/etc/defaults/sqoop 2-server
3 JDBCドライバのインストール
3
Sqoop 2サービスの起動、停止、アクセス
4
Sqoop 2 CLIクライアントを使用してSqoop 2サービスにアクセス
hadoopクラスタのコンポーネントには圧縮/解凍器ライブラリがあります.それはSnappyです.Snappyの前身はZippyです.データ圧縮ライブラリですが、GoogleはBigTable、MapReduceなどの多くの内部プロジェクトに使用されています.Googleは、このアルゴリズムライブラリがパフォーマンスを調整し、64ビットx 86プロセッサを最適化したと明らかにした.
1 Snappyのインストール
Snappy is provided in the hadoop package along with the other native libraries (such as native gzip compression)
2 MapReduceでSnappyを使用し、/etc/hadoop/conf/mapred-site.xmlを変更
1 MRv1
2 YARN
3
使用
Snappy圧縮
Sqoopのインポートデータ
--compression-codec org.apache.hadoop.io.compress.SnappyCodec
4 SnappyによるHiveデータの圧縮
もちろんSnappyで他のデータを圧縮することもできますので、公式ドキュメントを参照してください
1 Sqoopのインストール
sqoop — Complete Sqoop distribution
sqoop-metastore — For installation of the Sqoop metastore only
apt-get install sqoop
2 関連データベースのJDBCドライバのインストール
SqoopはサードパーティJDBCドライバを持っていないので、自分でドライバをダウンロードして/usr/lib/sqoop/lib/ディレクトリに保存する必要があります.
1 MySQL JDBCドライバのインストール
cp mysql-connector-java-version/mysql-connector-java-version-bin.jar /usr/lib/sqoop/lib/
2 PostgreSQL JDBCドライバのインストール
cp postgresql-9.2-1002.jdbc4.jar /usr/lib/sqoop/lib/
3
YARNにHADOOP_を設定するMAPRED_HOME
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
CDH 4には、HDFSとリレーショナル・データベースとの間でデータを転送するサービス側およびクライアント・モードであるSqoop 2も提供される.
1 Sqoop 2のインストール
Sqoop 2サービスは、クライアントsqoop 2−clientとサービス側sqoop 2−serverの2つのパケットに分けられる.クラスタ内のいずれかの機器にサービス側をインストールし、クライアントとして必要な機器にクライアントをインストールします.注意:Sqoop 2はSqoop 1と同じ機器にインストールできません
1 Sqoop 2サービスのインストール
apt-get install sqoop2-server
2 Sqoop 2クライアントのインストール
apt-get install sqoop2-client
2 設定Sqoop 2
Sqoop 2サービスはMRv 1またはYARNとともに動作します.しかし、同時に二人と一緒に仕事をすることはできません.
1 MRv1
変更/etc/defaults/sqoop 2-server
CATALINA_BASE=/usr/lib/sqoop2/sqoop-server-0.20
2 YARN
変更/etc/defaults/sqoop 2-server
CATALINA_BASE=/usr/lib/sqoop2/sqoop-server
3 JDBCドライバのインストール
cp mysql-connector-java-version/mysql-connector-java-version-bin.jar /var/lib/sqoop2/
3
Sqoop 2サービスの起動、停止、アクセス
service sqoop2-server start
service sqoop2-server stop
check: wget -qO - localhost:12000/sqoop/version
4
Sqoop 2 CLIクライアントを使用してSqoop 2サービスにアクセス
sqoop2
sqoop:000> set server --host localhost
hadoopクラスタのコンポーネントには圧縮/解凍器ライブラリがあります.それはSnappyです.Snappyの前身はZippyです.データ圧縮ライブラリですが、GoogleはBigTable、MapReduceなどの多くの内部プロジェクトに使用されています.Googleは、このアルゴリズムライブラリがパフォーマンスを調整し、64ビットx 86プロセッサを最適化したと明らかにした.
1 Snappyのインストール
Snappy is provided in the hadoop package along with the other native libraries (such as native gzip compression)
2 MapReduceでSnappyを使用し、/etc/hadoop/conf/mapred-site.xmlを変更
1 MRv1
<property>
<name>mapred.compress.map.output</name>
<value>true</value>
</property>
<property>
<name>mapred.map.output.compression.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>
2 YARN
<property>
<name>mapreduce.map.output.compress</name>
<value>true</value>
</property>
<property>
<name>mapred.map.output.compress.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>
3
使用
Snappy圧縮
Sqoopのインポートデータ
--compression-codec org.apache.hadoop.io.compress.SnappyCodec
4 SnappyによるHiveデータの圧縮
SET hive.exec.compress.output=true;
SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
SET mapred.output.compression.type=BLOCK;
もちろんSnappyで他のデータを圧縮することもできますので、公式ドキュメントを参照してください