hadoop完全分布式部署集群

环境配置:
操作系统:redhat6.5 iptables selinux off
Server1为主节点  172.25.45.1 (上一篇博客已经配置成功)
Server2和server3为子节点 172.25.45.2   172.25.45.3
hadoop-2.7.3版本

server1停掉服务并切换到超级用户

[hadoop@server1 hadoop-2.7.3]$ sbin/stop-yarn.sh 
[hadoop@server1 hadoop-2.7.3]$ sbin/stop-dfs.sh 

Hadoop集群:

在server1,server2和servre3端安装nfs-utils服务:

[root@server1 ~]# yum install -y nfs-utils 

编辑文件:

[root@server1 ~]# vim /etc/exports 

开启服务:

[root@server1 ~]# /etc/init.d/rpcbind start   ###启动服务
[root@server1 ~]# /etc/init.d/nfs start

刷新挂载:

[root@server1 ~]# showmount -e 172.25.45.1

同样在server2和server3端安装服务并建立用户,之后开启服务,将servre1端的目录挂载:

[root@server2 ~]# yum install -y nfs-utils    ##安装nfs
[root@server2 ~]# /etc/init.d/rpcbind start   ###启动服务
[root@server2 ~]# /etc/init.d/nfs start
[root@server2 ~]# useradd -u 800 hadoop ##建立用户
[root@server2 ~]# mount 172.25.45.1:/home/hadoop/ /home/hadoop/  ###挂载目录,进行同步
[root@server2 ~]# su - hadoop
[hadoop@server2 ~]$ ls    ##发现server1hadoop用户家目录文件已经同步过来了

ssh测试:  (注意:hadoop用户下不需要密码测试通过)

[hadoop@server1 ~]$ ssh 172.25.45.2
[hadoop@server1 ~]$ ssh 172.25.45.3

sevrer1端切换到hadoop用户并编辑文件:

[hadoop@server1 ~]$ ln -s hadoop-2.7.3 hadoop
[hadoop@server1 ~]$ cd hadoop/etc/hadoop/
[hadoop@server1 hadoop]$ vim hdfs-site.xml 

设定从设备:

[hadoop@server1 hadoop]$ vim slaves 

重新进行服务初始化:

[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ bin/hdfs namenode -format

开启服务:

[hadoop@server1 hadoop]$ sbin/start-dfs.sh 

查看java进程:

[hadoop@server1 hadoop]$ jps

在server2和server3上:

测试:重新初始化后重新建立共享目录

[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir /user 
[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir /user/hadoop 
[hadoop@server1 hadoop]$ bin/hdfs dfs -put input/ 
[hadoop@server1 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar 
 wordcount input output

查看:

[hadoop@server1 hadoop]$ bin/hdfs dfs -cat output/*

节点的添加

要给集群添加节点server4,需要在server4端同样地安装nsf-utils,开启服务,建立用户并挂载目录:

[root@server4 ~]# yum install nfs-utils -y
[root@server4 ~]# /etc/init.d/rpcbind start
[root@server4 ~]# /etc/init.d/nfs start
[root@server4 ~]# useradd -u 800 hadoop
[root@server4 ~]# mount 172.25.45.1:/home/hadoop/ /home/hadoop/

切换到hadoop用户并编辑文件slave:

[hadoop@server4 ~]$ cd hadoop/etc/hadoop/
[hadoop@server4 hadoop]$ vim slaves 

开启数据节点:

[hadoop@server4 ~]$ cd hadoop
[hadoop@server4 hadoop]$ sbin/hadoop-daemon.sh start datanode

效果查看:成功添加server4

[hadoop@server4 hadoop]$ bin/hdfs dfsadmin -report

也可以在浏览器中查看节点

节点删除

为了测试效果,在server1端将一个文件加到文件系统中:

[hadoop@server1 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@server1 hadoop]$ dd if=/dev/zero of=bigfile bs=1M count=500
[hadoop@server1 hadoop]$ bin/hdfs dfs -put bigfile 

浏览器查看文件成功加入到文件系统:

查看节点信息:
可以发现server3端存有571.29M的数据

[hadoop@server1 hadoop]$ bin/hdfs dfsadmin -report


[hadoop@server1 ~]$ vim hadoop/etc/hadoop/hdfs-site.xml 
[hadoop@server1 ~]$ vim /home/hadoop/hadoop/etc/hadoop/exclude-hosts#指定SecondaryNameNode节点的主机名或IP地址

 

编辑slave文件将sevrer4删除:

[hadoop@server1 ~]$ vim hadoop/etc/hadoop/slaves 

刷新:

[hadoop@server1 hadoop]$ bin/hdfs dfsadmin -refreshNodes

查看集群状态:

[hadoop@server1 hadoop]$ bin/hdfs dfsadmin -report

迁移完成,并且server4的数据转移到server3上:

之后在server3端停掉服务:

[hadoop@server3 hadoop]$ sbin/hadoop-daemon.sh stop datanode

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值