【Hadoop学习之三】Hadoop全分布式安装
环境
虚拟机: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 100% 1947 1.9KB/s 00:00 [root@node1 etc]# scp /etc/profile node3:`pwd` profile 100% 1947 1.9KB/s 00:00 [root@node1 etc]# scp /etc/profile node4:`pwd` profile 100% 1947 1.9KB/s 00:00
3、node1-node4设置主机名 后重启
[root@node1 /]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 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 100% 242 0.2KB/s 00:00 [root@node1 etc]# scp /etc/hosts node3:`pwd` hosts 100% 242 0.2KB/s 00:00 [root@node1 etc]# scp /etc/hosts node4:`pwd` hosts 100% 242 0.2KB/s 00:00
第一次配置hosts 需要重启生效
[root@node1 /]# reboot
二、配置
1、修改/usr/local/hadoop-3.1.1/etc/hadoop/hadoop-env.sh 设置JAVA环境变量、角色用户
在最后添加如下设置:
export JAVA_HOME=/usr/local/jdk1.8.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>1</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.1 node2:`pwd`
[root@node2 local]# scp -r /usr/local/hadoop-3.1.1 node3:`pwd`
[root@node2 local]# scp -r /usr/local/hadoop-3.1.1 node4:`pwd`
三、启动
首次启动,需要主节点进行格式化
[root@node1 /]# hdfs namenode -format
启动:node1作为namenode主节点,要在主节点上启动
[root@node1 /]# start-dfs.sh
关闭:
[root@node1 /]# stop-dfs.sh
可以使用jps命令,在node2、node3、node4上查看启动情况