惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 茁壮的小草

join查询中索引建议 tomcat连接池的“bug” 连接池介绍 JDBC介绍 Apache Hadoop YARN 使用 kubebuilder 创建并部署 k8s-operator 单链表反转 单链表操作 如何在Kubernetes 里添加自定义的 API 对象(一) 搭建golang开发环境(1.14之后版本) 【源码】Redis命令处理过程 K8S配置存活、就绪和启动探测器 【源码】Redis exists命令bug分析 【源码】Redis Server启动过程 K8S中的Objects MAC 安装MySQL-python 公司里使用gitlab管理项目 vscode配置django开发环境最佳实战(mac) virtualenv最佳实战(windows)
Hadoop完全分布式搭建
茁壮的小草 · 2022-04-29 · via 博客园 - 茁壮的小草

Hadoop:hadoop-2.6.4

jdk:1.7.0_79

提前在所有机器上安装hadoop和jdk,打通互信,关闭防火墙,配置主机名映射,这里不介绍。

注意:本机需要ssh 本机: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

一、集群配置

1、节点规划

hostname: hadoop3 HDFS NameNode
DataNode DataNode SecondaryNameNode
DataNode YARN NodeManager ResourceManager
NodeManager NodeManager
组件 hostname:hadoop1

hostname: hadoop2

注意:NameNodeSecondaryNameNodeResourceManager很耗内存资源,建议不要配置在同一节点上

2、配置文件

2.1 修改核心配置文件

cd /usr/local/hadoop-2.6.4/etc/hadoop/
vim core-site.xml
在<configuration></configuration>标签中添加如下配置
    <!-- 指定HDFS中NameNode的地址 -->
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop1:9000</value>
    </property>

    <!-- 指定hadoop运行时产生文件的存储目录,注意tmp目录需要创建 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/luxiu/hadoop/data</value>
    </property>

2.2、修改HDFS配置文件

vim hdfs-site.xml
在<configuration></configuration>标签中添加如下配置
    <!-- 设置dfs副本数,不设置默认是3个 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>

    <!-- 设置namenode数据存放路径 -->
    <property>
        <name>dfs.name.dir</name>
        <value>/data/luxiu/hadoop/data/name</value>
    </property>

    <!-- 设置datanode数据存放路径 -->
    <property>
    <name>dfs.data.dir</name>
    <value>/data/luxiu/hadoop/data/data</value>
    </property>
    <!-- NameNode web 端访问地址--> 
    <property>
    <name>dfs.namenode.http-address</name>
    <value>hadoop1:8888</value>
    </property>
    <!-- 设置secondname的端口 -->
    <property>
    <name>dfs.secondary.http.address</name>
    <value>hadoop3:50090</value>
    </property>

 2.3、修改YARN配置文件

vim yarn-site.xml
在<configuration></configuration>标签中添加如下配置
<!-- Site specific YARN configuration properties -->
	<!-- reducer获取数据的方式 -->
		<property>
    	<name>yarn.nodemanager.aux-services</name>
    	<value>mapreduce_shuffle</value>
 		</property>
	<!-- 指定YARN的ResourceManager的地址 -->
 		<property>
    	<name>yarn.resourcemanager.hostname</name>
    	<value>hadoop2</value>
 		</property>

 2.4、修改mapreduce配置文件

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
在<configuration></configuration>标签中添加如下配置
<!-- 指定mr运行在yarn上 -->
	<property>
 		<name>mapreduce.framework.name</name>
 		<value>yarn</value>
	</property>

2.5、修改slaves配置文件

vim slaves
hadoop1
hadoop2
hadoop3

注意: 文件中添加的内容结尾不能有空格,文件中也不能有空行。

2.6、将以上配置文件同步分发至其他节点

二、集群启动

1、如果集群是第一次启动,要在namenode主节点格式化NameNode

hdfs namenode -format

注意:

格式化NameNode会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到以往的数据;
如果集群在运行过程中报错,需要重新格式化NameNode的话,需要先停止NameNode和DataNode进程,并且需要删除所有节点的data和logs目录,然后再进行格式化;

2、启动集群

//启动hdfs
cd /usr/local/hadoop-2.6.4/sbin
./start-dfs.sh
//到resourcemanager的节点上启动yarn
./start-yarn.sh

3、验证 

在每一台节点上输入:jps 查看进程

[root@qsh4-sit-db-manage-1 sbin]# jps
17471 NameNode
18960 NodeManager
19110 Jps
17592 DataNode

Web端查看HDFS的NameNode

  • 浏览器访问:http://ip:8888
  • 查看HDFS上存储的数据信息

Web端查看YARN的ResourceManager,默认8088

  • 浏览器访问:http://10.4.45.82:8088
  • 查看YARN上运行的Job信息

三、集群测试