
toto je kompletní průvodce instalací a konfigurací Apache Hadoop 3 v systému MacOS. Ukážu vám, jak to udělat nejjednodušším způsobem, abyste to mohli udělat s počítačem Mac.
obsah článku
proč další instalační návod Hadoop?
pracoval jsem s Hadoop verze 2.6 a níže pomocí Linuxu, je velmi snadné nastavení. V tuto chvíli však potřebuji nastavit na svém počítači Mac, abych vyvinul nějakou práci a vyžadoval práci s nejnovější verzí Hadoop, je to Apache Hadoop 3.2.1; tak jsem se pokusil nainstalovat jako obvykle jako Linux. Ale nefungovalo to!
Google pro pomoc? Jde o to, že v době psaní tohoto článku nemohu najít žádný jediný článek o nastavení Hadoop verze 3 + na Macu. Vše, co mohu najít, jsou články pro Hadoop předchozí verze. Kroky mají být stejné, můžete se zeptat? Ano, opravdu, ale v aktualizaci verze jsou vždy nějaké chybějící body.
každopádně, pokud máte nějaký problém s nastavením Apache Hadoop verze 3 + na vás Mac, tento článek může pomoci dostat se s tím.
předpoklady
tato příručka bude používat nejnovější verzi Hadoop, což je Hadoop 3.2.1, která je ve výchozím nastavení načtena pomocí Homebrew.
takže zde jsou některé výrobky, které potřebujete mít:
- Java 8
- Homebrew (the deps magician of the Mac)
nainstalujte a nakonfigurujte Apache Hadoop 3.2
Krok 1: Aktualizujte brew a nainstalujte nejnovější Hadoop
$ brew install hadoop
příkaz načte nejnovější verzi Hadoop a nainstaluje do počítače Mac.
ve výchozím nastavení bude instalační adresář Hadoop umístěn v /usr/local/Cellar/hadoop/3.2.1
.
později, když si přečtete tento článek, bude verze aktualizována a bude jiná, umístění bude adresář verze, /usr/local/Cellar/hadoop/X.Y.Z
.
Krok 2: Aktualizujte proměnnou prostředí HADOOP_OPTS
otevřete tento soubor, /usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop/hadoop-env.sh
a přidejte tento řádek dole:
export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
nebo pokud najdete řádek s export HADOOP_OPTS
, můžete jej upravit.
Krok 3: Aktualizace core-site.xml
otevřete tento soubor, /usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop/core-site.xml
a aktualizujte níže.
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/Cellar/hadoop/hdfs/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property></configuration>
některé poznámky vědět:
-
hadoop.tmp.dir
: tato vlastnost je nakonfigurovat místní Hadoop dočasná data, jako je úložiště pro datanode, namenode, hdfs… můžete dát do libovolného adresáře, který chcete, ale ujistěte se, že dát příslušné oprávnění. -
fs.defaultFS
: je nový název dříve zastaralého klíčefs.default.name
.
Krok 4: Aktualizace hdfs-site.xml
otevřete tento soubor, /usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop/hdfs-site.xml
a přidejte níže uvedenou konfiguraci.
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property></configuration>
proč je hodnota 1? Pro účely vývoje stačí pseudodistribuovaný nebo jediný clusterový režim a musí mít alespoň 1 datanod, takže počet replikací je 1.
Krok 5: formát a testovací souborový systém
před použitím musíme inicializovat distribuovaný souborový systém, takže formátujeme první.
$ hdfs namenode -format
zkusme některé příkazy k testování. Ale předtím bychom měli spustit některé servery DFS, které zahrnují DataNode
, NameNode
, SecondaryNameNode
vydáním následujícího příkazu:
$ cd /usr/local/Cellar/hadoop/3.2.1/sbin$ ./start-dfs.sh
pokud není k dispozici žádný výstup chybové zprávy, můžeme začít s níže uvedenými příkazy.
$ hdfs dfs -ls /$ hdfs dfs -mkdir /input$ touch data.txt$ echo "Hello Hadoop" >> data.txt$ hdfs dfs -put data.txt /input$ hdfs dfs -cat /input/data.txt
pokud poslední příkaz zobrazuje výše uvedený obsah, který je Hello Hadoop
, funguje úspěšně.
Krok 6: provedení ukázkové úlohy MapReduce v balíčku JAR
nyní musíme ověřit, zda práce s redukcí map může fungovat. To lze provést podle pokynů, které jsem vložil do svého úložiště hadoop-wordcount Github.
Krok 7: Konfigurace příkazů pro shell
namísto cd
adresář do /usr/local/Cellar/hadoop/3.2.1/sbin
Chcete-li spustit příkazy, můžeme jednoduše nakonfigurovat do globálního PATH
, takže je lze volat kdekoli v terminálu nebo shellu.
přidejte následující řádek do konfiguračního souboru shellu, jako /etc/profile
, ~/.bashrc
, ~/.bash_profile
, ~/.profile
, ~/.zshrc
… v závislosti na vašem prostředí.
dávám přednost použití zsh, takže jsem ji vložil do ~/.zshrc
na mém počítači Mac.
export PATH=$PATH:/usr/local/Cellar/hadoop/3.2.1/sbin
Krok 7: nakonfigurujte kompletní příkaz Hadoop start
výchozí konfigurace Hadoop obvykle použije rámec local
pro účely ladění/vývoje. Chcete – li použít yarn
framework na lokálním stroji, možná budete chtít začít příze stejně, což se provádí:
$ /usr/local/Cellar/hadoop/3.2.1/sbin/start-yarn.sh
pokud jste udělali krok 6, stačí zadat start-yarn.sh
.
takže vaše prostředí Hadoop může vyžadovat dva příkazy k provedení a můžete je kombinovat do jednoho příkazu pomocí alias
.
alias hadoop-start="/usr/local/Cellar/hadoop/3.2.1/sbin/start-dfs.sh;/usr/local/Cellar/hadoop/3.2.1/sbin/start-yarn.sh"alias hadoop-stop="/usr/local/Cellar/hadoop/3.2.1/sbin/stop-dfs.sh;/usr/local/Cellar/hadoop/3.2.1/sbin/stop-yarn.sh"
tady to máte, Hadoop je připraven pracovat na vašem počítači Mac.
na závěr
nastavení Apache Hadoop 3 + nevypadá tak komplikovaně, ujistěte se, že budete postupovat podle výše uvedených kroků, pak budete mít práci v žádném okamžiku.
pokud však čelíte jakémukoli problému, zkuste vidět toto řešení problémů Apache Hadoop. Mohlo by vám to pomoci vyřešit vaše problémy.