Apache Sqoop je nástroj určený pro efektivní přenos hromadných dat mezi Apache Hadoop a strukturovanými datovými úložišti, jako jsou relační databáze. Například MySQL, Oracle, Microsoft SQL Server. Můžete importovat a exportovat data mezi relačními databázemi a hadoopem. Můžete také importovat/exportovat z/do polostrukturovaných zdrojů dat, například HBase a Cassandra (databáze NoSQL). Sqoop se dodává jako jeden binární balíček, který obsahuje dvě samostatné části – klienta a server.
- Server- Musíte nainstalovat server na jeden uzel ve vašem clusteru. Tento uzel pak bude sloužit jako vstupní bod pro všechny klienty Sqoop.
- Klient – Klienti lze nainstalovat na libovolný počet počítačů.
Níže jsou uvedeny kroky k nastavení Apache Sqoop na Ubuntu 16.04. Stáhněte si požadovaný balíček Sqoop, který bude mít sqoop-1.99.7-bin-hadoop200.tar.gz
soubor.
1) Stáhněte si Sqoop pomocí wget
Stáhněte si Sqoop pomocí níže uvedeného příkazu na vašem souborovém systému.
wget http://archive.apache.org/dist/sqoop/1.99.7/sqoop-1.99.7-bin-hadoop200.tar.gz
Zkontrolujte, zda byl soubor stažen správně.
2) Rozbalte soubor Sqoop tar
Rozbalte stažený soubor.
tar -xvf sqoop-1.99.7-bin-hadoop200.tar.gz
Zkontrolujte, zda byl soubor extrahován správně.
3) Přesuňte adresář Sqoop
Přesuňte adresář sqoop do /usr/lib/
sudo mv sqoop-1.99.7-bin-hadoop200 /usr/lib/
Server Sqoop funguje jako klient Hadoop, proto musí být na tomto uzlu dostupné knihovny Hadoop (Yarn, Mapreduce a soubory jar HDFS) a konfigurační soubory (core-site.xml, mapreduce-site.xml, ...).
4) Nastavte proměnné prostředí Hadoop a Sqoop
Proměnné prostředí Hadoop byste měli mít nastavené v souboru .bashrc.
# Set Hadoop-related environment variables
export HADOOP_HOME=$HOME/hadoop-2.7.3
export HADOOP_CONF_DIR=$HOME/hadoop-2.7.3/etc/hadoop
export HADOOP_MAPRED_HOME=$HOME/hadoop-2.7.3
export HADOOP_COMMON_HOME=$HOME/hadoop-2.7.3
export HADOOP_HDFS_HOME=$HOME/hadoop-2.7.3
export HADOOP_YARN_HOME=$HOME/hadoop-2.7.3
Také nastavte proměnné prostředí sqoop v souboru .bashrc.
sudo gedit .bashrc
Vložte pod řádky do souboru .bashrc.
export SQOOP_HOME=/usr/lib/sqoop-1.99.7-bin-hadoop200 exportovat PATH=$PATH:$SQOOP_HOME/bin export SQOOP_CONF_DIR=$SQOOP_HOME/conf export SQOOP_CLASS_PATH=$SQOOP_CONF_DIR
Pro provedení změn použijte níže uvedený příkaz.
source .bashrc
5) Zkopírujte požadované soubory Jar do adresáře knihovny Sqoop Server
Zkopírujte nádoby hadoop-common, hadoop-mapreduce, hadoop-hdfs, hadoop-yarn do /usr/lib/sqoop-1.99.7-bin-hadoop200/server/lib
(adresář lib serveru sqoop). Níže jsou uvedeny cesty, odkud musíte zkopírovat všechny jar do adresáře sqoop serveru lib.
/home/ubuntu/hadoop-2.7.3/share/hadoop/common /home/ubuntu/hadoop-2.7.3/share/hadoop/common/lib /home/ubuntu/hadoop-2.7.3/share/hadoop/hdfs /home/ubuntu/hadoop-2.7.3/share/hadoop/hdfs/lib /home/ubuntu/hadoop-2.7.3/share/hadoop/mapreduce /home/ubuntu/hadoop-2.7.3/share/hadoop/mapreduce/lib /home/ubuntu/hadoop-2.7.3/share/hadoop/yarn /home/ubuntu/hadoop-2.7.3/share/hadoop/yarn/lib
6) Upravte soubor core-site.xml
Server Sqoop se bude muset vydávat za uživatele, aby přistupoval k HDFS a dalším zdrojům v clusteru nebo mimo něj jako uživatel, který spustil danou úlohu, a nikoli jako uživatel, který server provozuje. Musíte nakonfigurovat soubor Core-site.xml Hadoop a přidat k němu níže 2 vlastnosti.
<property>
<name>hadoop.proxyuser.ubuntu.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.ubuntu.groups</name>
<value>*</value>
</property>
7) Inicializujte úložiště metadet
Před prvním spuštěním serveru Sqoop 2 je třeba inicializovat úložiště metadat.
./bin/sqoop2-tool upgrade
8) Spusťte Sqoop Server
Spusťte sqoop server.
./bin/sqoop2-server start
Zkontrolujte, zda se spustila služba serveru sqoop.
jps
9) Spusťte klienta Sqoop
Stačí zkopírovat artefakt distribuce Sqoop na cílovém počítači a rozbalit jej na požadovaném místě a můžete spustit svého klienta. Používám stejný stroj jako klient. Spusťte klienta Sqoop
./bin/sqoop2-shell
10) Stáhněte si konektory RDBMS
Stáhněte si konektory MySQL, Oracle a SQL Server pomocí níže uvedených odkazů. Tyto konektory jsou potřebné k vytvoření spojení mezi Sqoop a RDBMS.
MySQL konektor:Stáhnout
Oracle Connector:Stáhnout
Microsoft SQL Server Connector:Stáhnout
Zkontrolujte, zda byly staženy všechny konektory.
ls Downloads/
11) Nastavte proměnnou prostředí pro použití konektorů RDBMS
Přesuňte všechny konektory do adresáře a nastavte tento adresář jako proměnnou prostředí.
sudo mkdir -p /var/lib/sqoop2/
sudo chmod 777 /var/lib/sqoop2/
mv Downloads/*.jar /var/lib/sqoop2/
ls -l /var/lib/sqoop2/
export SQOOP_SERVER_EXTRA_LIB=/var/lib/sqoop2/
Závěr
Voila! Úspěšně jste nastavili Apache Sqoop na Ubuntu 16.04. Nyní jste připraveni importovat/exportovat data pomocí Sqoop. Dalším krokem je použití libovolného konektoru RDBMS a import/export dat z RDBMS do HDFS nebo HDFS do RDBMS.