环境
虚拟机:VMware 10
Linux版本:CentOS-6.5-x86_64
客户端:Xshell4
FTP:Xftp4
jdk8
hadoop3.1.1
全分布式就是集群,注意配置主机名。
一、平台和软件
1、安装JDK和免密登录参考:【Hadoop学习之二】Hadoop伪分布式安装
2、设置环境变量
[root@node1 /]# vi /etc/profile
[root@node1 /]# source /etc/profile
#注意pwd 是打印当前路径 意思是要拷贝到远程主机统一目录下
[root@node1 etc]# scp /etc/profile node2:`pwd`
profile % .9KB/s :
[root@node1 etc]# scp /etc/profile node3:`pwd`
profile % .9KB/s :
[root@node1 etc]# scp /etc/profile node4:`pwd`
profile % .9KB/s :
3、node1-node4设置主机名 后重启
[root@node1 /]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.230.11 node1
192.168.230.12 node2
192.168.230.13 node3
192.168.230.14 node4
分发到另外三个节点
[root@node1 etc]# scp /etc/hosts node2:`pwd`
hosts % .2KB/s :
[root@node1 etc]# scp /etc/hosts node3:`pwd`
hosts % .2KB/s :
[root@node1 etc]# scp /etc/hosts node4:`pwd`
hosts % .2KB/s :
第一次配置hosts 需要重启生效
[root@node1 /]# reboot
二、配置
1、修改/usr/local/hadoop-3.1.1/etc/hadoop/hadoop-env.sh 设置JAVA环境变量、角色用户
在最后添加如下设置:
export JAVA_HOME=/usr/local/jdk1..0_65
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
2、修改/usr/local/hadoop-3.1.1/etc/hadoop/core-site.xml 配置主节点相关信息
(1)fs.defaultFS 主节点通讯信息 (hadoop3默认端口改为9820)
(2)hadoop.tmp.dir 设置namenode元数据和datanode block数据的目录
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9820</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoopfull</value>
</property>
</configuration>
3、修改/usr/local/hadoop-3.1.1/etc/hadoop/hdfs-site.xml 配置从节点相关信息
(1)dfs.replication 副本数
(2)dfs.namenode.secondary.http-address 二级namenode (hadoop默认端口改为9868)
<property>
<name>dfs.replication</name>
<value></value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
4、修改workers(hadoop2.X叫slave)配置从节点(DATANODE)信息
配置:
node2
node3
node4
5、分发hadoop到node2、node3、node4 依赖免密登录 注意拷贝时的目录 (注意:jdk也可以采用这种方式分发)
[root@node2 local]# scp -r /usr/local/hadoop-3.1. node2:`pwd`
[root@node2 local]# scp -r /usr/local/hadoop-3.1. node3:`pwd`
[root@node2 local]# scp -r /usr/local/hadoop-3.1. node4:`pwd`
三、启动
首次启动,需要主节点进行格式化
[root@node1 /]# hdfs namenode -format
启动:node1作为namenode主节点,要在主节点上启动
[root@node1 /]# start-dfs.sh
关闭:
[root@node1 /]# stop-dfs.sh
可以使用jps命令,在node2、node3、node4上查看启动情况