日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop完全分布式集群——Hadoop 配置

發布時間:2023/12/20 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop完全分布式集群——Hadoop 配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面已完成VMware虛擬機安裝與配置(參考前一篇Hadoop完全分布式集群——VMware虛擬機安裝與配置_夏雨和陽陽的博客-CSDN博客),下面將進行Hadoop 配置。

一、slave1、slave2節點配置修改

slave1、slave2節點都需要進行以下操作:

1.開啟虛擬機,輸入命令:

[root@slave1 ~]#ip addr

[root@slave2 ~]#ip addr

2.修改slave1、slave2虛擬機的IP

[root@slave1 ~]#vi /etc/sysconfig/network-scripts/ifcfg-ens33

[root@slave12 ~]#vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改slave1為IPADDR=192.168.128.131,修改slave2為IPADDR=192.168.128.132。

?3.修改slave1、slave2虛擬機的主機名

[root@slave1 ~]#vi /etc/hostname

[root@slave2 ~]#vi /etc/hostname

主節點為 master,子節點分別為 slave1、slave2。

?4.slave1、slave2虛擬機重啟網絡服務

[root@slave1 ~]#service network restart

[root@slave2 ~]#service network restart

5.查看slave1、slave2虛擬機 IP、主機名是否修改

[root@slave1 ~]#ip addr

[root@slave2 ~]#ip addr

6.reboot 重啟slave1、slave2虛擬機。

root@slave1 ~]#reboot

root@slave2 ~]#reboot

二、 配置master、slave1、slave2虛擬機無密碼登錄

1.配置 IP 映射(master、slave1、slave2每個節點都需修改)

[root@master ~]#vi /etc/hosts

[root@slave1 ~]#vi /etc/hosts

[root@slave2 ~]#vi /etc/hosts

依次添加如下內容:

192.168.128.130 master

192.168.128.131 slave1

192.168.128.132 slave2

?2.配置 SSH 無密碼登錄

(1) 使用 ssh-keygen 產生公鑰與私鑰對。

在master虛擬機輸入命令:

[root@master ~]# ssh-keygen -t rsa

執行過程中需要按三次 Enter 鍵。

生成私有密鑰 id_rsa 和公有密鑰 id_rsa.pub 兩個文件。ssh-keygen 用來生成 RSA類型的密鑰以及管理該密鑰,參數“-t”用于指定要創建的 SSH 密鑰的類型為RSA。

(2)用 ssh-copy-id 將公鑰復制到slave1、slave2虛擬機中

[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave1?????//依次輸入 yes,123456(root 用戶的密碼)

[root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave2???? //依次輸入 yes,123456(root 用戶的密碼)

(3)驗證是否設置無密碼登錄

依次輸入:
[root@master ~]# ssh slave1????? //下圖表示無密碼登陸slave1成功

[root@master ~]# exit??? //下圖表示退出slave1

?用同樣的方法驗證slave2是否設置無密碼登錄。

(4)配置宿主機SSH 無密碼登錄master、slave1、slave2虛擬機

?為了便于連接和操作master、slave1、slave2虛擬機,也需要配置SSH 無密碼登錄。在宿主機上操作如下:

[root@localhost~]#vi /etc/hosts

依次添加如下內容:

192.168.128.130 master

192.168.128.131 slave1

192.168.128.132 slave2

[root@localhost~]# ssh-keygen -t rsa

執行過程中需要按三次 Enter 鍵。

[root@localhost~]# ssh-copy-id -i /root/.ssh/id_rsa.pub master ??? //依次輸入 yes,123456(root 用戶的密碼)

[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave1?????//依次輸入 yes,123456(root 用戶的密碼)

[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub slave2???? //依次輸入 yes,123456(root 用戶的密碼)

[root@localhost ~]# ssh master

[root@localhost ~]# ssh slave1???

[root@localhost ~]# ssh slave1???

三、安裝 jdk(每個節點都需安裝)

用的是JDK1.8.0_131版本(jdk-8u131-linux-x64.tar.gz),有需要從百度網盤中下載。

下載鏈接:https://pan.baidu.com/s/1P2fkRonIVO-DZMNKNgCCKA

提取碼:ml01

1. 解壓并安裝/opt 目錄

[root@master opt]#tar -zxvf jdk-8u131-linux-x64.tar.gz

2.修改環境變量

[root@master ~]#vi /etc/profile

添加如下內容:

export JAVA_HOME=/opt/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin

[root@master ~]#source /etc/profile??????????? //使配置生效

?3.驗證 JDK 是否配置成功

[root@master ]#java -version

4.將master上的配置好的JDK分發到slave1、slave2上

[root@master ]#scp -r /opt/jdk1.8.0_131 root@slave1:/opt

[root@master ]#scp -r /opt/jdk1.8.0_131 root@slave2:/opt

5.環境變量配置生效

[root@slave1 ~]#source /etc/profile?

[root@slave2 ~]#source /etc/profile?

6.驗證 slave1、slave2中的JDK 是否配置成功

[root@slave1 ~]#java -version

[root@slave2 ~]#java -version

四、 Hadoop2.7.7 安裝與配置

用的是Hadoop2.7.7版本(hadoop-2.7.7.tar.gz),有需要從百度網盤中下載。

下載鏈接:https://pan.baidu.com/s/13Mc6YsbHiZPkbozJUMuahg

提取碼:mt1s

1.解壓并安裝/usr/local目錄(主節點進行)

[root@master ]#tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local

解壓后即可看到/usr/local/hadoop-2.7.7文件夾。

2.配置 Hadoop

(1)進入目錄

[root@master ]#cd /usr/local/hadoop-2.7.7/etc/hadoop

依次修改以下配置文件(使用 vi 命令對文件進行修改 如 vi core-site.xml),修改完按ESC鍵,輸入:wq!保存退出。

注:文件中存在<configuration></configuration>,配置放入其中,且只保留一組的<configuration></configuration>。

(2)修改core-site.xml

[root@master hadoop]#vi xore-site.xml

添加如下內容:

<configuration>
??????? <property>
??????? <name>fs.default.name</name>
??????? <value>hdfs://master:9000</value>
??????? </property>
??????? <property>
??????? <name>hadoop.tmp.dir</name>
??????? <value>/usr/local/hadoop-2.7.7/hdfs/tmp</value>
??????? </property>
</configuration>

(3)修改hadoop-env.sh

[root@master hadoop]#vi hadoop-env.sh

修改如下內容:

# The java implementation to use.
export JAVA_HOME=/opt/jdk1.8.0_131

(4)修改hdfs-site.xml

[root@master hadoop]#vi hdfs-site.xml

添加如下內容:

<configuration>
??????? <property>
??????? <name>dfs.namenode.name.dir</name>
??????? <value>/usr/local/hadoop-2.7.7/hdfs/name</value>
??????? </property>
??????? <property>
??????? <name>dfs.datanode.data.dir</name>
??????? <value>/usr/local/hadoop-2.7.7/hdfs/data</value>
??????? </property>
??????? <property>
??????? <name>dfs.namenode.secondary.http-address</name>
??????? <value>master:50090</value>
??????? </property>
??????? <property>
??????? <name>dfs.replication</name>
??????? <value>2</value>
??????? </property>
</configuration>

(5)修改mapred-site.xml

此目錄下并沒有mapred-site.xml,須復制mapred-site.xml.template生成。命令如下:

[root@master hadoop]#cp mapred-site.xml.template mapred-site.xml

[root@master hadoop]#vi mapred-site.xml

添加如下內容:

<configuration>
??????? <property>
??????? <name>mapreduce.framework.name</name>
??????? <value>yarn</value>
??????? </property>
<!-- jobhistory properties -->
??????? <property>
??????? <name>mapreduce.jobhistory.address</name>
??????? <value>master:10020</value>
??????? </property>
??????? <property>
??????? <name>mapreduce.jobhistory.webapp.address</name>
??????? <value>master:19888</value>
??????? </property>
</configuration>

(6)修改yarn-site.xml

[root@master hadoop]#vi yarn-site.xml

添加如下內容:

<configuration>

<!-- Site specific YARN configuration properties -->
??????? <property>
??????? <name>yarn.resourcemanager.hostname</name>
??????? <value>master</value>
??????? </property>
??????? <property>
??????? <name>yarn.resourcemanager.address</name>
??????? <value>${yarn.resourcemanager.hostname}:8032</value>
??????? </property>
??????? <property>
??????? <name>yarn.resourcemanager.scheduler.address</name>
??????? <value>${yarn.resourcemanager.hostname}:8030</value>
??????? </property>
??????? <property>
??????? <name>yarn.resourcemanager.webapp.address</name>
??????? <value>${yarn.resourcemanager.hostname}:8088</value>
??????? </property>
??????? <property>
??????? <name>yarn.resourcemanager.webapp.https.address</name>
??????? <value>${yarn.resourcemanager.hostname}:8090</value>
??????? </property>
??????? <property>
??????? <name>yarn.resourcemanager.resource-tracker.address</name>
??????? <value>${yarn.resourcemanager.hostname}:8031</value>
??????? </property>
??????? <property>
??????? <name>yarn.resourcemanager.admin.address</name>
??????? <value>${yarn.resourcemanager.hostname}:8033</value>
??????? </property>
??????? <property>
??????? <name>yarn.nodemanager.local-dirs</name>
??????? <value>/usr/local/hadoop-2.7.7/yarn/local</value>
??????? </property>
??????? <property>
??????? <name>yarn.log-aggregation-enable</name>
??????? <value>true</value>
??????? </property>

??????? <property>
??????? <name>yarn.nodemanager.remote-app-log-dir</name>
??????? <value>/usr/local/hadoop-2.7.7/yarn/logs</value>
??????? </property>

??????? <property>
??????? <name>yarn.log.server.url</name>
??????? <value>http://master:19888/jobhistory/logs/</value>
??????? <description>URL for job history server</description>
??????? </property>
??????? <property>
??????? <name>yarn.nodemanager.vmem-check-enabled</name>
??????? <value>false</value>
??????? </property>
??????? <property>
??????? <name>yarn.nodemanager.aux-services</name>
??????? <value>mapreduce_shuffle</value>
??????? </property>
??????? <property>
??????? <name>yarn.nodemanager.aux-services</name>
??????? <value>mapreduce_shuffle</value>
??????? </property>
??????? <property>
??????? <name>yarn.nodemanager.resource.memory-mb</name>
??????? <value>2048</value>
?????? </property>
??????? <property>
??????? <name>yarn.scheduler.minimum-allocation-mb</name>
??????? <value>512</value>
??????? </property>
??????? <property>
??????? <name>yarn.scheduler.maximum-allocation-mb</name>
??????? <value>4096</value>
??????? </property>
??????? <property>
??????? <name>mapreduce.map.memory.mb</name>
??????? <value>2048</value>
??????? </property>
??????? <property>
??????? <name>mapreduce.reduce.memory.mb</name>
??????? <value>2048</value>
??????? </property>
??????? <property>
??????? <name>yarn.nodemanager.resource.cpu-vcores</name>
??????? <value>1</value>
??????? </property>
??????? <property>
??????? <name>yarn.application.classpath </name>
??????? <value>
??????? /usr/local/hadoop-2.7.7/etc/hadoop:/usr/local/hadoop-2.7.7/share/hadoop/common/lib/*:/usr/local/hadoop-2.7.7/share/hadoop/common/*:/usr/local/hadoop-2.7.7/share/hadoop/hdfs:/usr/local/hadoop-2.7.7/share/hadoop/hdfs/lib/*:/usr/local/hadoop2.7.7/share/hadoop/hdfs/*:/usr/local/hadoop-2.7.7/share/hadoop/mapreduce/lib/*:/usr/local/hadoop-2.7.7/share/hadoop/mapreduce/*:/usr/local/hadoop-2.7.7/share/hadoop/yarn:/usr/local/hadoop-2.7.7/share/hadoop/yarn/lib/*:/usr/local/hadoop-2.7.7/share/hadoop/yarn/*
??????? </value>
??????? </property>
</configuration>

(7)修改yarn-env.sh

[root@master hadoop]#vi yarn-env.sh

修改如下內容:

# some Java parameters
export JAVA_HOME=/opt/jdk1.8.0_131

(8)修改workers

[root@master hadoop]#vi workers

刪除原有 localhost,添加:

master

slave1

slave2

(9)修改slaves

[root@master hadoop]#vi slaves

刪除原有 localhost,添加:

slave1

slave2

3.拷貝 hadoop 安裝文件到集群 slave1、slave2 節點

[root@master hadoop]#scp -r /usr/local/hadoop-2.7.7 root@slave1:/usr/local
[root@master hadoop]#scp -r /usr/local/hadoop-2.7.7 root@slave2:/usr/local

4.在master、slave1、slave2分別修改配置文件并生效

[root@master ~]#vi /etc/profile????????//添加 Hadoop 路徑??????????????

添加以下內容:

export HADOOP_HOME=/usr/local/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin

[root@master ~]#source /etc/profile????? //配置生效

slave1、slave2 節點操作同上。

5.master節點上格式化 NameNode

[root@master ~]#cd /usr/local/hadoop-2.7.7/bin

[root@master ~]#./hdfs namenode -format

注:hadoop 集群只需要格式化一次即可,后續啟動無需格式化。

6.master主節點啟動Hadoop

[root@master ~]#cd /usr/local/hadoop-2.7.7sbin

[root@master ~]#./start-dfs.sh

[root@master ~]#./start-yarn.sh

[root@master ~]#./mr-jobhistory-daemon.sh start historyserver

7.使用 jps,查看進程

?

8.slave1、slave2子節點沒有datanode進程

?此時須重啟子節點,進入子節點對應的sbin目錄,執行:

[root@slave1 ~]#cd /usr/local/hadoop-2.7.7/sbin

[root@slave1 sbin]#hadoop-daemon.sh start datanode

[root@slave1 sbin]#hadoop-daemon.sh start tasktracker(該命令可能會失效,所以失效的話就跳過該條命令)

使用jps查看進程已正常顯示datanode進程。

9.在宿主機上添加映射

[root@localhost ~]#vi \etc\hosts???????????? //添加 IP 映射
添加如下內容:

192.168.128.130 master
192.168.128.131 slave1
192.168.128.132 slave2

10.在宿主機上用瀏覽器查看

查看HDFS的NameNode:http://master:50070


?

查看YARN的ResourceManager:http://master:8088

?

?

總結

以上是生活随笔為你收集整理的Hadoop完全分布式集群——Hadoop 配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。