如何快速搭建hadoop集群
安装好虚拟机,重命名为master
配置网卡
命令:vi /etc/sysconfig/network-scripts/ifcfg-en(按tab键)
这里要配置ip,网关,域名解析
例如我的
IPADDR=192.168.31.50
GATEWAY=192.168.31.2
DNS1=8.8.8.8
接着我们需要重启网卡才能生效
[root@localhost ~]# :service network restart
检验外网是否能连接
[root@localhost ~]#(以百度为例):ping www.baidu.com
(配置网卡完)
修改主机名(不能含有空格及特殊字符)
[root@localhost ~]# vi /etc/hostnname
添加映射(使三台虚拟机能够相互通信)
[root@localhost ~]# vi /etc/hosts
添加一个普通用户(admin),并设置密码
[root@localhost ~]# useradd admin
[root@localhost ~]# passwd admin
将我们添加的用户(admin)写入到配置文件中
[root@localhost ~]# visudo
将hadoop和jdk的压缩包上传并解压
[root@localhost software]#tar -zxf hadoop-2.5.0.tar.gz -C /opt/modoules/
[root@localhost software]#tar -zxf jdk-7u79-linux-x64.tar.gz -C /opt/modoules/
将压缩文件修改为普通(admin)用户,并开放所有权限
[root@localhost modoules]#chown admin:admin -R hadoop-2.5.0/
[root@localhost modoules]#chown admin:admin -R jdk1.7.0_79/
[root@localhost modoules]# chmod 777 -R hadoop-2.5.0/
[root@localhost modoules]# chmod 777 -R jdk1.7.0_79/
添加配置文件
[root@localhost modoules]# vi /etc/profile
在hadoop-2.5.0下创建一个文件,并进行更名和权限赋予
用途:(用来指定hadoop运行时产生文件的存储目录 )
[root@localhost hadoop-2.5.0]# mkdir -p data/tmp
[root@localhost hadoop-2.5.0]# chown admin:admin -R data
[root@localhost hadoop-2.5.0]# chown 777 -R data
切换至hadoop目录,进行配置文件的更改
[root@localhost hadoop-2.5.0]# cd ./etc/hadoop
我们需要修改的配置文件如下
[root@localhost hadoop]# vi hadoop-env.sh
[root@localhost hadoop]# vi yarn-env.sh
(#代表注释,需要进行删除,才能生效)
[root@localhost hadoop]# vi mapred-env.sh
(#代表注释,需要进行删除,才能生效)
[root@localhost hadoop]# vi core-site.xml
[root@localhost hadoop]# vi yarn-site.xml
[root@localhost hadoop]# vi hdfs-site.xml
对mapred-site.xml.template文件进行更名,再进行配置
[root@localhost hadoop]# mv mapred-site.xml.template mapred-site.xml
[root@localhost hadoop]# vi mapred-site.xml
[root@localhost hadoop]# vi slaves
关闭防火墙状态
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
[root@localhost selinux]# cd /etc/selinux
[root@localhost selinux]# vi config
查看防火墙状态(查看之前先进行重启,否则不生效)
[root@localhost ~]# sestatus
克隆两台机器(虚拟机必须处于关机状态才能克隆,此外,选择完整克隆,不要链接克隆)
(并对另外两台网卡的ip,主机名做相应的更改)
(否则三台机器会出现ip冲突,或者意外报错)
master(主节点)
slave1(从节点)
slave2(从节点)
三台机器配置完成
设置免密登录
(让三台机器进行无密钥通信)最好是用普通用户
[root@master ~]# su admin
[admin@master root]$ ssh-keygen(三次回车)
[admin@master root]$ ssh copy-id master
(以下操作会问:是否愿意给密钥给xxx,回答yes,其他机器皆如此)
同意之后它会要求进行密码的验证(如果三次输入密码错误,将会自动退出并进行从新输入)
(说明密钥已成功给出)
[admin@master root]$ ssh-copy-id slave1
(说明密钥已成功给出)
(说明密钥已成功给出)
slave1,slave2需要重复以上操作
(否则三台机器会因为没有共同的密钥,从而导致无法访问)
切换目录,开始准备启动hadoop
[admin@master root]$ cd /opt/modoules/hadoop-2.5.0
进行格式化(只能操作一次,除非是配置文件错误,才能进行二次格式化,否则会出现一大堆的报错信息)
[admin@master hadoop-2.5.0]$ bin/hdfs namenode -format
格式化成功
(只能出现INFO,如果是error,expectation说明配置文件发生异常,需要返回进行检查并做相应的更改,不要忘记更改之后要进行格式化)
启动dfs
[admin@master hadoop-2.5.0]$ sbin/start-dfs.sh
(显示如下进程说明启动成功)
启动yarn
[admin@slave1 hadoop-2.5.0]$ sbin/statr-yarn.sh
用jps查看MapReduce的进程
(以上就是hadoop的搭建)
查看能否访问web页面
(active提示页面是可用,查看内存是否正常,如果是0说明非正常状态)
查看我们的datenode节点是否有三台虚拟机,如果只有1台或2台说明集群未能启动