IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【博学谷学习记录】超强总结,用心分享 | 狂野大数据Hadoop的搭建~个人学习&复习记录~PART-01 -> 正文阅读

[大数据]【博学谷学习记录】超强总结,用心分享 | 狂野大数据Hadoop的搭建~个人学习&复习记录~PART-01

前提:Hadoop集群搭建方案,这里要搭建HDFS和Yarn集群

HDFS:

NameNode:node1

SecondaryNameNode:node2

DataNode:node1、node2、node3

Yarn:

ResourceManager:node1

NodeManager:node1、node2、node3

一、Hadoop的搭建

1、安装

下载好Hadoop的.tar.gz的安装包后,解压到软件的目录下/export/server

cd /export/software
tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz -C /export/server

在node1上进入Hadoop的配置文件目录

cd /export/server/hadoop-3.3.0/etc/hadoop

2、在node1上对Hadoop的相关文件进行配置

(1)hadoop-env.sh

export JAVA_HOME=/export/server/jdk1.8.0_241

#文件最后添加
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

说明:添加jdk的路径,并对各个角色赋予root权限

(2) core-site.xml

<!-- 指定HDFS的主节点NameNode在ndoe1上 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:8020</value>
</property>

<!-- 指定HDFS数据的存放目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/export/data/hadoop-3.3.0</value>
</property>

<!-- 设置HDFS web UI用户身份 -->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
</property>

<!-- 整合hive -->
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>

<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

说明:设置好HDFS的主节点在哪台机器,HDFS数据的存放目录等,设置node1

(3)hdfs-site.xml

<!-- 指定secondarynamenode运行位置 -->
<property>
 	<name>dfs.namenode.secondary.http-address</name>
  	<value>node2:50090</value>
</property>
<property>
??????? <name>dfs.hosts.exclude</name>
??????? <value>/export/server/hadoop-3.3.0/etc/hadoop/excludes</value>
</property>

说明:设置node2

(4)mapred-site.xml

<!--MapReduce执行时由Yarn来进行资源调度-->
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

<!--给MapReduce指定Hadoop的安装位置-->
<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

(5)yarn-site.xml

<!-- 指定YARN的主角色(ResourceManager)的地址 -->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>node1</value>
</property>
	
<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" -->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

<!-- 是否将对容器实施物理内存限制 -->
<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>

<!-- 是否将对容器实施虚拟内存限制。 -->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
<!-- 开启日志聚集 -->
<property>
  <name>yarn.log-aggregation-enable</name>
  <value>true</value>
</property>

<!-- 设置yarn历史服务器地址 -->
<property>
    <name>yarn.log.server.url</name>
    <value>http://node1:19888/jobhistory/logs</value>
</property>

<!-- 保存的时间7天,单位是秒 -->
<property>
  <name>yarn.log-aggregation.retain-seconds</name>
  <value>604800</value>
</property>

3、设置workers

vim /export/server/hadoop-3.3.0/etc/hadoop/workers

#写入一下内容
node1
node2
node3

说明:将三台主机添加到Hadoop集群中去(这样子写的前提是配置好了域名映射)

4、在主节点node1上,将配置好的Hadoop安装包分发给其他主机,node2和node3

cd /export/server

scp -r hadoop-3.3.0/ node2:$PWD
scp -r hadoop-3.3.0/ node3:$PWD

5、在三台主机上添加Hadoop的环境变量

vim  /etc/profile  #添加以下内容

export HADOOP_HOME=/export/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


#配置完之后记得source一下

source /etc/profile

到这里,我们的Hadoop集群就搭建以及配置好了

二、Hadoop集群的启动

注意,第一次启动Hadoop之前,必须要对HDFS进行格式化,而且只能操作一次,切记

#创建数据存放目录(!!!!!!!三台都要创建!!!!!!!!!!)
mkdir -p /export/data/

#切记一定要在node1格式化,该操作只能执行一次,如果多次操作会失败
hadoop namenode -format


#如果你多次操作格式化,则需要删除三台机器的/export/data/hadoop-3.3.0目录,然后在node1重新格式化

启动方式1:对集群中的每个角色单独进行启停操作

#HDFS
#在node1上使用以下命令启动HDFS NameNode:
hdfs --daemon start namenode

#在三台机器上使用以下命令启动HDFS DataNode:
hdfs --daemon start datanode

#在node2上使用以下命令启动HDFS SecondaryNameNode:
hdfs --daemon start secondarynamenode




#Yarn
#在node1上使用以下命令启动YARN ResourceManager:
yarn --daemon start resourcemanager

#在三台机器上使用以下命令启动YARN nodemanager:
yarn --daemon start nodemanager

启动方式2:一键启停集群类型

#一键启动和停止HDFS
start-dfs.sh  #开启HDFS

stop-dfs.sh   #停止HDFS



#一键启动和停止Yarn
start-yarn.sh #开启Yarn

stop-yarn.sh  #停止Yarn

启动方式3:一键启停HDFS和Yarn

start-all.sh #开启

stop-all.sh  #停止

如何排查启动失败的错误

#1、如果使用jps命令,发现某一台主机的某个进程没有启动,则需要进入这台的主机的logs目录进行日志查看
cd /export/server/hadoop-3.3.0/logs

#2、比如node1主机的datanode没有启动,则打开以下文件,并进入文件的末尾来查看错误原因
vim hadoop-root-datanode-node1.log

三、Hadoop集群的验证

1、使用jps命令验证三台主机,查看对应角色的进程是否都已启动

2、访问页面(HDFS端口:9870,Yarn端口:8088)

http://192.168.88.161:9870/  #访问HDFS页面
http://node1:9870/  #访问HDFS页面

http://192.168.88.161:8088/  #访问yarn页面
http://node1:8088/  #访问yarn页面

3、验证Yarn能否工作,执行一个MapReduce任务(计算PI值)

hadoop jar /export/server/hadoop-3.3.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar pi 2 1000

4、验证历史任务

#在node1开启历史任务
mapred --daemon start historyserver

#访问历史任务页面 
http://192.168.88.161:19888/
http://node1:19888/

#这个历史任务页面的作用
以后当我们的MapReduce运行出现了错误,则可以通过查看日志来排查错误

说明:开启之后,就能通过网页客户端来查看日志

四、Hadoop的回收站

1、配置回收站,在node1,修改core-site.xml文件,添加以下内容

cd /export/server/hadoop-3.3.0/etc/hadoop  #配置文件的路径
vim  core-site.xml #添加以下内容



<property>
        <name>fs.trash.interval</name>
        <value>1440</value>
</property>

2、将该配置文件用scp命令分发给其他主机

cd /export/server/hadoop-3.3.0/etc/hadoop
scp core-site.xml node2:$PWD
scp core-site.xml node3:$PWD

3、通过一键启停Hadoop重启

stop-all.sh  #停止
start-all.sh #开启

4、验证回收站

1、将一个Linux文件上传到HDFS的根目录下
hadoop fs -put 文件名  /

2、删除刚才上传的根目录下的文件
hadoop fs -rm /文件名

3、去HDFS页面,查看回收站被删除的文件,该命令是网页客户端的回收站路径
/user/root/.Trash/Current

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:04:09  更:2022-10-31 12:06:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:41:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码