Hadoop完全分布式安装
由于伪分布式安装较为简单,本教程忽略。
环境
- VMWare
- Linux(本教程使用centos .9)
- Hadoop
- Jdk
1. 模拟在vmware虚拟机安装
在VMWare上安装centos6.9,安装4个虚拟机,分别命名node1,node2,node3,node4(可安装一台node1,然后复制3份即可,复制完成后,删除赋值文件夹下的.lck文件夹)
2. 配置虚拟机网卡
- 在node1中 vi /etc/sysconfig/network-scripts/ifcfg-eth0,将ONBOOT改为yes即可:
在node2,node3,node4中,执行以下步骤:
Ifconfig –a 查看网卡地址:
记下Hwaddr的值然后将ifcfg-eth0赋值一份,命名为ifcfg-eth1
cp ifcfg-eth0 ifcfg-eth1然后将vi ifcfg-eth1中的DEVICE改为eth1,Hwaddr改为刚刚记下的地址:
重启网络服务:
Service network restart,看到 OK即可。
3. 配置hosts文件,添加node1,node2,node3,node4的地址
Vi /etc/hosts
4. 安装jdk并配置环境变量(省略)
5 配置ssh并设置免密码登陆(node1,node2,node3,node4都需要操作)
Yum install ssh(默认已经安装,rpm -qa |grep ssh查看是否安装,具体过程省略)
- 生成密钥:
ssh-keygen -t rsa - 以下只在node1(master上操作)
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 将authorized_keys拷贝到node2,node3,node4上,第一次需要密码
scp authorized_keys node2:~/.ssh/
scp authorized_keys node3:~/.ssh/
scp authorized_keys node4:~/.ssh/
- 在4个node上执行如下操作:
- chmod 600 .ssh/authorized_keys
- 登陆node2、3、4
- ssh node2,若不需要密码即可登陆,则配置成功
6. 关闭每台机器的防火墙,否则后面可能出现莫名其妙的错误
- 重启后生效
- 开启: chkconfig iptables on
- 关闭: chkconfig iptables off
- 即时生效,重启后失效
- 开启: service iptables start
- 关闭: service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口, 修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
7. 配置hadoop
- 在官网下载hadoop包,并解压
- 进入hadoop目录,创建一个tmp目录:mkdir –p data/tmp
按照官网配置hadoop-env.sh
配置core-site.xml(配置namenode通信地址),官网略有不同
注意将地址改为node1,并将hadoop.tmp.dir改为刚刚创建的文件夹路径
5. 配置hdfs-site.xml
6. 配apred-site.xml,注意将mapred-site.xml.template的后缀.template去掉
7. 配置yar-site.xml
8. 配置slaves文件,将localhost改为datanode的主机名
8. 将hadoop传到node2,node3,node4上
scp -r hadoop-2.7.1 node2:/usr/software/
scp -r hadoop-2.7.1 node3:/usr/software/
scp -r hadoop-2.7.1 node4:/usr/software/
9. 配置hadoop环境变量
编辑/etc/profile
vi /etc/profile
#hadoop
export HADOOP_HOME=/opt/Hadoop/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin执行source /etc/profile立即生效
10.将host文件发送到其他机器
scp /etc/host node2:/etc/hosts
11.格式化node1(master)
12.启动hdfs
13.启动yarn
14. 可使用start-all.sh代替
启动后,使用
http://localhost:50070/ 查看hdfs管理界面
http://localhost:8088/ 查看yarn管理界面若看到下图所示效果,表明安装成功
3. 最终运用jps(java process status)查看进程,正常情况下
Master有4个进程
Slaves有3个进程
注意事项:
1, 关闭防火墙一定要做
2, 请勿重复格式化,且在配置完成后,应该先将hadoop拷贝到其他机器后再执行格式化操作,否则会出错。