第一步,准备3台机器或虚拟机,分别作为hadoop安装集群的master和2个slave。
3台机器安装好JDK,并配置好JAVA_HOME(请参考《Centos7安装Oracle JDK》)。然后在3台机器之间建立信任关系(请参考《在两台Centos服务器之间建立信任关系》)。
然后,在3台机器上分别执行hostname aeolus-vm0,hostname aeolus-vm1,hostname aeolus-vm2命令,为3台机器命名。具体的名称大家可以根据习惯配置。
然后在3台机器上执行vi /etc/hosts配置hosts,可以互相通过hostname进行访问。其中的ip地址根据实际情况配置。
192.168.8.60 aeolus-vm0
192.168.8.59 aeolus-vm1
192.168.8.58 aeolus-vm2
这样就完成了初步的服务器基础配置工作。下面就可以安装hadoop了。
第二步,登录Apache Hadoop网站,下载Hadoop2.8的安装包。这里下载压缩包即可。
然后将安装包上传到3台机器。解压缩后,将解压出来的hadoop目录拷贝到/opt/hadoop目录下。即/opt/hadoop作为hadoop的安装目录。
第三步,配置hadoop。
编辑/opt/hadoop/etc/hadoop/core-site.xml,在
hadoop.tmp.dir
/root/hadoop/tmp
Abase for other temporary directories.
fs.default.name
hdfs://aeolus-vm0:9000
编辑/opt/hadoop/etc/hadoop/hdfs-site.xml,在
dfs.name.dir
/root/hadoop/dfs/name
Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.
dfs.data.dir
/root/hadoop/dfs/data
Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.
dfs.replication
2
dfs.permissions
false
need not permissions
注意:dfs.permissions如果配置成true,则对dfs上的文件进行读写时,就需要检查权限。会更安全。如果该参数不配,则默认为校验权限。
执行cp /opt/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/etc/hadoop/mapred-site.xml,将系统提供的mapred-site.xml.template拷贝生成mapred-site.xml,然后编辑该xml,在
mapred.job.tracker
aeolus-vm0:49001
mapred.local.dir
/root/hadoop/var
mapreduce.framework.name
yarn
aeolus-vm1
aeolus-vm2
yarn.resourcemanager.hostname
aeolus-vm0
The address of the applications manager interface in the RM.
yarn.resourcemanager.address
${yarn.resourcemanager.hostname}:8032
The address of the scheduler interface.
yarn.resourcemanager.scheduler.address
${yarn.resourcemanager.hostname}:8030
The http address of the RM web application.
yarn.resourcemanager.webapp.address
${yarn.resourcemanager.hostname}:8088
The https adddress of the RM web application.
yarn.resourcemanager.webapp.https.address
${yarn.resourcemanager.hostname}:8090
yarn.resourcemanager.resource-tracker.address
${yarn.resourcemanager.hostname}:8031
The address of the RM admin interface.
yarn.resourcemanager.admin.address
${yarn.resourcemanager.hostname}:8033
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.scheduler.maximum-allocation-mb
1024
每个节点可用内存,单位MB,默认8182MB
yarn.nodemanager.vmem-pmem-ratio
2.1
yarn.nodemanager.resource.memory-mb
1024
yarn.nodemanager.vmem-check-enabled
false
说明:yarn.nodemanager.vmem-check-enabled这个的意思是忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不容易出问题。如果是实体机上,并且内存够多,可以将这个配置去掉。
根据上面的配置,我们将aeolus-vm0配置成了master,即namenode。那么只需要在该节点启动即可。
进入/opt/hadoop/bin,执行./hadoop namenode -format命令初始化该节点。
执行过程不报错,正常状态如下:
此时,/root/hadoop/dfs/name/current/目录下会多出如下几个文件:
在3台机器上重复第三步的所有操作,执行完成全部3台机器的初始化后,即可在namenode上启动hadoop。
在/opt/hadoop/sbin下,执行./start-all.sh,启动hadoop。如果启动过程和下图一致,则表示正常。
此时,找另外一台机器,输入namenode的地址和50070端口,如果出现下面的界面,则表示启动正常。
输入namenode的ip+8088端口,会出现claster管理页面,如下图。
到此,安装结束。
最后,如果要访问slave的8042端口,查看slave机器状态,则需要执行systemctl stop firewalld.service命令,关闭slave机器上的防火墙。