导语

如果之前的单机版hadoop环境安装满足不了你,集群版hadoop一定合你胃口,轻松入手。

目录

  1. 集群规划
  2. 前置条件
  3. 配置免密登录
    3.1 生成密匙
    3.2 免密登录
    3.3 验证免密登录
  4. 集群搭建
    4.1 下载并解压
    4.2 配置环境变量
    4.4 修改配置
    4.4 分发程序
    4.5 初始化
    4.6 启动集群
    4.7 查看集群
  5. 提交服务到集群

1. 集群规划

这里搭建一个 3 节点的 Hadoop 集群, 其中三台主机均部署 DataNodeNodeManager 服务, 但只有 hadoop001 上部署 NameNode 和 ResourceManager 服务。

2. 前置条件

Hadoop 的运行依赖 JDK,需要预先安装。其安装步骤单独整理至:

2.1 下载并解压

在官网下载所需版本的 JDK 1.8 , 下载后进行解压:

[root@ java]# tar -zxvf jdk-8u201-linux-x64.tar.gz

2.2 设置环境变量

[root@ java]# vi /etc/profile

添加如下配置:

export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

执行 source 命令,使得配置立即生效:

[root@ java]# source /etc/profile

2.3 检查是否安装成功

[root@ java]# java -version

显示出对应的版本信息则代表安装成功。

java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

3. 配置免密登录

3.1 生成密匙

在每台主机上使用 ssh-keygen 命令生成公钥私钥对:

3.2 免密登录

将 hadoop001 的公钥写到本机和远程机器的 ~/ .ssh/authorized_key 文件中:

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop001
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop002
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop003

3.3 验证免密登录

ssh hadoop002
ssh hadoop003

4. 集群搭建

4.1 下载并解压

下载 Hadoop。这里我下载的是 CDH 版本 Hadoop,

下载地址为:
http://archive.cloudera.com/cdh5/cdh/5/# tar -zvxf hadoop-2.6.0-cdh5.15.2.tar.gz

4.2 配置环境变量

编辑 profile 文件:

增加如下配置:

export HADOOP_HOME=/usr/app/hadoop-2.6.0-cdh5.15.2
export  PATH=${HADOOP_HOME}/bin:$PATH

执行 source 命令,使得配置立即生效:

4.3 修改配置

进入 ${HADOOP_HOME}/etc/hadoop 目录下,修改配置文件。各个配置文件内容如下:

  1. hadoop-env.sh
# 指定JDK的安装位置
export JAVA_HOME=/usr/java/jdk1.8.0_201/

  1. core-site.xml
<configuration><property><!--指定 namenode 的 hdfs 协议文件系统的通信地址--><name>fs.defaultFS</name><value>hdfs://hadoop001:8020</value></property><property><!--指定 hadoop 集群存储临时文件的目录--><name>hadoop.tmp.dir</name><value>/home/hadoop/tmp</value></property>
</configuration>

  1. hdfs-site.xml
<property><!--namenode 节点数据(即元数据)的存放位置,可以指定多个目录实现容错,多个目录用逗号分隔--><name>dfs.namenode.name.dir</name><value>/home/hadoop/namenode/data</value>
</property>
<property><!--datanode 节点数据(即数据块)的存放位置--><name>dfs.datanode.data.dir</name><value>/home/hadoop/datanode/data</value>
</property>

  1. yarn-site.xml
<configuration><property><!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上运行 MapReduce 程序。--><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><!--resourcemanager 的主机名--><name>yarn.resourcemanager.hostname</name><value>hadoop001</value></property>
</configuration>

  1. mapred-site.xml
<configuration><property><!--指定 mapreduce 作业运行在 yarn 上--><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

  1. slaves 配置所有从属节点的主机名或 IP 地址,每行一个。所有从属节点上的 DataNode 服务和 NodeManager 服务都会被启动。
hadoop001
hadoop002
hadoop003

4.4 分发程序

将 Hadoop 安装包分发到其他两台服务器,分发后建议在这两台服务器上也配置一下 Hadoop 的环境变量。

# 将安装包分发到hadoop002
scp -r /usr/app/hadoop-2.6.0-cdh5.15.2/  hadoop002:/usr/app/
# 将安装包分发到hadoop003
scp -r /usr/app/hadoop-2.6.0-cdh5.15.2/  hadoop003:/usr/app/

4.5 初始化

在 Hadoop001 上执行 namenode 初始化命令:

hdfs namenode -format

4.6 启动集群

进入到 Hadoop001 的 ${HADOOP_HOME}/sbin 目录下,启动 Hadoop。此时 hadoop002 和 hadoop003 上的相关服务也会被启动:

# 启动dfs服务
start-dfs.sh
# 启动yarn服务
start-yarn.sh

4.7 查看集群

在每台服务器上使用 jps 命令查看服务进程,或直接进入 Web-UI 界面进行查看,端口为 50070。可以看到此时有三个可用的 Datanode:

点击 Live Nodes 进入,可以看到每个 DataNode 的详细情况:

接着可以查看 Yarn 的情况,端口号为 8088 :

5. 提交服务到集群

提交作业到集群的方式和单机环境完全一致,这里以提交 Hadoop 内置的计算 Pi 的示例程序为例,在任何一个节点上执行都可以,命令如下:

hadoop jar /usr/app/hadoop-2.6.0-cdh5.15.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.15.2.jar  pi  3  3

hadoop namenode启动不了_集群版hadoop安装,写给大忙人看的相关推荐

  1. 大规模集群下Hadoop NameNode如何承载每秒上千次的高并发访问

    目录 一.问题源起 二.HDFS优雅的解决方案 (1)分段加锁机制 + 内存双缓冲机制 (2)多线程并发吞吐量的百倍优化 (3)缓冲数据批量刷磁盘 + 网络的优化 四.总结 五.参考文章 一.问题源起 ...

  2. Hadoop集群搭建(五:Hadoop HA集群模式的安装)

    实验 目的 要求 目的: 1.Hadoop的高可用完全分布模式的安装和验证 要求: 完成Hadoop的高可用完全分布模式的安装: Hadoop的相关服务进程能够正常的启动: HDFS能够正常的使用: ...

  3. Hadoop 2.x 完全分布式HA集群环境搭建

    Hadoop 2.x 完全分布式HA集群环境搭建 目录 Hadoop 2.0 环境搭建 前提:环境准备 第一步:修改hadoop-env.sh配置文件,配置好JAVA_HOME环境变量 第二步:修改h ...

  4. Hadoop集群搭 Hadoop分布式文件系统架构和设计

    Hadoop集群搭建 先决条件 确保在你集群中的每个节点上都安装了所有必需软件. 获取Hadoop软件包. 安装 安装Hadoop集群通常要将安装软件解压到集群内的所有机器上. 通常,集群里的一台机器 ...

  5. Hadoop 3.x搭建基础HDFS集群

    与Hadoop 2.x相比,它有一些新的特性如下: 基于JDK 1.8 HDFS可擦除编码 MR Native Task优化 基于Cgroup的内存隔离和IO Disk隔离 更改分配容器资源Conta ...

  6. 云服务器大数据高可用集群搭建-----hadoop篇

    目录 一.集群配置 二.集群规划 三.Hadoop.Zookeeper.Java.Centos版本 四.Linux配置 4.1 主机名配置 4.1.1 修改Linux主机名 4.1.2 修改linux ...

  7. <Zhuuu_ZZ>那些年我们踩过的Hadoop HA的坑--高可用集群

    高可用集群 一.Hadoop集群OK 二.Zookeeper集群OK(时区同步OK) 三.修改Hadoop配置文件 1.`vi core-site.xml` 2.`vi hdfs-site.xml` ...

  8. (五)Hadoop HA高可用集群的配置-Hadoop HA集群模式的安装

    目录 一.目的及要求: 实验目的: 实验要求: 二.环境要求: 集群规划: 三.具体步骤: 项目一:Hadoop的基本安装配置 项目二:Hadoop高可用完全分布模式配置 项目三:同步安装和配置 项目 ...

  9. Hadoop组件学习(一) —— 单点与集群的配置

    一.Hadoop核心组件 1.分布式文件存储系统HDFS(Hadoop Distributed File System) 2.资源管理系统YARN(Yet Another Resource Negot ...

最新文章

  1. selenium之作用和工作原理
  2. nginx 负载均衡示例
  3. Xamarin.Forms中为WebView指定数据来源Source
  4. 一起学WP7 XNA游戏开发(三.二 Sprite Texture Font)
  5. [译]学习IPython进行交互式计算和数据可视化(四)
  6. debug assertion failed!报错
  7. bootstrap日期时间控件
  8. ElasticSearch和mongodb的对比
  9. magento二次开发的基本步骤分享
  10. 第十三节:实际开发中使用最多的监视锁Monitor、lock语法糖的扩展、混合锁的使用(ManualResetEvent、SemaphoreSlim、ReaderWriterLockSlim)
  11. 数据结构与算法-笨办法解决问题1909
  12. 【Antlr】Antler 解析 没有进入 visit 相关方法中 一个愚蠢的问题
  13. python绘制拟合回归散点图_Python之简单线性回归
  14. php socket发数据打印,PHP向socket服务器收发数据的方法
  15. 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
  16. 【图像加密】基于matlab GUI混沌系统图像加密解密【含Matlab源码 147期】
  17. DEA博弈交叉效率matlab,dea的交叉效率
  18. Win7激活工具的原理是什么?
  19. 我的世界服务器怎么无限附魔,我的世界无限附魔书指令
  20. 有关于fprintf()函数的用法

热门文章

  1. python文件读写小结
  2. LOJ#6002. 「网络流 24 题」最小路径覆盖
  3. 刷题向》一道逆向思维题(BZOJ1046)(NORMAL)
  4. python-pass
  5. Linux makefile 教程 很具体,且易懂
  6. hdu4353 Finding Mine三角形内的点数
  7. JS的手写TRIM函数
  8. 239. Sliding Window Maximum
  9. code1928: 日期差值 技巧模拟
  10. ajax 批量上传图片插件,TinyMCE多图片批量上传(Ajax)教程