hadoop--集群配置/群起集群
文章目錄
- 集群配置
- 1. 集群部署規(guī)劃
- 2. 配置文件說明
- 3. 配置集群
- 群起集群
- 1. 配置workers
- 2. 啟動(dòng)集群
- 3. 集群基本測(cè)試
集群配置
1. 集群部署規(guī)劃
tips:
NameNode和SecondaryNameNode不要安裝在同一臺(tái)服務(wù)器;
ResourceManager也很消耗內(nèi)存,不要和NameNode、SecondaryNameNode配置在同一臺(tái)機(jī)器上;
| HDFS | NameNode DataNode | DataNode | SecondaryNameNode DataNode |
| YARN | NodeManager | ResourceManager NodeManager | NodeManager |
2. 配置文件說明
Hadoop配置文件分兩類:默認(rèn)配置文件和自定義配置文件,只有用戶想修改某一默認(rèn)配置值時(shí),才需要修改自定義配置文件,更改相應(yīng)屬性值。
1). 默認(rèn)配置文件:
| [core-default.xml] | hadoop-common-3.2.2.jar/core-default.xml |
| hdfs-default.xml | hadoop-hdfs-3.2.2.jar/hdfs-default.xml |
| yarn-default.xml | hadoop-yarn-common-3.2.2.jar/yarn-default.xml |
| mapred-default.xml | hadoop-mapreduce-client-core-3.2.2.jar/mapred-default.xml |
2). 自定義配置文件:
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四個(gè)配置文件存放在$HADOOP_HOME/etc/hadoop這個(gè)路徑,可根據(jù)項(xiàng)目需求重新進(jìn)行修改配置。
3. 配置集群
1). 核心配置文件:
配置core-site.xml:
[xiaobai@hadoop102 etc]$ cd $HADOOP_HOME/etc/hadoop [xiaobai@hadoop102 hadoop]$ vim core-site.xml防止遺忘==> $HADOOP_HOME= /opt/module/hadoop-3.2.2/
文件內(nèi)容如下:
<configuration><!--指定NameNode的地址--><property><name>fs.defaultFS</name><value>hdfs://hadoop102:8020</value></property><!--指定hadoop數(shù)據(jù)的存儲(chǔ)目錄--><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.2.2/data</value></property><!--配置HDFS網(wǎng)頁(yè)登錄使用的靜態(tài)用戶為xiaobai--><property><name>hadoop.http.staticuser.user</name><value>xiaobai</value></property><!--配置該xiaobai(superUser)允許通過代理訪問的主機(jī)節(jié)點(diǎn)--><property><name>hadoop.proxyuser.xiaobai.hosts</name><value>*</value></property><!--配置該xiaobai(superUser)允許通過代理用戶所屬組--><property><name>hadoop.proxyuser.xiaobai.groups</name><value>*</value></property><!--配置該xiaobai(superUser)允許通過代理的用戶--><property><name>hadoop.proxyuser.xiaobai.users</name><value>*</value></property> </configuration>2). HDFS 配置文件:
配置hdfs-site.xml:
[xiaobai@hadoop102 hadoop]$ vim hdfs-site.xml文件內(nèi)容如下:
<configuration><!--nn web端訪問地址--><property><name>dfs.namenode.http-address</name><value>hadoop102:9870</value></property><!--2nn web端訪問地址--><property><name>dfs.namenode.secondary.http-address</name><value>hadoop104:9868</value></property><!--測(cè)試環(huán)境指定HDFS副本數(shù)量1--><property><name>dfs.replication</name><value>1</value></property></configuration>3). YARN配置文件:
配置yarn-site.xml:
[xiaobai@hadoop102 hadoop]$ vim yarn-site.xml文件內(nèi)容如下:
<configuration><!--指定MR走shuffle--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!--指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value></property><!--開啟日志聚集功能--><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!--設(shè)置日志聚集服務(wù)器地址--><property><name>yarn.log.server.url</name><value>http://hadoop102:19888/jobhistory/logs</value></property><!--設(shè)置日志保留時(shí)間為7天--><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property><!--yarn容器允許分配的最大最小內(nèi)存--><property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>4096</value></property><!--yarn容器允許管理的物理內(nèi)存大小--><property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value></property><!--關(guān)閉yarn對(duì)虛擬內(nèi)存的限制檢查--><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false></value></property></configuration>日志聚集功能的配置==>
tips:
最大最小內(nèi)存按照自己的需求來。
4). MapReduce配置文件:
配置mapreduce-site.xml:
[xiaobai@hadoop102 hadoop]$ vim mapred-site.xml文件內(nèi)容如下:
<configuration><!--指定MapReduce程序運(yùn)行在Yarn上--><property><name>mapreduce.framework.name</name><value>yarn</value></property> </configuration>歷史服務(wù)器配置==>
5). 在集群上分發(fā)配置好的Hadoop配置文件:
[xiaobai@hadoop102 hadoop]$ xsync /opt/module/hadoop-3.2.2/etc/hadoop/6). 去hadoop103/hadoop104上查看文件分發(fā)情況:
[xiaobai@hadoop103 ~]$ cd /opt/module/hadoop-3.2.2/ [xiaobai@hadoop103 hadoop-3.2.2]$ pwd /opt/module/hadoop-3.2.2 [xiaobai@hadoop103 hadoop-3.2.2]$ cd etc/hadoop/ [xiaobai@hadoop103 hadoop]$ cat core-site.xml或在文件路徑下直接查找/或在查找時(shí)補(bǔ)全文件路徑
[xiaobai@hadoop104 ~]$ cat /opt/module/hadoop-3.2.2/etc/hadoop/core-site.xml群起集群
1. 配置workers
[xiaobai@hadoop102 hadoop]$ vim workers在文件中刪掉localhost,輸入如下內(nèi)容:
hadoop102 hadoop103 hadoop104 ~tips:
內(nèi)容輸入不允許有空格&空行!會(huì)誤以為是主機(jī)名稱!
同步所有節(jié)點(diǎn)配置文件:
[xiaobai@hadoop102 hadoop]$ xsync workers2. 啟動(dòng)集群
1). 若集群是第一次啟動(dòng),需要在hadoop102節(jié)點(diǎn)格式化NameNode;
tips:
格式化NameNode,會(huì)產(chǎn)生新的集群id,導(dǎo)致NameNode和DataNode的集群id不一致,集群找不到以往數(shù)據(jù)。如果集群在運(yùn)行過程中報(bào)錯(cuò),需要重新格式化NameNode的話,一定要先停止NameNode和DataNode進(jìn)程,并且要?jiǎng)h除所有機(jī)器的data和logs目錄,然后再進(jìn)行格式化。
果然就被我遇到了:多次初始化導(dǎo)致clusterID不一致解決方法==>
2). 啟動(dòng)HDFS:
[xiaobai@hadoop102 hadoop-3.2.2]$ sbin/start-dfs.sh查看進(jìn)程是否與集群規(guī)劃一致:
hadoop102沒有啟動(dòng)DataNode的解決方法==>
3). 在配置了ResourceManager的節(jié)點(diǎn)(hadoop103)啟動(dòng)YARN:
[xiaobai@hadoop103 hadoop-3.2.2]$ sbin/start-yarn.sh Starting resourcemanager Starting nodemanagers查看進(jìn)程是否與集群規(guī)劃一致:
[xiaobai@hadoop103 hadoop-3.2.2]$ jps 15858 Jps 15350 ResourceManager 15462 NodeManager 13912 DataNode [xiaobai@hadoop102 hadoop-3.2.2]$ jps 25060 NodeManager 23653 DataNode 21805 NameNode 25197 Jps [xiaobai@hadoop104 hadoop-3.2.2]$ jps 15169 NodeManager 15316 Jps 13639 SecondaryNameNode 13544 DataNode4). Web端查看HDFS的NameNode:
a. 瀏覽器輸入: http://hadoop102:9870;
b. 查看HDFS上存儲(chǔ)的數(shù)據(jù)信息;
5). Web端查看YARN的ResourceManager:
a. 瀏覽器輸入: http://hadoop103:8088;
b. 查看YARN上運(yùn)行的Job信息;
解決hadoop HDFS / hadoop YARN無法訪問問題解決方法==>
3. 集群基本測(cè)試
1). 上傳文件到集群:
上傳小文件:
將/opt/module/hadoop-3.2.2/wcinput/word.txt上傳到根目錄下的 /wcinput:
上傳大文件:
將/opt/software/jdk-8u144-linux-x64.tar.gz上傳到 根目錄 /:
2). 上傳文件后查看文件存儲(chǔ)位置:
查看HDFS文件存儲(chǔ)路徑:
[xiaobai@hadoop102 subdir0]$ pwd /opt/module/hadoop-3.2.2/data/dfs/data/current/BP-1094756810-192.168.10.102-1623427145615/current/finalized/subdir0/subdir0查看HDFS在磁盤存儲(chǔ)文件內(nèi)容(內(nèi)容為word.txt文件內(nèi)容):
[xiaobai@hadoop102 subdir0]$ cat blk_1073741825 hello world welcome hi hi hello aaaa3). 拼接:
[xiaobai@hadoop102 subdir0]$ ll total 182596 -rw-rw-r--. 1 xiaobai xiaobai 37 Jun 13 15:32 blk_1073741825 -rw-rw-r--. 1 xiaobai xiaobai 11 Jun 13 15:32 blk_1073741825_1001.meta -rw-rw-r--. 1 xiaobai xiaobai 134217728 Jun 13 15:42 blk_1073741826 -rw-rw-r--. 1 xiaobai xiaobai 1048583 Jun 13 15:42 blk_1073741826_1002.meta -rw-rw-r--. 1 xiaobai xiaobai 51298114 Jun 13 15:43 blk_1073741827 -rw-rw-r--. 1 xiaobai xiaobai 400775 Jun 13 15:43 blk_1073741827_1003.meta [xiaobai@hadoop102 subdir0]$ cat blk_1073741826 >> tmp.tar.gz [xiaobai@hadoop102 subdir0]$ cat blk_1073741827 >> tmp.tar.gz [xiaobai@hadoop102 subdir0]$ tar -zxvf tmp.tar.gz可以看到tmp.tar.gz就是上傳的jdk文件:
4). 下載:
[xiaobai@hadoop104 software]$ hadoop fs -get /jdk-8u144-linux-x64.tar.gz ./5). 執(zhí)行wordcount程序:
通過hdfs方式運(yùn)行,所以路徑也必須是集群路徑:/wcinput,輸出路徑也是集群路徑:/wcoutput
出現(xiàn)Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster解決方法==>
總結(jié)
以上是生活随笔為你收集整理的hadoop--集群配置/群起集群的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何用 ajax 连接mysql数据库,
- 下一篇: openerp 禁止导出