1. 前言

本文搭建了一个由三节点(master、slave1、slave2)构成的Hadoop完全分布式集群,并通过Hadoop分布式计算的一个示例测试集群的正确性。

2. 基础集群的搭建

目的:获得一个可以互相通信的三节点集群

使用VMware安装master节点(稍后其他两个节点可以通过复制master节点的虚拟机文件创建)。

三个节点存储均为30G默认安装,master节点内存大小为1GB,单核,slave节点内存大小1GB,单核

3. 集群网络配置

本文中的集群网络环境配置如下:

ubuntu1内网IP:192.168.186.101

ubuntu2内网IP:192.168.186.102

ubuntu3内网IP:192.168.186.103

4. 集群SSH免密登陆设置

4.1 创建master用户

为三个节点分别创建相同的用户master,并在以后的操作均在此用户下操作,操作如下:

$su -#useradd -m master#passwd master

为hadoop添加sudo权限

#visudo

在该行root ALL=(ALL) ALL下添加master ALL=(ALL) ALL保存后退出,并切换回hadoop用户

#su master

注意事项:三个节点的用户名必须相同,不然以后会对后面ssh及hadoop集群搭建产生巨大影响

4.2 Host文件设置

为了不直接使用IP,可以通过设置hosts文件达到ssh slave1这样的的效果(三个节点设置相同)

$sudo vim /etc/hosts

在文件尾部添加如下行,保存后退出:

192.168.186.101  ubuntu1

192.168.186.102  ubuntu2

192.168.186.103  ubuntu3

4.3 ssh设置

设置master节点和两个slave节点之间的双向ssh免密通信,下面以master节点ssh免密登陆slave节点设置为例,进行ssh设置介绍(以下操作均在master机器上操作):

首先生成master的rsa密钥:$ssh-keygen -t rsa

设置全部采用默认值进行回车

将生成的rsa追加写入授权文件:$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

给授权文件权限:$chmod 600 ~/.ssh/authorized_keys

进行本机ssh测试:$ssh master正常免密登陆后所有的ssh第一次都需要密码,此后都不需要密码

将master上的authorized_keys传到slave1

sudo scp ~/.ssh/authorized_keys master@ubuntu2:~/.ssh/

退出slave1:$exit

进行免密ssh登陆测试:$ssh ubuntu2

5. Java安装

目的:hadoop是基于Java的,所以要安装配置Java环境(三个节点均需要操作,以下以master节点为例)

配置JavaPATH和Java_HOME
export JAVA_HOME=/opt/softwares/java/jdk1.8.0_191export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:

6.Hadoop HDFS 安装

6.1 Hadoop的masetr节点配置

配置hadoop的配置文件core-site.xml  hdfs-site.xml  mapred-site.xml  yarn-site.xml  slaves(都在~/hadoop/etc/hadoop文件夹下)

$cd ~/hadoop/etc/hadoop

$vim core-site.xml其他文件相同,以下为配置文件内容:

core-site.xml

<configuration>
<!-- 指定HDFS namenode的通信地址 -->
<property><name>fs.defaultFS</name><value>hdfs://ubuntu1:9000</value>
</property><!-- 指定hadoop运行时产生文件的存储路径 -->
<property><name>hadoop.tmp.dir</name><value>/opt/softwares/hadoop/tmp</value>
</property>
</configuration>

hdfs-site.xml

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

hadoop-env.sh

export JAVA_HOME=/opt/softwares/java/jdk1.8.0_191

配置vim /etc/profile

export JAVA_HOME=/opt/softwares/java/jdk1.8.0_191
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
#Zookeeper
export ZOOKEEPER_HOME=/opt/softwares/zookeeper/zookeeper-3.4.6
#Hadoop
export HADOOP_HOME=/opt/softwares/hadoop/hadoop-2.9.2
#PATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

7. Hadoop Namenode格式化

hdfs namenode -format  (ubuntu1)
start-dfs.sh

8. 启动和关闭Hadoop HDFS

8.1 启动HDFS

启动hadoop Hdfs进程

start-dfs.sh

启动hadoop namenode进程

hadoop-daemon.sh start namenode

启动hadoop datanode进程

hadoop-daemon.sh start datanode

启动hadoop Secondarynamenode进程

hadoop-daemon.sh start secondarynamenode

8.2 关闭HDFS

关闭hadoop Hdfs进程

stop-dfs.sh

关闭hadoop namenode进程

hadoop-daemon.sh stop namenode

关闭hadoop datanode进程

hadoop-daemon.sh stop datanode

关闭hadoop Secondarynamenode进程

hadoop-daemon.sh stop secondarynamenode

Hadoop详解(三):HDFS完全分布式环境搭建相关推荐

  1. HDFS伪分布式环境搭建-很不错

    HDFS伪分布式环境搭建 原创 ZeroOne01 2018-03-24 19:51:20 评论(0) 655人阅读 HDFS概述及设计目标 什么是HDFS: 是Hadoop实现的一个分布式文件系统( ...

  2. Hadoop详解(三)——MapReduce原理和执行过程,远程Debug,Writable序列化接口,MapReduce程序编写

    MapReduce概述 MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题. MR由两个阶段组成:Map和Reduce,用户只需要实现map()和Re ...

  3. 看完就能独自把集群搭起来!Hadoop HDFS完全分布式环境搭建以及技术详解

    作者 | 慢慢变成大佬 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 在文章开始之前,作者想要告诉大家:读懂本篇文章,能让小白快速入门,并且能够搭建完全分布式的集群,以及 ...

  4. Hadoop HDFS完全分布式环境搭建以及技术详解(保证没接触过大数据的小白看完就能独自把集群搭起来,并对HDFS有详细的认知)

    **读懂本篇文章,能让小白快速入门,并且能够搭建完全分布式的集群,以及能对hadoop hdfs产生详细的认知,对以后的学习有很大的帮助** 我们先来了解hadoop的hdfs基本概念,熟知基本概念, ...

  5. 详解三种主流分布式事务方案的优劣

    一.分布式事务前奏 事务:事务是由一组操作构成的可靠的独立的工作单元,事务具备ACID的特性,即原子性.一致性.隔离性和持久性. 本地事务:当事务由资源管理器本地管理时被称作本地事务.本地事务的优点就 ...

  6. 家用路由器研究详解入门(内含仿真环境搭建)

    家用路由器研究介绍 soho路由器 常见路由器品牌 家用路由器漏洞主要四个方面 WI-FI常见加密认证方式3种 WPS一键加密技术(Wi-Fi Protected Setup) 路由器密码 后门|溢出 ...

  7. HDFS伪分布式环境搭建

    (一).HDFS shell操作 以上已经介绍了如何搭建伪分布式的Hadoop,既然环境已经搭建起来了,那要怎么去操作呢?这就是本节将要介绍的内容:HDFS自带有一些shell命令,通过这些命令我们可 ...

  8. Hadoop详解以及历史版本介绍

    Hadoop详解 Hadoop的介绍以及发展历史 Hadoop之父Doug Cutting Hadoop最早起源于lucene下的Nutch.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页 ...

  9. Hadoop入门基础教程 Hadoop之完全分布式环境搭建

    上一篇我们完成了Hadoop伪分布式环境的搭建,伪分布式模式也叫单节点集群模式, NameNode.SecondaryNameNode.DataNode.JobTracker.TaskTracker所 ...

最新文章

  1. Keystone创建服务实体报错HTTP401和HTTP500
  2. matlab 创建批量文件夹_Matlab开发Web App服务器(一)
  3. 使用easyexcel导出
  4. AI学习笔记(三)特征选择与提取、边缘提取
  5. 使用bat运行jar文件
  6. [转载]遗留系统中的RUBY中文解决方案
  7. LintCode 137. 克隆图
  8. LaTeX 引用表格、照片、公式的时候自动添加 table,fig,equ
  9. DSP28335 CAN通讯实验
  10. CCC中国强制性产品认证目录已公布 共17大类103种产品
  11. mumu模拟器android调试,如何使用网易mumu模拟器调试安卓程序?
  12. 【详解】MD5加密真的安全吗?不安全有什么解决办法?
  13. 头脑王者答题神器,开发思路
  14. 平凡的世界 田晓霞的日记 摘抄
  15. [golang] go中如何监听一组channels
  16. Calamari 安装
  17. http的长连接和短连接(史上最通俗!)
  18. neo4j报错1:因CREATE和MERGE报错
  19. java实现mysql还原_java代码实现mysql的备份与还原
  20. 【Python】计算机视觉 手掌图片穴位识别(二)

热门文章

  1. 对比两个表中,字段名不一样的SQL
  2. webservice客户端开发
  3. 数字证书管理工具keytool常用命令介绍
  4. 学习笔记——XSLT转换器的使用(Xalan和Saxon) .(转)
  5. java学习与总结:反射及动态代理
  6. 人工智能与电气工程及其自动技术论述
  7. 我国科学家成功研制全球神经元规模最大的类脑计算机
  8. 语音识别发展必牺牲隐私?最大问题或因不符用户预期,需增透明性
  9. 在简历中应用STAR法则
  10. 自动控制理论及matlab,自动控制理论及MATLAB实现