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 #127.0.1.1
localhost 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/hadoop2.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 sudo chown sudo chown sudo chown
root $REAL_HADOOP_DIR root $REAL_HADOOP_DIR/etc root $REAL_HADOOP_DIR/etc/hadoop 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): sudo su – hdfs hadoop namenode -format
15. lépés: namenode indítás: sudo su – hdfs hadoop-daemon.sh start namenode exit sudo su – yarn yarn-daemon.sh start resourcemanager
16. lépés: datanode indítás: sudo su – hdfs 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
Egyéb fontos dolgok Webes felület elérése: namenode_IP_cím:50070 namenode_IP_cím:8088
Példaprogram indítás: 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