【运维】hadoop集群安装(一)多节点安装

news2024/9/23 9:25:25

文章目录

  • 一.Purpose
  • 二. Prerequisites
  • 三. Installation
    • 1. 节点规划
    • 2. Configuring Hadoop in Non-Secure Mode
    • 3. 准备工作
    • 4. 配置
      • core-site.xml
      • hdfs-site.xml
      • yarn-site.xml
      • mapred-site.xml
      • workers
    • 4. 分发配置、创建文件夹
    • 5. 格式化
    • 6. 操作进程
      • 6.1. hdfs
        • 启动
        • 停止
      • 6.2. yarn
        • 启动
        • 停止
    • 7. 访问

一.Purpose

This document describes how to install and configure Hadoop clusters ranging from a few nodes to extremely large clusters with thousands of nodes.
This document does not cover advanced topics such as Security or High Availability.

此文章目的在于多节点hadoop(从几个节点到上千个节点)的安装,但这里不包括高可用和安全相关的内容。

 

二. Prerequisites

  • java 8
  • 稳定版的hadoop镜像:本文下载的是hadoop3.0.3版本

 

三. Installation

Typically one machine in the cluster is designated as the NameNode and another machine as the ResourceManager, exclusively. These are the masters.
Other services (such as Web App Proxy Server and MapReduce Job History server) are usually run either on dedicated hardware or on shared infrastructure, depending upon the load.
The rest of the machines in the cluster act as both DataNode and NodeManager. These are the slaves.

  • 管理节点:通常,集群中的一台机器被指定为NameNode,另一台机器被指定为ResourceManager。
  • 工作节点:集群中的其余机器同时充当DataNode和NodeManager。
  • 其他服务:(如Web App Proxy Server和MapReduce Job History Server)通常在专用硬件或共享基础设施上运行,具体取决于负载,这里我放在了除管理节点之外的节点

 

1. 节点规划

根据上面的建议,我这里选择了两个安装节点进行组件规划

节点hdfs组件yarn组件
10.xxx(node1)namenode、datanoderesourcemanager、nodemanager
10.xxx(node2)secondaryNameNode、datanodenodemanager、jobHistorynode

 

2. Configuring Hadoop in Non-Secure Mode

HDFS daemons are NameNode, SecondaryNameNode, and DataNode. YARN daemons are ResourceManager, NodeManager, and WebAppProxy. If MapReduce is to be used, then the MapReduce Job History Server will also be running. For large installations, these are generally running on separate hosts.

Hdfs 包括:namenode、secondaryNamenode、datanode
yarn包括:resourcemanager、nodemanger、和WebAppProxy(暂时没有规划此进程)
如果运行mr,则MapReduce Job History Server也需要

注意:

对于大型安装,上述组件都是分散在不同机器中的。

 

3. 准备工作

每个节点【node1、node2】操作:

mkdir -p /home/user/hadoop
cd   /home/user/hadoop
tar -zxvf hadoop.tar.gz
ln -s   hadoop-3.0.3 hadoop

 

设置环境变量:

vim ~/.bashrc 

# 添加如下内容
export HADOOP_HOME=/home/user/hadoop/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=/home/user/hadoop/hadoop/etc/hadoop


# 执行
source ~/.bashrc 

 

4. 配置

在/{user_home}/hadoop/hadoop/etc/hadoop/ 下

core-site.xml


<configuration>
 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenodeIp:9000</value>
        <description>
        ip 为namenode所在ip
        </description>
    </property>
</configuration>   

 

hdfs-site.xml

  <!-- ===========namenode===========   -->  
  
  <property>  
	 <name>dfs.namenode.name.dir</name>  
 	<value>/opt/data/hdfs/namenode,/opt/data02/hdfs/namenode</value>  
	 <description>If this is a comma-delimited list of directories then the name table is replicated in all of the  
            directories, for redundancy.  
            Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently.  
            用于保存Namenode的namespace和事务日志的路径  
      </description>  
 </property>  
  <!-- ===========namenode===========   -->  
  
 <!-- ===========datanode===========   -->  
 <property>  
	 <name>dfs.datanode.data.dir</name>  
	 <value>/opt/data/hdfs/data,/opt/data02/hdfs/data</value>  
 	<description>
		 If this is a comma-delimited list of directories, 
		 then data will be stored in all named directories, 
		 typically on different devices.
     </description>  
 </property>  

 

yarn-site.xml

  
 <!--  Configurations for ResourceManager:   -->  
	 <property>  
		 <name>yarn.resourcemanager.address</name>  
		 <value>node1:8832</value>  
	 </property>  
	  
	 <property> 
		 <name>yarn.resourcemanager.scheduler.address</name>  
		 <value>node1:8830</value>  
	 </property>  
	  
	 <property> 
		 <name>yarn.resourcemanager.resource-tracker.address</name>  
		 <value>node1:8831</value>    
	 </property>  
	  
	 <property> 
	 	<name>yarn.resourcemanager.admin.address</name>  
	 	<value>node1:8833</value>  
	 </property>  
	  
	 <property> 
		 <name>yarn.resourcemanager.webapp.address</name>  
		 <value>node1:8888</value>  
	 </property> 
	  
	 <property> 
		 <name>yarn.resourcemanager.hostname</name>  
		 <value>rmhostname</value>  
	 </property>  
	  
	 <property>
		 <name>yarn.nodemanager.local-dirs</name>  
		 <value>/data/yarn/nm-local-dir,/data02/yarn/nm-local-dir</value>   
	 </property>  
	  
	 <property> 
		 <name>yarn.nodemanager.log-dirs</name>  
		 <value>/home/taiyi/hadoop/yarn/userlogs</value>  
	 </property>  

  
	 <property> 
		 <name>yarn.nodemanager.remote-app-log-dir</name>  
		 <value>/home/taiyi/hadoop/yarn/containerlogs</value>  
	 </property>
	 
	<property>  
	 	<name>yarn.nodemanager.resource.memory-mb</name>  
	 	<value>61440</value>
	 	<description>通过free -h 查看机器具体内存设定
		</description>
	</property>

 

mapred-site.xml

<!--Configurations for MapReduce JobHistory Server:-->  
	<property>  
		 <name>mapreduce.jobhistory.address</name>  
		 <value>node2:10020</value>  
	</property>  
	  
	<property>  
		 <name>mapreduce.jobhistory.webapp.address</name>  
		 <value>node2:19888</value>   
	</property>  
 
<!--Configurations for MapReduce JobHistory Server:-->

 

workers

配置工作节点

node1
node2

 

4. 分发配置、创建文件夹

配置分发到另外一个节点

scp -r   \
/home/user/hadoop/hadoop/etc/hadoop/  \
root@node2hostname:/home/user/hadoop/hadoop/etc/

所有节点创建文件夹

mkdir -p /data/yarn/nm-local-dir /data02/yarn/nm-local-dir
chown -R user:user /data/yarn /data02/yarn

mkdir -p /opt/data/hdfs/namenode /opt/data02/hdfs/namenode /opt/data/hdfs/data /opt/data02/hdfs/data
chown -R user:user /opt/data /opt/data02

 

5. 格式化

namenode所在节点执行

hdfs namenode -format

如果看到这些信息格式化成功

2022-08-12 17:43:11,039 INFO common.Storage: Storage directory /Users/lianggao/MyWorkSpace/002install/hadoop-3.3.1/hadoop_repo/dfs/name 
has been successfully formatted.

2022-08-12 17:43:11,069 INFO namenode.FSImageFormatProtobuf: Saving image file /Users/lianggao/MyWorkSpace/002install/hadoop-3.3.1/hadoop_repo/dfs/name/current/fsimage.ckpt_0000000000000000000 using no compression
2022-08-12 17:43:11,200 INFO namenode.FSImageFormatProtobuf: Image file /Users/lianggao/MyWorkSpace/002install/hadoop-3.3.1/hadoop_repo/dfs/name/current/fsimage.ckpt_0000000000000000000 of size 403 bytes saved in 0 seconds .

如果格式化失败需要先删除nn的管理目录
 
因为格式化的时候是创建了nn文件的管理目录 common.Storage: Storage directory /data/hadoopdata/name has been successfully formatted.

 

6. 操作进程

6.1. hdfs

启动

node1

hdfs --daemon start namenode
hdfs --daemon start datanode

node2

hdfs --daemon start secondarynamenode
hdfs --daemon start datanode

停止

hdfs --daemon stop namenode
hdfs --daemon stop secondarynamenode
hdfs --daemon stop datanode

 

6.2. yarn

启动

node1

yarn --daemon start resourcemanager
yarn --daemon start nodemanager

node2

mapred --daemon start historyserver
yarn --daemon start nodemanager

停止

yarn --daemon stop resourcemanager
yarn --daemon stop nodemanager
mapred --daemon stop historyserver

 

7. 访问

http://node1:9870/
http://node2:8088/

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

java 高级面试题整理(薄弱技术-2023)

session 和cookie的区别和联系 session1.什么是session Session是另一种记录客户状态的机制&#xff0c;不同的是Cookie保存在客户端浏览器中&#xff0c;而Session保存在服务器上。客户端浏览器访问服务器的时候&#xff0c;服务器把客户端信息以某种形式记录在服务器上。这就…

Docker容器:docker consul的注册与发现及consul-template

Docker容器&#xff1a;docker consul的注册与发现及consul-template守护进程 一.docker consul的注册与发现介绍 1.什么是服务注册与发现 &#xff08;1&#xff09;服务注册与发现是微服务架构中不可或缺的重要组件。 &#xff08;2&#xff09;为解决服务都是单节点的&a…

基于动物迁徙算法优化的BP神经网络(预测应用) - 附代码

基于动物迁徙算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于动物迁徙算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.动物迁徙优化BP神经网络2.1 BP神经网络参数设置2.2 动物迁徙算法应用 4.测试结果&#xff1a;5…

IT论坛测试

目录 一、项目介绍 项目名称 项目简介 相关技术 项目展示 二 、测试用例设计和功能测试 测试用例设计 注册页面 登陆页面 首页面 发布帖子页面 修改个人信息页面 功能测试 注册页面 登录页面 首页面 发布帖子页面 修改个人信息页面 三、接口测试 1.Junit单…

HAproxy+keepalived高可用配置搭建

目录 一、概述 &#xff08;一&#xff09;简介 &#xff08;二&#xff09;核心功能 &#xff08;三&#xff09;关键特性 &#xff08;四&#xff09;应用场景 二、安装 1&#xff09;拓补图 2&#xff09;配置 &#xff08;一&#xff09;内核配置 &#xff08;二…

【golang】派生数据类型---指针 标识符、关键字等

1、指针 对比C/C中的指针&#xff0c;go语言中的指针显得极为简洁&#xff0c;只是简单的获取某个空间的地址 或者 根据指针变量中的内容 获取对应存储空间的内容等操作。 具体示例如下&#xff1a; go中使用指针需要注意的点&#xff1a; 可以通过指针改变它所指向的内存空…

5 STM32标准库函数 之 外部中断/事件控制器(EXTI)所有函数的介绍及使用

5 STM32标准库函数 之 外部中断/事件控制器&#xff08;EXTI&#xff09;所有函数的介绍及使用 1. 图片有格式2 文字无格式五 库函数之外部中断/事件控制器&#xff08;EXTI&#xff09;所有函数的介绍及使用前言一、图片预览&#xff0c;无格式&#xff08;CSDN&#xff09;二…

C++ 工具

C参考手册 Learncppcplusplustutorialspoint/cplusplusAwesomeC 写在最后&#xff1a;若本文对您有帮助&#xff0c;请点个赞啦 ٩(๑•̀ω•́๑)۶

RS485保护电路

今天给大家分享485接口的EMC设计&#xff0c;希望对电路设计&#xff0c;及相关软件开发的人员有帮助。 一、原理图 1. RS485接口6KV防雷电路设计方案 &#xff08;RS485接口防雷电路&#xff09; 接口电路设计概述&#xff1a; RS485用于设备与计算机或其它设备之间通讯&…

c++11 标准模板(STL)(std::basic_ostringstream)(一)

定义于头文件 <sstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_ostringstream;(C11 前)template< class CharT, class Traits std::char_traits<CharT>, class Allocator std::allo…

week6刷题

题解: 使用二分查找 class Solution { public:int minArray(vector<int>& numbers) {int low 0;int high numbers.size() - 1;while (low < high) {int pivot low (high - low) / 2;if (numbers[pivot] < numbers[high]) {high pivot;}else if (numbers…

学习JAVA打卡第四十四天

Scanner类 ⑴Scanner对象 scanner对象可以解析字符序列中的单词。 例如&#xff1a;对于string对象NBA 为了解析出NBA的字符序列中的单词&#xff0c;可以如下构造一个scanner对象。 将正则表达式作为分隔标记&#xff0c;即让scanner对象在解析操作时把与正则表达式匹配的字…

<C++> STL_stack和queue

1.stack的介绍和使用 1.1 stack的介绍 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。 stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其底层的容器&am…

数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成

数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成 目录 数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成生成效果基本描述程序设计参考资料 生成效果 基本描述 数据生成 | MATLAB实现GAN生成对抗网络结合SVM支持向量机的数据生成。 生成对抗…

抖店的出单主要靠什么?给你们分析下抖店的运营逻辑,建议看完!

我是王路飞。 做抖店只有一个目的&#xff0c;就是出单、赚钱。 那么从开通抖店开始&#xff0c;到最后店铺出单&#xff0c;这中间的一些运营流程就是你出单的关键了。 那么抖店的出单主要靠什么呢&#xff1f; 我的观点是&#xff1a;产品流量。给你们分析下抖店的运营逻…

【JavaEE】Spring事务-@Transactional参数介绍-事务的隔离级别以及传播机制

【JavaEE】Spring事务&#xff08;2&#xff09; 文章目录 【JavaEE】Spring事务&#xff08;2&#xff09;1. Transactional 参数介绍1.1 value 和 transactionManager1.2 timeout1.3 readOnly1.4 后面四个1.5 isolation 与 propagation 2. Spring 事务隔离级别 - isolation2.…

登录校验-Filter-登录校验过滤器

目录 思路 登录校验Filter-流程 步骤 流程图 登录校验Filter-代码 过滤器类 工具类 测试登录 登录接口功能请求 其他接口功能请求 前后端联调 思路 前端访问登录接口&#xff0c;登陆成功后&#xff0c;服务端会生成一个JWT令牌&#xff0c;并返回给前端&#xff0…

【C++】C++ 引用详解 ⑦ ( 指针的引用 )

文章目录 一、二级指针可实现的效果二、指针的引用1、指针的引用 等同于 二级指针 ( 重点概念 )2、引用本质 - 函数间接赋值简化版本3、代码示例 - 指针的引用 一、二级指针可实现的效果 指针的引用 效果 等同于 二级指针 , 因此这里先介绍 二级指针 ; 使用 二级指针 作为参数 …

JWT 技术的使用

应用场景&#xff1a;访问某些页面&#xff0c;需要用户进行登录&#xff0c;那我们如何知道用户有没有登录呢&#xff0c;这时我们就可以使用jwt技术。用户输入的账号和密码正确的情况下&#xff0c;后端根据用户的唯一id生成一个独一无二的token&#xff0c;并返回给前端&…