首页 > 资讯 > > 正文

大数据必知必会:Hadoop(3)集群环境安装 天天快消息

来源:腾讯云 2023-02-10 07:58:33

安装前准备

集群环境下,至少需要3台服务器。

IP地址

主机名称


(资料图片)

10.0.0.5

node1

10.0.0.6

node2

10.0.0.7

node3

需要保证每台服务器的配置都一致,以下步骤在3台服务器上都需要做一次。

操作系统准备

本次安装采用的操作系统是Ubuntu 20.04。

更新一下软件包列表。

sudo apt-get update

安装Java 8+

使用命令安装Java 8。

sudo apt-get install -y openjdk-8-jdk

配置环境变量。

vi ~/.bashrcexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

让环境变量生效。

source ~/.bashrc

下载Hadoop安装包

从Hadoop官网Apache Hadoop下载安装包软件。

image-20230120200957218

或者直接通过命令下载。

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
image-20230122004400490

分布式集群安装

分布式集群是在多个节点上运行进程来实现Hadoop集群。

配置域名解析

在后续使用过程中,都使用主机名称,所以需要配置域名解析。

配置 /etc/hosts

由于该配置文件的修改需要root权限,所以在每个节点上都手动配置。

10.0.0.5 node110.0.0.6 node210.0.0.7 node3

以下配置过程在node1上完成,并且配置完成后将配置文件复制到其他节点。

配置免密登录

Hadoop分布式集群的运行,需要配置密钥对实现免密登录。

创建公私钥对
hadoop@node1:~$ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hadoop/.ssh/id_rsaYour public key has been saved in /home/hadoop/.ssh/id_rsa.pubThe key fingerprint is:SHA256:pp2AC1bQAQ5J6CJJCij1QA7bgKOsVxpoPVNi+cxhcyg hadoop@node1The key"s randomart image is:+---[RSA 3072]----+|O=*oo..          ||OX E.* .         ||X+* @ +          ||B+.=.=           ||= o++ . S        ||..o. . = .       || .  . . o        ||                 ||                 |+----[SHA256]-----+
复制公钥
hadoop@node1:~$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
复制到其他节点
hadoop@node1:~$ scp -r .ssh node1:~/id_rsa.pub                                   100%  566     1.7MB/s   00:00    authorized_keys                              100%  566     2.0MB/s   00:00    known_hosts                                  100% 1332     4.5MB/s   00:00    id_rsa                                       100% 2602    10.1MB/s   00:00    hadoop@node1:~$ scp -r .ssh node2:~/hadoop@node2"s password: id_rsa.pub                                   100%  566   934.6KB/s   00:00    authorized_keys                              100%  566   107.3KB/s   00:00    known_hosts                                  100% 1332     2.5MB/s   00:00    id_rsa                                       100% 2602     4.8MB/s   00:00    hadoop@node1:~$ scp -r .ssh node3:~/hadoop@node3"s password: id_rsa.pub                                   100%  566     1.0MB/s   00:00    authorized_keys                              100%  566     1.3MB/s   00:00    known_hosts                                  100% 1332     2.8MB/s   00:00    id_rsa                                       100% 2602     5.2MB/s   00:00    

确保执行ssh命令的时候不需要输入密码。

hadoop@node1:~$ ssh node1hadoop@node1:~$ ssh node2hadoop@node1:~$ ssh node3

解压安装包

将安装包解压到目标路径。

hadoop@node1:~$ mkdir -p appshadoop@node1:~$ tar -xzf hadoop-3.3.4.tar.gz -C apps
image-20230122005658601

bin目录下存放的是Hadoop相关的常用命令,比如操作HDFS的hdfs命令,以及hadoop、yarn等命令。

etc目录下存放的是Hadoop的配置文件,对HDFS、MapReduce、YARN以及集群节点列表的配置都在这个里面。

sbin目录下存放的是管理集群相关的命令,比如启动集群、启动HDFS、启动YARN、停止集群等的命令。

share目录下存放了一些Hadoop的相关资源,比如文档以及各个模块的Jar包。

配置环境变量

在集群的每个节点上都配置Hadoop的环境变量,Hadoop集群在启动的时候可以使用start-all.sh一次性启动集群中的HDFS和Yarn,为了能够正常使用该命令,需要将其路径配置到环境变量中。

hadoop@node1:~$ vi ~/.bashrcexport HADOOP_HOME=/home/hadoop/apps/hadoop-3.3.4export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-3.3.4/etc/hadoopexport YARN_CONF_DIR=/home/hadoop/apps/hadoop-3.3.4/etc/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

使环境变量生效。

hadoop@node1:~$ source ~/.bashrc

配置Hadoop集群

Hadoop软件安装完成后,每个节点上的Hadoop都是独立的软件,需要进行配置才能组成Hadoop集群。Hadoop的配置文件在$HADOOP_HOME/etc/hadoop目录下,主要配置文件有6个:

hadoop-env.sh主要配置Hadoop环境相关的信息,比如安装路径、配置文件路径等;core-site.xml是Hadoop的核心配置文件,主要配置了Hadoop的NameNode的地址、Hadoop产生的文件目录等信息;hdfs-site.xml是HDFS分布式文件系统相关的配置文件,主要配置了文件的副本数、HDFS文件系统在本地对应的目录等;mapred-site.xml是关于MapReduce的配置文件,主要配置MapReduce在哪里运行;yarn-site.xml是Yarn相关的配置文件,主要配置了Yarn的管理节点ResourceManager的地址、NodeManager获取数据的方式等;workers是集群中节点列表的配置文件,只有在这个文件里面配置了的节点才会加入到Hadoop集群中,否则就是一个独立节点。

这几个配置文件如果不存在,可以通过复制配置模板的方式创建,也可以通过创建新文件的方式创建。需要保证在集群的每个节点上这6个配置保持同步,可以在每个节点单独配置,也可以在一个节点上配置完成后同步到其他节点。

hadoop-env.sh配置

hadoop@node1:~$ vi $HADOOP_HOME/etc/hadoop/hadoop-env.shexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64export HADOOP_HOME=/home/hadoop/apps/hadoop-3.3.4export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-3.3.4/etc/hadoopexport HADOOP_LOG_DIR=/home/hadoop/logs/hadoop

core-site.xml配置

hadoop@node1:~$ vi $HADOOP_HOME/etc/hadoop/core-site.xml          fs.defaultFS      hdfs://node1:8020              hadoop.tmp.dir      /home/hadoop/data/hadoop/temp              hadoop.proxyuser.hadoop.hosts      *              hadoop.proxyuser.hadoop.groups      *    

hdfs-site.xml配置

hadoop@node1:~$ vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml            dfs.replication        3              dfs.namenode.name.dir      /home/hadoop/data/hadoop/hdfs/name              dfs.datanode.data.dir      /home/hadoop/data/hadoop/hdfs/data    

mapred-site.xml配置

hadoop@node1:~$ vi $HADOOP_HOME/etc/hadoop/mapred-site.xml            mapreduce.framework.name        yarn                mapreduce.application.classpath        $HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*    

yarn-site.xml配置

hadoop@node1:~$ vi $HADOOP_HOME/etc/hadoop/yarn-site.xml          yarn.nodemanager.aux-services      mapreduce_shuffle                  yarn.resourcemanager.hostname        node1    

workers配置

hadoop@node1:~$ vi $HADOOP_HOME/etc/hadoop/workersnode1node2node3

将软件及配置信息复制到其他节点

在node1上配置好环境变量及配置文件,可以手动再在其他节点上完成同样的配置,或者直接将node1的文件复制到其他节点。

hadoop@node1:~$ scp -r .bashrc apps node2:~/hadoop@node1:~$ scp -r .bashrc apps node3:~/

格式化NameNode

在启动集群前,需要对NameNode进行格式化,在node1上执行以下命令:

hadoop@node1:~$ hdfs namenode -format

启动集群

在node1上执行start-all.sh命令启动集群。

hadoop@node1:~$ jps55936 Jpshadoop@node1:~$ start-all.shWARNING: Attempting to start all Apache Hadoop daemons as hadoop in 10 seconds.WARNING: This is not a recommended production deployment configuration.WARNING: Use CTRL-C to abort.Starting namenodes on [node1]Starting datanodesnode2: WARNING: /home/hadoop/logs/hadoop does not exist. Creating.node3: WARNING: /home/hadoop/logs/hadoop does not exist. Creating.Starting secondary namenodes [node1]WARNING: YARN_CONF_DIR has been replaced by HADOOP_CONF_DIR. Using value of YARN_CONF_DIR.Starting resourcemanagerWARNING: YARN_CONF_DIR has been replaced by HADOOP_CONF_DIR. Using value of YARN_CONF_DIR.Starting nodemanagersWARNING: YARN_CONF_DIR has been replaced by HADOOP_CONF_DIR. Using value of YARN_CONF_DIR.node3: WARNING: YARN_CONF_DIR has been replaced by HADOOP_CONF_DIR. Using value of YARN_CONF_DIR.node2: WARNING: YARN_CONF_DIR has been replaced by HADOOP_CONF_DIR. Using value of YARN_CONF_DIR.node1: WARNING: YARN_CONF_DIR has been replaced by HADOOP_CONF_DIR. Using value of YARN_CONF_DIR.hadoop@node1:~$ jps57329 ResourceManager57553 NodeManager57027 SecondaryNameNode58165 Jps56437 NameNode56678 DataNode

验证Hadoop

访问HDFS

上传一个文件到HDFS。

hdfs dfs -put .bashrc /

打开HDFS Web UI查看相关信息,默认端口9870。

image-20230122011646516
image-20230122011729528
image-20230122011803241

访问YARN

打开YARN Web UI查看相关信息,默认端口8088。

image-20230122011843198

相关命令

HDFS相关的命令

操作HDFS使用的命令是hdfs,命令格式为:

Usage: hdfs [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS]

支持的Client命令主要有:

Client Commands:classpath            prints the class path needed to get the hadoop jar and the required librariesdfs                  run a filesystem command on the file systemenvvars              display computed Hadoop environment variablesfetchdt              fetch a delegation token from the NameNodegetconf              get config values from configurationgroups               get the groups which users belong tolsSnapshottableDir   list all snapshottable dirs owned by the current usersnapshotDiff         diff two snapshots of a directory or diff the current directory contents with a snapshotversion              print the version

YARN相关的命令

操作HDFS使用的命令是yarn,命令格式为:

Usage: yarn [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS] or    yarn [OPTIONS] CLASSNAME [CLASSNAME OPTIONS]  where CLASSNAME is a user-provided Java class

支持的Client命令主要有:

Client Commands:applicationattempt   prints applicationattempt(s) reportapp|application      prints application(s) report/kill application/manage long running applicationclasspath            prints the class path needed to get the hadoop jar and the required librariescluster              prints cluster informationcontainer            prints container(s) reportenvvars              display computed Hadoop environment variablesfs2cs                converts Fair Scheduler configuration to Capacity Scheduler (EXPERIMENTAL)jar             run a jar filelogs                 dump container logsnodeattributes       node attributes cli clientqueue                prints queue informationschedulerconf        Updates scheduler configurationtimelinereader       run the timeline reader servertop                  view cluster informationversion              print the version

yarn jar 可以执行一个jar文件。

验证案例1,统计含有“dfs”的字符串

创建一个input目录。

hadoop@node1:~$ hdfs dfs -mkdir /input

将Hadoop的配置文件复制到input目录下。

hadoop@node1:~$ hdfs dfs -put apps/hadoop-3.3.4/etc/hadoop/*.xml /input/

以下命令用于执行一个Hadoop自带的样例程序,统计input目录中含有dfs的字符串,结果输出到output目录。

hadoop@node1:~$ yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar grep /input /output "dfs[a-z.]+"
image-20230122012114789

在YARN上可以看到提交的Job。

image-20230122012159358

执行结果为:

hadoop@node1:~$ hdfs dfs -cat /output/*1       dfsadmin1       dfs.replication1       dfs.namenode.name.dir1       dfs.datanode.data.dir
验证案例2,计算圆周率

同样执行Hadoop自带的案例,计算圆周率。

hadoop@node1:~$ yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar pi 10 10

执行结果为:

hadoop@node1:~$ yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar pi 10 10WARNING: YARN_CONF_DIR has been replaced by HADOOP_CONF_DIR. Using value of YARN_CONF_DIR.Number of Maps  = 10Samples per Map = 10Wrote input for Map #0Wrote input for Map #1Wrote input for Map #2Wrote input for Map #3Wrote input for Map #4Wrote input for Map #5Wrote input for Map #6Wrote input for Map #7Wrote input for Map #8Wrote input for Map #9Starting Job... ...Job Finished in 43.014 secondsEstimated value of Pi is 3.20000000000000000000

在YARN上可以看到提交的Job。

image-20230122012444050
x
推荐阅读

大数据必知必会:Hadoop(3)集群环境安装 天天快消息

2023-02-10 07:58:33

观热点:cda格式转换mp3格式_cda格式转换

2023-02-10 05:18:16

买车叫4s店送什么实用_快播

2023-02-10 05:25:46

2月9日基金净值:易方达资源行业混合最新净值1.296

2023-02-10 01:47:47

全球微动态丨什么是先天八卦,先天八卦详解

2023-02-10 01:31:13

工业中间投入计算方法_工业中间投入-世界速看料

2023-02-09 22:06:42

世界今日报丨附路书及地图_昆仑山旅游攻略,自驾研读昆仑山简介

2023-02-09 21:51:55

2023龙华区其他人才住房配租房源情况 全球微资讯

2023-02-09 19:56:31

世界球精选!时隔三年 阿联酋红毯欢迎中国旅游团回归

2023-02-09 17:48:05

情人节蛋糕图片,关于情人节的蛋糕图片 情人节创意蛋糕图片-环球微头条

2023-02-09 17:58:24
相关新闻

大数据必知必会:Hadoop(3)集群环境安装 天天快消息

2023-02-10 07:58:33

观热点:cda格式转换mp3格式_cda格式转换

2023-02-10 05:18:16

买车叫4s店送什么实用_快播

2023-02-10 05:25:46

2月9日基金净值:易方达资源行业混合最新净值1.296

2023-02-10 01:47:47

全球微动态丨什么是先天八卦,先天八卦详解

2023-02-10 01:31:13

工业中间投入计算方法_工业中间投入-世界速看料

2023-02-09 22:06:42

世界今日报丨附路书及地图_昆仑山旅游攻略,自驾研读昆仑山简介

2023-02-09 21:51:55

2023龙华区其他人才住房配租房源情况 全球微资讯

2023-02-09 19:56:31

世界球精选!时隔三年 阿联酋红毯欢迎中国旅游团回归

2023-02-09 17:48:05

情人节蛋糕图片,关于情人节的蛋糕图片 情人节创意蛋糕图片-环球微头条

2023-02-09 17:58:24

世界今亮点!小东江_关于小东江的基本详情介绍

2023-02-09 15:54:02

警惕厨房里的健康杀手,它正在偷走你和家人的健康。快转发至家族群

2023-02-09 13:50:22

数位板详细使用方法谁知道

2023-02-09 13:34:53

视频号,能否托起腾讯“电商梦”|热消息

2023-02-09 12:00:14

寂寞颓废的伤感签名大全 失去一个人的颓废堕落签名|实时

2023-02-09 10:00:37

辽宁:第二批省级滑雪旅游度假地名单公布

2023-02-09 10:05:31

"提前还贷潮"下房主与银行的博弈 划重点带你读懂|每日热点

2023-02-09 08:55:43

棱柱的底面是什么形状_棱柱 天天热门

2023-02-09 07:19:11

走丢的袁花花已被找到 让奶奶着急难以入眠 焦点热门

2023-02-09 05:46:24

可燃冰的主要成分是什么化学式_可燃冰的主要成分 全球新视野

2023-02-09 04:31:25

安静的近义词是什么呢 全球快报

2023-02-09 02:16:06

观天下!C1门

2023-02-09 01:59:16

看上去是一部动漫,实际上多学科的组合课 环球关注

2023-02-08 22:08:23

关于长城的四字成语和句子_环球要闻

2023-02-08 22:07:45

神舟十五号航天员乘组将于近日择机执行第一次出舱活动

2023-02-08 20:36:40

DNA序列识别及其基因表达信号分析方法研究|环球速递

2023-02-08 19:16:28

大学辅导员个人工作总结6篇

2023-02-08 18:19:45

环球今头条!"冷"服务"热"起来 "乡土山货"成了"网红尖货"

2023-02-08 17:07:49

win10系统垃圾清理bat_win10系统清理bat的方法步骤 当前速读

2023-02-08 16:10:02

环球百事通!民办大学毕业证有用吗

2023-02-08 14:16:01

“购物团消费不达标不给房卡”,桂林官方回应

2023-02-08 14:01:43

防洪预警等级_预警等级-全球简讯

2023-02-08 13:08:49

微速讯:快讯:华菱精工涨停 报于16.95元

2023-02-08 10:37:41

当前头条:我最喜欢的古诗作文

2023-02-08 10:30:49

参观摄影展|环球新动态

2023-02-08 09:52:14

世界报道:沃恩:杜兰特尚未恢复对抗训练 我和他一样只想赢球

2023-02-08 07:07:08

环球速看:小学3·5学雷锋纪念日活动方案

2023-02-08 05:59:21

喊怎么写_函怎么写

2023-02-08 04:01:29

刺客信条2墓室_刺客信条2墓穴攻略 每日热文

2023-02-08 01:54:51

每日动态!中美关系有变?美国人直言:美政府犯下致命错误,是罪魁祸首

2023-02-08 01:10:05

比尔·盖茨:ChatGPT确实还不完美

2023-02-07 23:07:00

海肠的功效与禁忌 天天微头条

2023-02-07 22:11:38

台湾1月份出口额同比下跌21.2%-当前时讯

2023-02-07 20:44:47

Qc7大手法_qc7大手法是什么

2023-02-07 19:36:51

xrd成分分析,xrd成分检测费用_全球微头条

2023-02-07 17:11:53

求好看的玄幻或者架空历史小说 当前快看

2023-02-07 16:42:12

热议:函数拐点定义_拐点定义

2023-02-07 16:26:11

攻守兼备!维金斯15中8贡献标志性18分 正负值+25

2023-02-07 14:00:55

精益求精的意思益的意思_精益求精的意思

2023-02-07 12:58:54

疫情期间菜如何保鲜储存 疫情期间菜保鲜储存的方法-当前快报

2023-02-07 10:44:41

恒大高新2月7日快速反弹

2023-02-07 09:39:35

七喜枸杞冰凉瓜 环球视讯

2023-02-07 08:07:50

工商局投诉需要什么条件受理_工商局投诉|世界今亮点

2023-02-07 04:44:59

780开头的是什么新股_780开头的是什么股票

2023-02-07 01:43:58

天天日报丨上帝之信

2023-02-06 23:25:58

全球观速讯丨活期利率2020年_活期利率2020

2023-02-06 20:02:40

支持源头厂商和新创企业抢订单 电商平台新举措助商家抓住经济复苏窗口期

2023-02-06 18:47:44

“春天不养阳,一年都白忙”!常吃春季“4宝”,安稳过春

2023-02-06 16:13:21

西部超导:第二大股东拟减持不超2%公司股份_微头条

2023-02-06 15:37:28

商家花10万请人直播带货 结果3个月卖了不到700元

2022-09-15 11:42:40

杂交水稻制种新技术体系 可破解制种高成本难题

2022-02-10 10:44:58

期待冰雪运动在更多校园“破冰”启航

2022-02-10 10:44:58

“智慧社区”带来宜居新生活

2022-02-10 10:44:57

80%广西百色感染者为同一自然村 专家提醒:春运返程需错

2022-02-10 10:44:57

世界最深地下实验室里,他们在寻找暗物质的絮语

2022-02-10 10:44:44

不用烧、不用填 生物处理技术出手,垃圾成资源

2022-02-10 10:44:44

春风送新景 文化暖民心

2022-02-10 10:44:41

冬奥早报丨雪上项目中国多项出击 任子威冲击短道速滑第

2022-02-10 10:44:40

踏虎觅“花郎” “凿花”技艺高

2022-02-10 10:44:40

11家协会、学会联合倡议抵制“丑书”

2022-02-10 10:44:39

11家协会、学会联合倡议规范使用汉字

2022-02-10 10:44:37

新春特别版冰墩墩已在路上

2022-02-10 10:44:35

中科大科研团队首次测得神秘“第二声”衰减率

2022-02-10 10:44:35