CentOS7.5搭建Hadoop2.7.6完全分布式集群

一 完全分布式集群搭建

Hadoop官方地址:http://hadoop.apache.org/

1  准备3台客户机

1.2 关闭防火墙,设置静态IP,主机名

关闭防火墙,设置静态IP,主机名此处略,参考  Linux之CentOS7.5安装及克隆

1.2 修改host文件

我们希望三个主机之间都能够使用主机名称的方式相互访问而不是IP,我们需要在hosts中配置其他主机的host。因此我们在主机的/etc/hosts下均进行如下配置:

[root@node21 ~]# vi /etc/hosts
配置主机host
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.21 node21
192.168.100.22 node22
192.168.100.23 node23
将配置发送到其他主机(同时在其他主机上配置)
[root@node21 ~]# scp -r /etc/hosts root@node22:/etc/
[root@node21 ~]# scp -r /etc/hosts root@node23:/etc/
测试
[root@node21 ~]# ping node21
[root@node21 ~]# ping node22
[root@node21 ~]# ping node23

1.3 添加用户账号

在所有的主机下均建立一个账号admin用来运行hadoop ,并将其添加至sudoers中
[root@node21 ~]# useradd admin    添加用户通过手动输入修改密码
[root@node21 ~]# passwd  admin  更改用户 admin 的密码
123456  passwd: 所有的身份验证令牌已经成功更新。
设置admin用户具有root权限  修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
[root@node21 ~]# visudo
## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
admin   ALL=(ALL)     ALL
修改完毕  :wq! 保存退出,现在可以用admin帐号登录,然后用命令 su - ,切换用户即可获得root权限进行操作。 

1.4 /opt目录下创建文件夹

1)在root用户下创建module、software文件夹
[root@node21 opt]# mkdir module
[root@node21 opt]# mkdir software
2)修改module、software文件夹的所有者
[root@node21 opt]# chown admin:admin module
[root@node21 opt]# chown admin:admin software
3)查看module、software文件夹的所有者
[root@node21 opt]# ll
total 0
drwxr-xr-x. 5 admin admin 64 May 27 00:24 module
drwxr-xr-x. 2 admin admin 267 May 26 11:56 software

2   安装配置jdk1.8

[deng@node21 ~]# rpm -qa|grep java   #查询是否安装java软件:
[deng@node21 ~]# rpm -e –nodeps 软件包   #如果安装的版本低于1.7,卸载该jdk
在线安装   wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  http://download.oracle.com/otn/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
这里使用本地下载然后 xftp上传到  /opt/software/ 下 
[root@node21 software]# tar zxvf  jdk-8u171-linux-x64.tar.gz  -C  /opt/module/
[root@node21 module]# mv jdk1.8.0_171 jdk1.8
设置JAVA_HOME  
vi /etc/profile
export  JAVA_HOME=/opt/module/jdk1.8
export  PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin
source  /etc/profile
向其他节点复制jdk
[root@node21 ~]# scp -r /opt/module/jdk1.8 root@node22:`pwd`
[root@node21 ~]# scp -r /opt/module/jdk1.8 root@node23:`pwd`
配置各个主机下jdk的环境变量,由于我的电脑上linux都是新安装的,环境变量相同,因此直接复制到了其他主机上。如果不同的主机的环境变量不同,请手动设置
[root@node21 ~]# scp /etc/profile root@node22:/etc/
[root@node21 ~]# scp /etc/profile root@node23:/etc/
在每个主机上都重新编译一下/etc/profile
[root@node21]# source /etc/profile
测试  java -version

3   安装hadoop集群

3.1 集群部署规划

节点名称  NN1  NN2  DN  RM  NM
node21 NameNode     DataNode   NodeManager
node22   SecondaryNameNode DataNode ResourceManager NodeManager
node23     DataNode   NodeManager

3.2 设置SSH免密钥

关于ssh免密码的设置,要求每两台主机之间设置免密码,自己的主机与自己的主机之间也要求设置免密码。 这项操作可以在admin用户下执行,执行完毕公钥在/home/admin/.ssh/id_rsa.pub

[admin@node21 ~]# ssh-keygen -t rsa
[admin@node21 ~]# ssh-copy-id node21
[admin@node21 ~]# ssh-copy-id node22
[admin@node21 ~]# ssh-copy-id node23

node1与node2为namenode节点要相互免秘钥   HDFS的HA

[admin@node22 ~]# ssh-keygen -t rsa
[admin@node22 ~]# ssh-copy-id node22
[admin@node22 ~]# ssh-copy-id node21
[admin@node22 ~]# ssh-copy-id node23

node2与node3为yarn节点要相互免秘钥  YARN的HA

[admin@node23 ~]# ssh-keygen -t rsa
[admin@node23 ~]# ssh-copy-id node23
[admin@node23 ~]# ssh-copy-id node21
[admin@node23 ~]# ssh-copy-id node22 

3.3  解压安装hadoop

[admin@node21 software]# tar zxvf hadoop-2.7.6.tar.gz -C /opt/module/

4   配置hadoop集群

注意:配置文件在hadoop2.7.6/etc/hadoop/下

4.1 修改core-site.xml

[admin@node21 hadoop]$ vi core-site.xml
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
     <property>
     <name>fs.defaultFS</name>
         <value>hdfs://node21:9000</value>
     </property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
     <property>
     <name>hadoop.tmp.dir</name>
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值