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

aa17bce876c8408e44711e015ec78af2.png

导语

如果之前的单机版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 服务。

034ed04ed3fc85ea0a0c7bb5a2336ad8.png

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:

e9509a54fefd7099186d396f796a39e5.png

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

6eea95c8a1fdbb96a25cfc5a1c1179f4.png

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

bfa32d5544a2227bc0a922e504f8afd6.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435322.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

patch文件制作

一、为单个文件打补丁1、首先我用的ubuntu12 os&#xff0c;cat >>test0<<eof但是这命令执行得是root身份more命令功能&#xff1a;让画面在显示满一页时暂停&#xff0c;此时可按空格健继续显示下一个画面&#xff0c;或按Q键停止显示。more test0:查看test0内容2…

[转]百万级访问网站前期的技术准备

作者&#xff1a;一路凯歌来源&#xff1a;http://zhiyi.us/ 开了自己域名的博客&#xff0c;第一篇就得来个重磅一点的才对得起这4美金的域名。作为一个技术从业者十年&#xff0c;逛了十年发现有些知识东一榔头西一棒槌的得满世界 看个遍才整理出个头绪&#xff0c;那咱就系统…

java string逆序_java经典入门算法题,java初学者必备

java经典入门算法题开头求关注警告喜欢这样文章的可以关注我&#xff0c;我会持续更新&#xff0c;你们的关注是我更新的动力&#xff01;需要更多java学习资料的也可以私信我&#xff01;祝关注我的人都&#xff1a;身体健康&#xff0c;财源广进&#xff0c;福如东海,寿比南山…

u-boot的patch文件制作

首先明白为什么要制作patch文件&#xff0c;因为u-boot的移植过程需要根据实际需要修改通用u-boot&#xff0c;如果每次手工修改的话&#xff0c;太麻烦&#xff0c;所以用了patch文件一步到位&#xff0c;这点类似于makefile的作用&#xff0c;哈哈1.了解 diff 和 patch。diff…

Powershell 最大值堆栈实现

Powershell 最大值堆栈实现 下面代码基于一个算法题目来实现一个用线性时间得到堆栈最大值的代码。 cls$maxStackConut 5$stackTopIndex -1$stack New-Object int[] ($maxStackConut) $link2NextMaxItem New-Object int[] ($maxStackConut)$maxStackItemIndex-1 function Pus…

python主线程执行_在Django vi中的主线程中执行Python函数

我创建了Django视图“graph”&#xff0c;目的是显示从matplotlib.pyplot模块。我编写了我的函数plot\u bubbles&#xff08;返回amatplotlib.figure.figure对象&#xff09;在脚本数据中_分析.py导入到视图.py脚本。在 Tkinter只能在主线程上运行&#xff0c;我的网页在我第一…

postgis创建空间数据库(pgadmin4)

打开软件 看我之前的安装步骤的用户密码为postgres 点击save 查看是否具有空间数据 1.查看是否存在空间数据表 2.查看是否具有空间函数

Outlook最小到系统托盘

Outlook最小到系统托盘 默认状态下outlook最小化以后在任务栏上还占一个位置&#xff0c;又不常用&#xff0c;关了又不能实时接收到邮件&#xff0c;可以通过以下方法隐藏到系统托盘&#xff0c;解决方法如下&#xff1a; 如果你用得是Office2007: 1 打开注册表&#xff1a;开…

嵌入式linux的学习笔记-共享内存(六)

共享内存共享内存是可以被多个进程共享访问的一部分物理内存,如果多个进程都把一个内存区映射到自身的虚拟地址空间,则这些进程就可以直接访问该共享的内存区域,从而通过共享内存的方式实现多进程间的通讯,共享内存是进程间数据通讯的最快方法.共享内存的实现分为两步:1,创建共…

SQL Server 2012 安装

SQL Server 2012 安装 安装包在这里&#xff1a;https://pan.baidu.com/s/1_sgxN8P-pzj7uZeAR0VlKQ 提取码&#xff1a;mnvj 文件比较大&#xff0c;慢慢下载吧 下载好后是这样的&#xff1a; 双击打开&#xff0c;点击 setup.exe 安装&#xff1a; 选择“安装”&#xff0…

矢量数据导入数据库

打开数据导入工具 设置数据库链接 用户名和密码都是postgres 链接成功 arcgis10.3之前编码是gbk之后为utf-8 目前作者用的是10.2版本导出的数据 shp文件名和路径名必须为英文 添加数据 成功导入 追加表的属性要一致 查看导入数据 查看是否导入成功 创建两个字段

@qualifier注解_常见的 Spring 注解概览

点击上方 Java后端&#xff0c;选择 设为星标优质文章&#xff0c;及时送达从Java5.0开始&#xff0c;Java开始支持注解。Spring做为Java生态中的领军框架&#xff0c;从2.5版本后也开始支持注解。相比起之前使用xml来配置Spring框架&#xff0c;使用注解提供了更多的控制Sprin…

IOCP

select()或是其它异步方法不同的是&#xff0c;一个套接字[socket]与一个完成端口关联了起来&#xff0c;然后就可继续进行正常的Winsock操作了。然而&#xff0c;当一个事件发生的时候&#xff0c;此完成端口就将被操作系统加入一个队列中。然后应用程序可以对核心层进行查询以…

经纬度转XY坐标-批量转换

excel存储的经纬度坐标&#xff0c;如何批量转换为XY平面坐标呢&#xff1f; 1.把度分秒转成度小数&#xff1a; 函数为&#xff1a;MID(B2,1,3)MID(B2,5,2)/60MID(B2,8,5)/3600 转换失效的需要补成两位数&#xff0c;如图 2.将文件另存为97-2003版本的excel&#xff0c;后缀…

【转载】C++读写ini配置文件GetPrivateProfileString()WritePrivateProfileString()

配置文件中经常用到ini文件&#xff0c;在VC中其函数分别为&#xff1a;#include <Windows.h> //wince,WMobile.ppc不支持这几个函数写入.ini文件&#xff1a;bool WritePrivateProfileString(LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpString, LPCTSTR lpFileNa…

python代码设计测试用例_Python单元测试与测试用例简析

Python单元测试与测试用例简析 发布时间&#xff1a;2019-11-20 22:03 来源&#xff1a;互联网 当前栏目&#xff1a;web技术类 本文实例讲述了Python单元测试与测试用例。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 单元测试与测试用例 简介 测试用例是一组单元测…

数据库备份与恢复

备份 数据库的恢复 新建数据库邮件恢复

贪心算法精讲

一&#xff0e;贪心算法的基本概念 当一个问题具有最优子结构性质时&#xff0c;我们会想到用动态规划法去解它。但有时会有更简单有效的算法。我们来看一个找硬币的例子。假设有四种硬币&#xff0c;它们的面值分别为二角五分、一角、五分和一分。现在要找给某顾客六角三分钱。…

Arcgis将shp图投影坐标转换地理坐标,投影失败的问题

问题来源&#xff1a; 目的&#xff1a;shp图需要将投影坐标系去掉&#xff0c;即投影坐标系转换为地理坐标系 正常操作&#xff1a; 法1&#xff1a;使用Arcgis中工具箱-数据管理工具-投影与变换-要素-投影&#xff0c;&#xff1a;这个工具进行坐标转换 法2&#xff1a;转换…