hadoop3.2.1集羣搭建

hadoop目前最新版本爲3.2.1,本教程將使用hadoop最新版本搭建大數據集羣,並通過yarn運行wordcount的mapreduce程序

軟件和服務器準備工作

軟件準備

  1. hadoop 3,2,1。 下載地址點擊下載
  2. java8。 下載地址 點擊下載 (經本人測試jdk最新版本 java14 運行hadoop集羣會報錯,所以並不是jdk版本越高越好) 

服務器準備

hadoop服務器
ip(主機名) 外網ip 功能
172.19.86.64(host01) 139.196.56.185

namenode

resourcemanager

172.19.86.65(host02) 47.100.167.206

datanode

nodemanager

172.19.86.63(host03) 139.196.193.96

datanode

nodemanager

 

服務器環境配置

  1. 將jdk和hadoop放置到3臺服務器的 /home/software 目錄,並解壓到當前目錄

  2. 在3臺服務器上配置jdk環境變量,JAVA_HOME=/home/software/jdk1.8.0_202

  3. 在3臺服務器上配置 /etc/hosts 文件,使3臺服務器能夠通過hostname互相ping通

  4. 在3臺服務器上生成ssh密鑰對,並相互拷貝公鑰文件追加到 ~/.ssh/authorized_keys 文件中,檢測是否能夠ssh免密鑰互通

搭建hdfs文件系統

3臺服務器上修改hadoop-env.sh 文件,路徑爲 /home/software/hadoop-3.2.1/etc/hadoop/hadoop-env.sh ,內容爲:

export JAVA_HOME=/home/software/jdk1.8.0_202
export HADOOP_HOME=/home/software/hadoop-3.2.1

3臺服務器上新建data目錄,命令爲 

mkdir -p /home/software/hadoop-3.2.1/data/tmp
mkdir -p /home/software/hadoop-3.2.1/data/namenode
mkdir -p /home/software/hadoop-3.2.1/data/datanode

3臺服務器上修改core-site.xml 文件,路徑爲 /home/software/hadoop-3.2.1/etc/hadoop/core-site.xml,內容爲:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://host01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/software/hadoop-3.2.1/data/tmp</value>
    </property>
</configuration>

3臺服務器上hdfs-site.xml,路徑爲 /home/software/hadoop-3.2.1/etc/hadoop/hdfs-site.xml,內容爲:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/software/hadoop-3.2.1/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/software/hadoop-3.2.1/data/datanode</value>
    </property>
</configuration>

3臺服務器上修改workers文件,路徑爲:/home/software/hadoop-3.2.1/etc/hadoop/workers ,內容爲:

host01
host02
host03

 在host01上格式化文件系統,命令爲: /home/software/hadoop-3.2.1/bin/hdfs namenode -format

在host01上啓動namenode,命令爲 sbin/hadoop-daemon.sh start namenode

在3臺服務器上啓動datanode,命令爲 sbin/hadoop-daemon.sh start datanode

這樣我們就可以在瀏覽器通過 http://139.196.56.185:9870/ 地址訪問我們的hdfs文件系統了

在host01上創建文件夾 bin/hdfs dfs -mkdir -p /user/root/wordcount/input

配置yarn

3臺服務器上配置mapred-site.xml文件,路徑爲 /home/software/hadoop-3.2.1/etc/hadoop/mapred-site.xml, 內容爲

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

3臺服務器上配置yarn-site.xml.xml文件,路徑爲  /home/software/hadoop-3.2.1/etc/hadoop/yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>host01</value>
    </property>
</configuration>

在host01上啓動resourcemanager,命令爲  sbin/yarn-daemon.sh start resourcemanager

在3臺服務器上啓動nodemanager,命令爲 sbin/yarn-daemon.sh start nodemanager

http://139.196.56.185:8088/cluster,訪問yarn的web頁面 

在yarn上運行wordcount程序

  1. bin/hdfs dfs -put input.txt wordcount/input 放置文件到hdfs文件系統中
  2. bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount wordcount/input wordcount/output 在yarn上運行mapreduce的wordcount程序
  3. bin/hdfs dfs -cat wordcount/output/part* 查看wordcount運行的結果

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章