1.configuration du gardien de zoo
1.1 Installer 4 machines virtuelles (1) Préparez quatre machines virtuelles selon les paramètres suivants, dont trois sont utilisées comme gardiens de zoo. Configurez l'adresse IP et le nom d'hôte correspondants de chaque machine, téléchargez vim, configurez l'heure de mise à jour régulière du minuteur avec ntpdate et psmisc (psmisc est utilisé pour gérer les processus en cours d'exécution sur le système. Y compris ps, kill, fuser, pstree et d'autres commandes, ce qui peut rendre plus pratique l'utilisation du système d'exploitation Linux) 192.168.142.136 node1 gardien de zoo 192.168.142.137 gardien de zoo node2 192.168.142.138 gardien de zoo node3 192.168.142.139 nœud4 (2) Quatre machines vim /etc/hosts ajoutent 4 adresses IP et noms d'hôte d'hôte (3) Configurez une communication sans secret entre 4 machines : par exemple, copiez la clé publique du nœud 1 vers le nœud 2, le nœud 3 et le nœud 4. |
1.2 Installer jdk sur quatre machines et configurer les variables d'environnement Le fichier de variable d'environnement peut être copié sur les trois autres machines via la commande scp |
1.3 Modifier le fichier de configuration (1) Configurez le fichier sysctl.conf : ajoutez le contenu suivant à la fin du fichier vim /etc/sysctl.conf vm.swappiness=0 vm.overcommit_memory=1 vm.overcommit_ratio=80 Une fois la modification terminée, copiez-la sur trois autres machines via la commande scp. scp /etc/sysctl.conf root@node2:/etc/ scp /etc/sysctl.conf root@node3:/etc/ scp /etc/sysctl.conf root@node4:/etc/ (2) Editez le fichier : vim /etc/security/limits.conf Ajoutez ce qui suit fichier nofile logiciel hadoop 16384 hadoop hard nofile 65536 hadoop soft nproc 16384 hadoop hard nproc 65536 修改完成后,通过scp命令拷贝至其他3台机器 |
1.4 安装zookeeper (1)解压至/opt/soft目录下,并改名为zk345 (2)cd /opt/soft/zk345/conf切换目录 1)拷贝目录下文件:cp zoo_sample.cfg zoo.cfg 2)编辑zoo.cfg文件:vim ./zoo.cfg dataDir=/opt/soft/zk345/tmp/zookeeper dataLogDir=/opt/soft/zk345/tmp/logs server.0=192.168.142.136:2287:3387 server.1=192.168.142.137:2287:3387 server.2=192.168.142.138:2287:3387 server.A=B:C:D。 A是一个数字,表示这个是第几号服务器; B是这个服务器的IP地址; C是这个服务器与集群中的Leader服务器交换信息的端口; D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。 集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。 (3)创建目录:mkdir -p /opt/soft/zk345/tmp/zookeeper 在该目录下创建myid文件,文件内容为0 (4)配置环境变量:vim /etc/profile #zk export ZOOKEEPER_HOME=/opt/soft/zk345 export PATH=$PATH:$ZOOKEEPER_HOME/bin 配置完成后拷贝到其他三台机器上,并source更新 (5)配置完成后将zk345文件复制到node2和node3上 scp -r /opt/soft/zk345/ root@node2:/opt/soft/ scp -r /opt/soft/zk345/ root@node3:/opt/soft/ 复制完成后将node2和node3上的myid内容分别改为1和2 (6)配置完成后在node1,2,3上启动zkServer:zkServer.sh start 注:如果出现错误,在zk345目录下查看zookeeper.out文件内输出的错误信息,若发现不能自动创建logs文件夹,手动创建文件夹:mkdir -p /opt/soft/zk345/tmp/logs (7)完成启动zookeeper服务,并查看状态:zkServer.sh status |
2.配置hadoop
安装hadoop,配置6个文件 |
确保三台zk集群正常启动 zkServer.sh start/stop/status |
启动journalnode 四台机器上执行:hdfs –daemon start journalnode |
初始化node1,node2 hadoop namenode -format会生成data目录 同步nn1和nn2拷贝data文件夹至node2机器:scp -r ./data/ root@node2:/opt/soft/hadoop313/ |
node1初始化hdfs zkfc -formatZK |
启动hadoop |