當前位置: 首頁 > 綜合 >

              大數(shù)據(jù)必知必會:Hadoop(3)集群環(huán)境安裝

              2023-02-10 03:04:31 來源:騰訊云

              安裝前準備

              集群環(huán)境下,至少需要3臺服務器。

              IP地址

              主機名稱


              (資料圖片僅供參考)

              10.0.0.5

              node1

              10.0.0.6

              node2

              10.0.0.7

              node3

              需要保證每臺服務器的配置都一致,以下步驟在3臺服務器上都需要做一次。

              操作系統(tǒng)準備

              本次安裝采用的操作系統(tǒng)是Ubuntu 20.04。

              更新一下軟件包列表。

              sudo apt-get update

              安裝Java 8+

              使用命令安裝Java 8。

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

              配置環(huán)境變量。

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

              讓環(huán)境變量生效。

              source ~/.bashrc

              下載Hadoop安裝包

              從Hadoop官網(wǎng)Apache Hadoop下載安裝包軟件。

              image-20230120200957218

              或者直接通過命令下載。

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

              分布式集群安裝

              分布式集群是在多個節(jié)點上運行進程來實現(xiàn)Hadoop集群。

              配置域名解析

              在后續(xù)使用過程中,都使用主機名稱,所以需要配置域名解析。

              配置 /etc/hosts

              由于該配置文件的修改需要root權限,所以在每個節(jié)點上都手動配置。

              10.0.0.5 node110.0.0.6 node210.0.0.7 node3

              以下配置過程在node1上完成,并且配置完成后將配置文件復制到其他節(jié)點。

              配置免密登錄

              Hadoop分布式集群的運行,需要配置密鑰對實現(xiàn)免密登錄。

              創(chuàng)建公私鑰對
              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
              復制到其他節(jié)點
              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    

              確保執(zhí)行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以及集群節(jié)點列表的配置都在這個里面。

              sbin目錄下存放的是管理集群相關的命令,比如啟動集群、啟動HDFS、啟動YARN、停止集群等的命令。

              share目錄下存放了一些Hadoop的相關資源,比如文檔以及各個模塊的Jar包。

              配置環(huán)境變量

              在集群的每個節(jié)點上都配置Hadoop的環(huán)境變量,Hadoop集群在啟動的時候可以使用start-all.sh一次性啟動集群中的HDFS和Yarn,為了能夠正常使用該命令,需要將其路徑配置到環(huán)境變量中。

              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

              使環(huán)境變量生效。

              hadoop@node1:~$ source ~/.bashrc

              配置Hadoop集群

              Hadoop軟件安裝完成后,每個節(jié)點上的Hadoop都是獨立的軟件,需要進行配置才能組成Hadoop集群。Hadoop的配置文件在$HADOOP_HOME/etc/hadoop目錄下,主要配置文件有6個:

              hadoop-env.sh主要配置Hadoop環(huán)境相關的信息,比如安裝路徑、配置文件路徑等;core-site.xml是Hadoop的核心配置文件,主要配置了Hadoop的NameNode的地址、Hadoop產生的文件目錄等信息;hdfs-site.xml是HDFS分布式文件系統(tǒng)相關的配置文件,主要配置了文件的副本數(shù)、HDFS文件系統(tǒng)在本地對應的目錄等;mapred-site.xml是關于MapReduce的配置文件,主要配置MapReduce在哪里運行;yarn-site.xml是Yarn相關的配置文件,主要配置了Yarn的管理節(jié)點ResourceManager的地址、NodeManager獲取數(shù)據(jù)的方式等;workers是集群中節(jié)點列表的配置文件,只有在這個文件里面配置了的節(jié)點才會加入到Hadoop集群中,否則就是一個獨立節(jié)點。

              這幾個配置文件如果不存在,可以通過復制配置模板的方式創(chuàng)建,也可以通過創(chuàng)建新文件的方式創(chuàng)建。需要保證在集群的每個節(jié)點上這6個配置保持同步,可以在每個節(jié)點單獨配置,也可以在一個節(jié)點上配置完成后同步到其他節(jié)點。

              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

              將軟件及配置信息復制到其他節(jié)點

              在node1上配置好環(huán)境變量及配置文件,可以手動再在其他節(jié)點上完成同樣的配置,或者直接將node1的文件復制到其他節(jié)點。

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

              格式化NameNode

              在啟動集群前,需要對NameNode進行格式化,在node1上執(zhí)行以下命令:

              hadoop@node1:~$ hdfs namenode -format

              啟動集群

              在node1上執(zhí)行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 可以執(zhí)行一個jar文件。

              驗證案例1,統(tǒng)計含有“dfs”的字符串

              創(chuàng)建一個input目錄。

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

              將Hadoop的配置文件復制到input目錄下。

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

              以下命令用于執(zhí)行一個Hadoop自帶的樣例程序,統(tǒng)計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

              執(zhí)行結果為:

              hadoop@node1:~$ hdfs dfs -cat /output/*1       dfsadmin1       dfs.replication1       dfs.namenode.name.dir1       dfs.datanode.data.dir
              驗證案例2,計算圓周率

              同樣執(zhí)行Hadoop自帶的案例,計算圓周率。

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

              執(zhí)行結果為:

              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
              標簽: Hadoop Bash Bash
              最近更新
              15037178970
              婚姻法
              對外國法院涉及中國公民的離婚判決如何才能在中國生效呢?快來了解吧
              辦理涉外離婚境外授權委托書需要提供哪些材料呢?辦理境外離婚授權委托書注意事項有哪些呢?
              涉外離婚案件的證據(jù)如何認定呢?涉外離婚案件審理期間有什么規(guī)定呢?
              夫妻雙方均為留學生要求在國內離婚的怎么辦呢?涉外離婚法院如何確定呢?
              華僑辦理結婚登記時應提交的材料有哪些呢?與華僑辦理結婚證流程是什么呢?
              涉外離婚孩子撫養(yǎng)費支付標準是什么呢?子女撫養(yǎng)費數(shù)額的計算要考慮哪些因素呢?
              解決涉外婚姻財產糾紛的一般原則是什么呢?如何處理涉外離婚撫養(yǎng)權問題呢?
              涉外婚姻結婚登記程序都有哪些呢?涉外婚姻登記結婚注意事項有哪些呢?
              擔任特定公職的人員不能與外國人結婚嗎?哪些人能與外國人結婚呢?
              涉外無效婚姻指的是哪些情況呢?怎樣處理涉外無效婚姻呢?
              知識糾紛
              1 商標犯罪行為都有哪些呢?假冒注冊商標案哪些情況下應予以追訴呢?
              2 商標獨占性指的是什么呢?商標的有效期限是如何規(guī)定的呢?
              3 馳名商標應具備哪些條件呢?我國對馳名商標的保護主要表現(xiàn)在哪些方面呢?
              4 商標注冊人有哪些權利和義務呢?商標專用權都包含哪些呢?
              5 文字商標審查標準是什么呢?圖形商標怎樣審查呢?
              6 能委托一家經驗豐富的商標代理注冊商標嗎?著名商標的申請條件是什么呢?
              7 品牌命名標準您都清楚嗎?品牌命名策略分享給大家吧
              8 商標注冊申請補正要如何進行呢?申請商標程序都有哪些呢?
              公司法
              公司上市的條件有哪些?公司上市有哪些流程?
              公司股東信息的查詢有哪些方式?股東的權利知情質詢權是什么?
              為什么要進行公司清算?
              企業(yè)改制都有哪些方式?
              外資上市的條件 是什么?境外上市外資股特點有哪些?
              全民所有制企業(yè)公司改制流程是怎樣的?
              機關、事業(yè)單位工會會員會費繳納標準有多少?
              公司名稱核準有哪些規(guī)定?新公司法簡化注冊登記流程的意義在哪?
              分公司和子公司有什么定義?
              公司改名的流程有哪些?公司改名的注意事項
              合同法
              合同協(xié)商解除與約定解除的區(qū)別體現(xiàn)在哪些方面呢?約定解除一般是單方解除嗎?

              2023-03-31

              約定解除權的行使規(guī)則有哪些呢?合同解除權都有哪些呢?

              2023-03-31

              合同解除損害賠償與合同終止損害賠償?shù)倪m用要件有什么不同呢?

              2023-03-31

              合同解除的情況有哪些呢?合同解除的程序有哪三種呢?

              2023-03-31

              解除分期付款合同需要滿足哪些條件呢?合同解除時如何避免風險呢?

              2023-03-31

              終止合同協(xié)議書的責任承擔法律是如何規(guī)定的呢?合同終止協(xié)議書模板分享給大家哦

              2023-03-31

              勞動糾紛
              合同協(xié)商解除與約定解除的區(qū)別體現(xiàn)在哪些方面呢?約定解除一般是單方解除嗎?
              約定解除權的行使規(guī)則有哪些呢?合同解除權都有哪些呢?
              合同解除損害賠償與合同終止損害賠償?shù)倪m用要件有什么不同呢?
              合同解除的情況有哪些呢?合同解除的程序有哪三種呢?
              解除分期付款合同需要滿足哪些條件呢?合同解除時如何避免風險呢?
              終止合同協(xié)議書的責任承擔法律是如何規(guī)定的呢?合同終止協(xié)議書模板分享給大家哦

              法律解答網(wǎng)版權所有 2005-2022

              国产精品亚洲专区无码WEB| 亚洲AV无码专区在线亚| 亚洲成a人无码亚洲成www牛牛| 亚洲国产精品久久久久秋霞影院 | 国产精品国产亚洲精品看不卡| 中文国产成人精品久久亚洲精品AⅤ无码精品| 婷婷亚洲综合一区二区| 国产精品亚洲va在线观看| 亚洲AV无码片一区二区三区| 亚洲欧美乱色情图片| 亚洲精品成a人在线观看☆| 亚洲国产成人AV在线播放| 亚洲丰满熟女一区二区哦| 亚洲AV无码一区二区三区性色 | 77777午夜亚洲| 亚洲 欧洲 日韩 综合在线| 国产午夜亚洲精品国产| 亚洲欧美日韩国产精品一区| 亚洲1区2区3区精华液| 国产精品亚洲一区二区三区在线观看 | 国产.亚洲.欧洲在线| 四虎亚洲精品高清在线观看| 亚洲色大成网站www| 亚洲成a人片在线不卡一二三区| 亚洲sm另类一区二区三区| 国产亚洲精品AAAA片APP| 国产亚洲精品欧洲在线观看| 亚洲国产精品丝袜在线观看| 伊人久久综在合线亚洲91| 久久久久久久尹人综合网亚洲 | 国产亚洲成av人片在线观看| 久久青草亚洲AV无码麻豆| 精品日韩亚洲AV无码一区二区三区 | 亚洲精品成a人在线观看| 久久精品国产亚洲一区二区三区| 伊人久久精品亚洲午夜| 亚洲国产成人久久精品影视| 亚洲精品中文字幕无码AV| 亚洲中文字幕久久精品无码A| 18禁亚洲深夜福利人口| 久久久久噜噜噜亚洲熟女综合|