一、准备工作

在伪分布式的搭建基础上修改配置,搭建全分布式hadoop环境,伪分布式安装参照 hadoop伪分布式安装

首先准备4台虚拟机,信息如下:

192.168.1.11  namenode1

192.168.1.12  datanode1

192.168.1.13  datanode2

129.168.1.14  datanode3

第一台namenode1用做NameNode节点,我们使用伪分布式安装好的环境(将其配置文件进行修改,并分发给其他3个节点)。

第二台datanode1用作第一台DataNode以及SecondaryNameNode。

第三台和第四台虚拟机,即datanode2和datanode3用作纯粹的Datanode节点。

在每台虚拟机上做如下基本操作:

1.配置各自的hostname(以namenode1为例)

vi /etc/hostname

namenode1

2.配置主机映射

vi /etc/hosts

192.168.1.11    namenode1
192.168.1.12 datanode1
192.168.1.13 datanode2
192.168.1.14 datanode3

3.在namenode1上生成ssh公钥,并拷贝给其他节点

ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@namenode1
ssh-copy-id -i /root/.ssh/id_rsa.pub root@datanode1
ssh-copy-id -i /root/.ssh/id_rsa.pub root@datanode2
ssh-copy-id -i /root/.ssh/id_rsa.pub root@datanode3

4.保证每台虚拟机的JDK安装

[root@datanode1 ~]# jps
Jps

如果未安装JDK或未配置环境变量,请参照伪分布式安装中的步骤进行JDK的安装。

二、修改Hadoop配置文件

从伪分布式环境中,将hadoop包直接拷贝到namenode1的/opt目录下:

[root@namenode1 ~]# cd /opt/
[root@namenode1 opt]# ll
total
drwxr-xr-x root root Nov : hadoop-2.6.

这个hadoop包中的配置文件都是在伪分布安装时的配置。我们要对其进行一些修改:

1.备份伪分布式的配置文件:

[root@namenode1 etc]# cd /opt/hadoop-2.6./etc/
[root@namenode1 etc]# cp -r hadoop hadoop_pseudo/

2.修改core-site.xml

vi /opt/hadoop-2.6./etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/full</value>
</property>
</configuration>

3.修改hdfs-site.xml

vi /opt/hadoop-2.6./etc/hadoop/hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>datanode1:</value>
</property>
</configuration>

在这里,我们将SecondaryNameNode放在datanode1节点上,当然也可以用一台单独的虚拟机来运行。

4.修改slaves

vi /opt/hadoop-2.6./etc/hadoop/slaves

datanode1
datanode2
datanode3

三、将修改好配置后的hadoop包分发给其余三个节点

scp -r /opt/hadoop-2.6. root@datanode1:/opt/
scp -r /opt/hadoop-2.6. root@datanode2:/opt/
scp -r /opt/hadoop-2.6. root@datanode3:/opt/

四、为所有节点的hadoop配置环境变量

当然也可以通过分发的形式:

scp /etc/profile root@datanode1:/etc/
scp /etc/profile root@datanode2:/etc/
scp /etc/profile root@datanode3:/etc/

在每台虚拟机上让环境变量生效:

. /etc/profile

五、初始化全分布式hadoop集群

在namenode1上运行:

[root@namenode1 opt]# hdfs namenode -format
// :: INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = namenode1/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.6.5
......
......
......
19/11/19 16:24:38 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at namenode1/192.168.1.11
************************************************************/

查看/var/hadoop下的文件:

[root@namenode1 name]# cd /var/hadoop/
[root@namenode1 hadoop]# ll
total
drwxr-xr-x root root Nov : full
# 此时存在格式化产生的namenode节点数据存放目录
cd /var/hadoop/full/dfs/name

而在其他三个节点上,此时还不存在此类目录,因为格式化的时候只会作用于NN,而要在启动集群的时候才会在DN上产生这类目录。

六、启动集群

start-dfs.sh
[root@namenode1 sbin]# start-dfs.sh
Starting namenodes on [namenode1]
namenode1: starting namenode, logging to /opt/hadoop-2.6./logs/hadoop-root-namenode-namenode1.out
datanode1: starting datanode, logging to /opt/hadoop-2.6./logs/hadoop-root-datanode-datanode1.out
datanode3: starting datanode, logging to /opt/hadoop-2.6./logs/hadoop-root-datanode-datanode3.out
datanode2: starting datanode, logging to /opt/hadoop-2.6./logs/hadoop-root-datanode-datanode2.out
Starting secondary namenodes [datanode1]
datanode1: starting secondarynamenode, logging to /opt/hadoop-2.6./logs/hadoop-root-secondarynamenode-datanode1.out

我们可以看到,nn启动在namenode1上,snn启动在datanode1上,其余dn启动在datanode1、datanode2、datanode3上。

访问192.168.1.11:50070可以成功打开hadoop提供的web管理页面:

[大数据] hadoop全分布式安装的更多相关文章

  1. [大数据] hadoop伪分布式安装

    注意:节点主机的hostname不要带"_"等字符,否则会报错. 一.安装jdk rpm -i jdk-7u80-linux-x64.rpm 配置java环境变量: vi + /e ...

  2. 搭建大数据hadoop完全分布式环境遇到的坑

    搭建大数据hadoop完全分布式环境,遇到很多问题,这里记录一部分,以备以后查看. 1.在安装配置完hadoop以后,需要格式化namenode,输入指令:hadoop namenode -forma ...

  3. 2020/4/26 大数据的zookeeper分布式安装

    大数据的zookeeper分布式安装 **** 前面的文章已经提到Hadoop的伪分布式安装.现在就在原有的基础上安装zookeeper. 首先启动Hadoop平台 [root@master ~]# ...

  4. 【Hadoop学习之三】Hadoop全分布式安装

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop3.1.1 全分布式就是集群,注意配置主机名. ...

  5. 我搭建大数据Hadoop完全分布式环境遇到的坑---hadoop: command not found

    搭建大数据hadoop环境,遇到很多问题,这里记录一部分,以备以后查看. [遇到问题].在安装配置完hadoop以后,需要格式化namenode,输入指令:hadoop namenode -forma ...

  6. [大数据] hadoop高可用(HA)部署(未完)

    一.HA部署架构 如上图所示,我们可以将其分为三个部分: 1.NN和DN组成Hadoop业务组件.浅绿色部分. 2.中间深蓝色部分,为Journal Node,其为一个集群,用于提供高可用的共享文件存 ...

  7. 大数据系列之分布式数据库HBase-0.9.8安装及增删改查实践

    若查看HBase-1.2.4版本内容及demo代码详见 大数据系列之分布式数据库HBase-1.2.4+Zookeeper 安装及增删改查实践 1. 环境准备: 1.需要在Hadoop启动正常情况下安 ...

  8. 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析

    这一讲我们主要剖析MapReduce的原理机制和流程. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发 ...

  9. 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

    这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...

随机推荐

  1. 谷歌云SSH开启root密码登陆

    废话不多说,开始教程 1.先选择从浏览器打开ssh连接服务器连接登录成功后,输入以下命令 sudo -i #切换到root passwd #修改密码 然后会要求输入新密码,然后再重复一次密码,输入密码 ...

  2. Linux实用技巧

    1. linux共享内存的查看和释放 查看共享内存命令:ipcs -m 删除共享内存明明:ipcrm -m [shmid] [negivup@negivup mycode]$ ipcs -m  查看共 ...

  3. iframe在firefox下的无法正常target问题

    今日在改一个网站的时候碰到个奇葩的问题. 把网站按照结构划分,做了个主页面,嵌入iframe,设定该iframe的name,主页面上的链接使用target保证在iframe中打开该链接. 听上去很常规 ...

  4. Java白皮书学习笔记+Head First Java--用于自我复习 基础知识篇

    本笔记是摘与Hava白皮书上面的内容,用来给自己做提醒的,因此大概并不适合Java的学习者作为笔记参考使用. 以我的水平现在还看不懂这个... 一.基础知识篇 1.常量 final关键字指示常量,只能 ...

  5. 2019HDU多校赛第二场 H HDU 6598 Harmonious Army(最小割模型)

    参考博客https://blog.csdn.net/u013534123/article/details/97142191 #include<bits/stdc++.h> using na ...

  6. Kinect开发-Hello Kinect

    置好开发环境后,首先测试下是否真的完成,也就是能够正常进行开发.此时,当然就得祭出Hello World大法! 1.首先创建一个WPF Application工程,之后添加对Microsoft.Kin ...

  7. 搞懂Redis复制原理

    前言 与大多数db一样,Redis也提供了复制机制,以满足故障恢复和负载均衡等需求.复制也是Redis高可用的基础,哨兵和集群都是建立在复制基础上实现高可用的.复制不仅提高了整个系统的容错能力,还可以 ...

  8. AWS In Action

    Core Services of AWS Elastic Cloud Compute(EC2) Simple Storage Service(S3) Relational Database Servi ...

  9. Express multer 文件上传

    npm multer 文件上传 Express app 范本就不写了,仅记录一下上传部分的代码. const fs = require('fs'); const express = require(' ...

  10. 关于IDEA顶部栏隐藏问题,

    那天手残,点到了 IDEA顶部菜单栏 > View > Appearance >Main Menu ,然后取消了勾选 然后就成了这个样子,没了顶部栏,恢复不过来,不知道如何进行设置 ...