Hadoop CDH 4.5 Sqoop配備

3760 ワード

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
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で他のデータを圧縮することもできますので、公式ドキュメントを参照してください