1. lépés: (master- és datanode esetén) Csoport készítés: sudo addgroup hadoop Felhasználók készítése: sudo adduser --ingroup hadoop yarn sudo adduser --ingroup hadoop hdfs sudo adduser --ingroup hadoop hduser sudo adduser --ingroup hadoop mapred (opcionális) Felhasználó sudozni tudjon (hduser mindenféleképpen): sudo adduser hduser sudo 2. lépés: openssh szerver telepítés sudo apt-get install openssh-server 3. lépés: (masternode esetén, minden felhasználó alatt) Kulcsgenerálás: sudo su - {user ssh-keygen -t rsa -P "" cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys Más gépekkel való ssh-beli jelszó nélküli kommunikációjához: ssh-copy-id -i $HOME/.ssh/id_rsa.pub távoli_gép_felhasználónév@távoli_gép_ip_cím Tesztelés: ssh localhost, ssh távoli_gép_felhasználónév@távoli_gép_ip_cím 4. lépés: Master- és datanode esetén Host állítás: Összes klaszterben lévő gép IP címét és hostnevét be kell írni sudo vi /etc/hosts 127.0.0.1 localhost #127.0.1.1 GEP1 #### Cluster data 192.122.13.29 GEP1 192.122.13.59 GEP2 192.122.13.60 GEP3 5. lépés: datanode-on és namenode-on: Telepítéshez és futáshoz szükséges mappák létrehozása: sudo mkdir -p /opt/yarn/{data,conf,logs sudo chown hduser:hadoop /opt/yarn/data sudo mkdir -p /opt/yarn/data/tmp sudo mkdir -p /opt/yarn/data/hdfs datanode: sudo mkdir -p /opt/yarn/data/hdfs/dn namenode: sudo mkdir -p /opt/yarn/data/hdfs/{nn,ssn 6. lépés: Java JDK 7/8 telepítés, master- és datanodeon Add repository: sudo add-apt-repository ppa:webupd8team/java sudo apt-get update
sudo apt-get install oracle-java8-installer Set it as default: sudo apt-get install oracle-java8-set-default Ellenőrzés: java -version 7. lépés: Hadoop letöltés, kibontás wget http://xenia.sote.hu/ftp/mirrors/www.apache.org/hadoop/common/hadoop- 2.7.2/hadoop-2.7.2.tar.gz sudo tar xvzf ~/hadoop-2.7.2.tar.gz -C /opt/yarn sudo chown -R hduser:hadoop /opt/yarn/hadoop-2.7.2 cd /opt/yarn/ sudo ln -s /opt/yarn/hadoop-2.7.2/ /opt/yarn/hadoop Konfig fájlok átmásolása: sudo cp /opt/yarn/hadoop/etc/hadoop/* /opt/yarn/conf sudo chown hduser:hadoop /opt/yarn/conf 8. lépés: Konfig fájlok átírása: core-site.xml, hdfs-site.xml, hadoop-env.sh, yarn-env.sh, mapred-site.xml, yarn-site.xml 9. lépés: bashrc-k állítása (mindegyik felhasználó esetén hozzáírni a meglévő bejegyzések mellé) vi ~/.bashrc export JAVA_HOME=/usr/lib/jvm/java-8-oracle export HADOOP_HOME=/opt/yarn/hadoop export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_LOG_DIR=/opt/yarn/logs export HADOOP_CONF_DIR=/opt/yarn/conf unalias fs &> /dev/null alias fs="hdfs dfs" unalias hls &> /dev/null alias hls="fs -ls" export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin Masternode hduser alatt elég a következő hozzáírása: export JAVA_HOME=/usr/lib/jvm/java-8-oracle export PATH=$JAVA_HOME/bin:$PATH A bashrc-ben beírtak hatásának elérése (minden felhasználó alatt): source ~/.bashrc 10. lépés: mappa jogok állítása, csak datanodekon
script fájl futtatása: #/sbin/sh REAL_HADOOP_DIR=/opt/yarn/hadoop sudo chown root $REAL_HADOOP_DIR sudo chown root $REAL_HADOOP_DIR/etc sudo chown root $REAL_HADOOP_DIR/etc/hadoop sudo chown root $REAL_HADOOP_DIR/etc/hadoop/container-executor.cfg sudo chown root $REAL_HADOOP_DIR/bin/container-executor sudo chmod 6050 $REAL_HADOOP_DIR/bin/container-executor 11. lépés: cgroups support (datanode-okon) sudo apt-get install cgroup-bin cgmanager create config for yarn: sudo vi /etc/cgconfig.conf group hadoop-yarn { perm { task { uid = hduser; gid = hadoop; fperm = 770; admin { uid = hduser; gid = hadoop; dperm = 775; fperm = 744; cpu { cpu.shares = "1024"; sudo vi /etc/rc.local adding new line: cgconfigparser -l /etc/cgconfig.conf before exit 0; sudo reboot cgconfigparser -l /etc/cgconfig.conf 12. lépés: További jogok állítása: cd /opt/yarn sudo chown hduser:hadoop /opt/yarn/logs sudo chmod 775 logs cd data/
sudo chown hdfs:hadoop /opt/yarn/data/hdfs/ sudo chown yarn:hadoop /opt/yarn/data/tmp/ cd hdfs/ sudo chown hdfs:hadoop /opt/yarn/data/hdfs/dn/ sudo chown hdfs:hadoop /opt/yarn/data/hdfs/nn/ sudo chown hdfs:hadoop /opt/yarn/data/hdfs/snn/ 13. lépés: container-executor.cfg fájl átírása: cd opt/yarn/hadoop/etc/hadoop/ sudo vi container-executor.cfg - beírás (tartalom kicserélés, a félkövérrel kiemelt szöveggel) Illetve a /opt/yarn/conf/container-executor.cfg átírása: yarn.nodemanager.linux-container-executor.group=hadoop #configured value of yarn.nodemanager.linux-container-executor.group banned.users=hdfs #comma separated list of users who can not run applications min.user.id=1000 #Prevent other super-users allowed.system.users=hduser,yarn,mapred ##comma separated list of system users who CAN run applications sudo mkdir opt/yarn/hadoop/logs sudo chown yarn:hadoop /opt/yarn/hadoop/logs sudo chmod 775 logs 14. lépés: namenode format (ezt csak egyszer kell megcsinálni, legelőször, csak namenodeon): hadoop namenode -format 15. lépés: namenode indítás: hadoop-daemon.sh start namenode exit sudo su yarn yarn-daemon.sh start resourcemanager 16. lépés: datanode indítás: hadoop-daemon.sh start datanode exit sudo su - yarn yarn-daemon.sh start nodemanager 17. lépés: hdfs-en mappák létrehozása:
fs -mkdir /user fs -chgrp hadoop /user fs -chmod 775 /user fs -mkdir /tmp fs -chgrp hadoop /tmp fs -chmod 775 /tmp fs -mkdir /tmp/hadoop-yarn fs -mkdir /tmp/hadoop-yarn/staging fs -chgrp -R hadoop /tmp/hadoop-yarn fs -chmod -R 775 /tmp fs -chgrp -R hadoop /tmp Webes felület elérése: namenode_ip_cím:50070 namenode_ip_cím:8088 Példaprogram indítás: Egyéb fontos dolgok hadoop jar /opt/yarn/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.7.2.jar pi 30 100 Fájlok feltétele hdfs-re: hadoop fs -put fájl_név hdfsen_belül_hova Java process folyamatok megtekintése: jps