大数据必知必会:Hadoop(3)集群环境安装
安装前准备
集群环境下,至少需要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下载安装包软件。
或者直接通过命令下载。
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
分布式集群安装
分布式集群是在多个节点上运行进程来实现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
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。
访问YARN
打开YARN Web UI查看相关信息,默认端口8088。
相关命令
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.]+"
在YARN上可以看到提交的Job。
执行结果为:
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。
-
2023-02-10 06:02:59
大数据必知必会:Hadoop(3)集群环境安装<
bin目录下存放的是Hadoop相关的常用命令,比如操作HDFS的hdfs命令,以及hadoop、yarn等命令。
-
2023-02-10 05:25:12
彩票官网购买_在线购买彩票-全球滚动<
如何在网上买彩票如今,网上购物非常方便。有些彩民甚至选择网上买彩票,但是新手如何在网上买彩票呢?网上买彩票有很多种方式。这里有一个简
-
2023-02-10 02:27:55
买理财每次都送礼品-世界动态<
买理财每次都送礼品,如果是一般,你要是送钱,他应该会很难受的。如果想送你贵重礼品,那就不能送了。因为你送了的东西他也可能
-
2023-02-10 01:15:39
不撞南墙不回头是什么意思,不撞南墙不回头下一句是什么<
“不撞南墙不回头”这句话经常会被人们挂于嘴边,因为这句话用于形容那些固执的人太适合不过了。那么,你知道不撞南墙不回头是什
-
2023-02-09 23:00:13
每日速讯:春节期间,突发这几种情况,千万别轻信“偏方”,赶快就医<
鱼刺卡喉咱们中国人讲究“年年有余”,因此,过年期间一定少不了各种鱼类美食,鱼肉固然鲜美,但许多人在吃鱼的过程中都碰到过鱼刺卡喉的情...
-
2023-02-10 06:02:59
大数据必知必会:Hadoop(3)集群环境安装
bin目录下存放的是Hadoop相关的常用命令,比如操作HDFS的hdfs命令,以及hadoop、yarn等命令。
-
2023-02-10 05:25:12
彩票官网购买_在线购买彩票-全球滚动
如何在网上买彩票如今,网上购物非常方便。有些彩民甚至选择网上买彩票,但是新手如何在网上买彩票呢?网上买彩票有很多种方式。这里有一个简
-
2023-02-10 02:27:55
买理财每次都送礼品-世界动态
买理财每次都送礼品,如果是一般,你要是送钱,他应该会很难受的。如果想送你贵重礼品,那就不能送了。因为你送了的东西他也可能
-
2023-02-10 01:15:39
不撞南墙不回头是什么意思,不撞南墙不回头下一句是什么
“不撞南墙不回头”这句话经常会被人们挂于嘴边,因为这句话用于形容那些固执的人太适合不过了。那么,你知道不撞南墙不回头是什
-
2023-02-09 23:00:13
每日速讯:春节期间,突发这几种情况,千万别轻信“偏方”,赶快就医
鱼刺卡喉咱们中国人讲究“年年有余”,因此,过年期间一定少不了各种鱼类美食,鱼肉固然鲜美,但许多人在吃鱼的过程中都碰到过鱼刺卡喉的情...
-
2023-02-09 21:51:27
世界今日报丨重庆昨日新增本土17+23 10月今日更新重庆疫情今日更新
最近小编发现有诸多的小伙伴们对于重庆昨日新增本土17+2310月8日重庆疫情最新消息都颇为感兴趣的,大家也都想要及时了解到重庆昨日新增本土17+
-
2023-02-09 20:18:35
河蚌螺蛳抢“鲜”上市,这些时令水产爬上南京人餐桌|前沿资讯
河蚌螺蛳抢“鲜”上市,这些时令水产爬上南京人餐桌
-
2023-02-09 18:19:51
全球热讯:苹果8plus参数配置_苹果8plus参数
手机版本为IOS11的苹果8plus,参数如下:1 iPhone8Plus是太空级的铝制设计,前后都有玻璃镜面,防
-
2023-02-09 17:45:29
今日快看!白色情人节是什么意思啊,2021年白色情人节是几月几日哪天 是什么意思
情人节对于现代年轻人来说是一个重要的节日,是彼此表达爱意,增进感情的日子,其实在西方每月的14号都是情人节,只是代表的寓
-
2023-02-09 16:39:49
前沿资讯!社会工作师报考官网_中级社会工作师报考条件
1、中级社工师报考条件有:获得高中或者中专学历且取得助理社会工作师职业水平证书后从事社会工作满六年;2、取得社会工作专业
-
2023-02-09 14:48:03
精品酒店装修设计方案有哪些?精品酒店装修设计公司 全球时快讯
酒店装修是一个很复杂的事情,需要考虑的问题也非常多,所以在酒店装修之前最好对酒店装修设计方案有一定的了解,这样在施工的时候才会简单一
-
2023-02-09 13:42:52
赖怎么读 赖的读音|世界快播报
1、赖,读作lài,汉语常用字(一级字),最早见于《说文》中的小篆文字中,其本义为赢利,利益,又可引申为依赖,依靠。2、赖姓,中华姓氏之
-
2023-02-09 12:06:20
9月16日是什么星座男生_9月16日是什么星座|新动态
1、星座是按阳历(新历。2、公历)划分的。3、星座是处女座白羊座(03 21-04 20)金牛座(04 2
-
2023-02-09 10:26:13
将推动检察公益诉讼专门立法
将推动检察公益诉讼专门立法最高检第八检察厅负责人解读今年相关重点工作□展望2023□本报记者张昊利国利民之事,必兴
-
2023-02-09 09:48:19
夏天晒黑了怎么变白 夏天晒黑了如何变白|全球热头条
1、使用具有美白功能的精华液可以帮助皮肤变白。2、美白功能的精华液中,经常使用的有效成分有,烟酰胺、维生素c等。这些有效成分可以加快细胞
-
2023-02-09 09:14:24
工银添益快线货币基金经理变动:王朔不再担任该基金基金经理 世界新消息
2023年2月9日,工银添益快线货币(000848)发布公告,王朔不再担任该基金基金经理,离任日期为2023年2月9日,变更后工银添益快线货币(000848
-
2023-02-09 08:10:32
世界消息!A·祖云奴域
1、A·祖云奴域(AleksandarJovanovic),黑山足球运动员。2、现效力球队是:费伦斯华路士
-
2023-02-09 05:58:50
倒塌事故被困者:敲了2天2夜管子 是第9名被困人员
关于湖南长沙一居民自建房发生倒塌事故非常受关注,近几天不断有被困人员被救出,大家都想要了解最新的情况,倒塌事故被困者:敲了2天2夜管子
-
2023-02-09 03:49:57
热水瓶内胆水垢清除法_热水瓶内胆 关注
1、有危险,纯汞本身就是有毒的,你既然知道是汞化银,就说明你的水里有汞、银的单质成分。2、内胆的汞化银只是加热后部分化学反应的产物,其
-
2023-02-09 02:02:54
财务人员个人工作总结精选范文4篇-视点
总结所要反映的是全局工作或某项工作的全貌,所以在内容安排上要考虑到方方面面,全局工作不能遗漏哪个方面,单项工作不能遗漏哪个环节,否则
-
2023-02-09 01:14:17
每日焦点!意媒:如果皮奥利下课,米兰可能会聘请孔蒂或德泽尔比
据《共和报》报道,如果皮奥利下课,米兰可能考虑聘请孔蒂或德泽尔比作为他的继任者。报道称,近期皮奥利带领米兰表现糟糕,成为了被口诛笔伐
-
2023-02-08 22:56:29
融资租赁利率计算器excel_融资租赁利率计算器-环球新要闻
1、你还差几个小条件,我就默认是季后付,保证金不计息的模式来计算租赁公司的IRR了在这样的条件下。2、租赁公司的年化IR
-
2023-02-08 22:02:25
关于幸福的作文精选5篇
幸福,有的人总是抱怨自己不幸福,埋怨他人,埋怨上天不公平。现在小编为大家收集整理优秀的作文,如果喜欢这篇文章可以参考学习。欢迎持续关
-
2023-02-08 21:15:55
每日速讯:“认养一头牛”到底讲了多少资本谎话?|清流·IPO
“认养一头牛”到底讲了多少资本谎话?|清流·IPO,ipo,牧场,奶源,牧业
-
2023-02-08 19:51:25
encephalomyocarditis
1、encephalomyocarditis,英语单词,主要用作名词,作名词时译为“[内科]脑心肌炎”。2、。文章
-
2023-02-08 18:14:27
全球看热讯:Produce101第二季全集免费
Produce101第二季全集免费在线观看!《Produce101》第2季男生版,人气最旺的当属「长发男」张文福,不过近期却又这么一位小哥横空出世,全凭一张酷
-
2023-02-08 17:38:52
今日关注:阡陌交通的阡陌是什么意思_阡陌交通是成语
1、鸡犬相闻jīquǎnxiāngwén[释义]指人烟稠密[语出]先秦·李耳《老子》:“甘其食,美其服,安其居
-
2023-02-08 16:51:24
给工藤新一的挑战书1_致工藤新一的挑战书离别前的序章
1、《名侦探柯南》的第一部真人版动漫没有这一集,真人版的没看过。2、我记得类似的好像是472集工藤新一少年冒险但是不
-
2023-02-08 14:51:23
热文:清炖鲫鱼汤炖多长时间_清炖鲫鱼汤
你们好,最近小活发现有诸多的小伙伴们对于清炖鲫鱼汤炖多长时间,清炖鲫鱼汤这个问题都颇为感兴趣的,今天小活为大家梳理了下,
-
2023-02-08 14:33:28
吃什么药补肾壮阳延时增大
男人的生活压力也越来越大,男人肾虚的状况非常常见甚至越来越年轻化,男人如何补肾的问题也备受关注,那么到底男人吃什么药才能起到补肾壮阳