1. 程式人生 > >hadoop原生平臺搭建教程

hadoop原生平臺搭建教程

搭建準備hadoop-3.1.1.tar.gz   jdk-8u77-linux-x64.tar.gz(官網下載)

0x1 基礎環境配置

centos 7.1系統

我這裡使用的是雙節點。建立兩臺虛擬機器  master、slaver 並使用hostnamectl set-hostname改名

開啟主機的DHCP模式,自動獲取ip地址。方法如下:

cd /etc/sysconfig/network-scripts/           //進入網絡卡編輯目錄
vi ifcfg-enp16777736                         //編輯網絡卡enp0s3的配置檔案


 重啟網絡卡 service network restart

然後設定hosts,所有節點都要設定

 

設定ssh免密登陸:ssh-keygen

所有節點都要設定

所有節點輸入:ssh-copy-id slaver
            ssh-copy-id master

使用ssh master(ssh slaver)來驗證免密登陸是否成功,如果不需要輸入密碼則成功

0x2 編輯環境變數

建立jdk資料夾:mkdir -p /usr/jdk64
將jdk解壓到改資料夾:tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/jdk64/

解壓hadoop將其移動到/opt/bigdate 

解壓: tar -zxvf hadoop-3.1.1.tar.gz
驗證環境:hadoop version

 

修改配置檔案

紅框是java環境,藍框是hadoop環境

 完成後生效環境變數

source /etc/profile

0x3更改配置檔案

進入/opt/bigdate/hadoop-3.1.1/etc/hadoop目錄更改core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml配置檔案

編輯 vi hadoop-env.sh 

新增:export JAVA_HOME=/usr/jdk64/jdk1.8.0_77/

編輯 vi core-site.sh

<!-- Put site-specific property overrides in this file. -->
<configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://master:9000</value>
        </property>
        <property>
                <name>hadoop.temp.dir</name>
                <value>/opt/bigdate/hadoop-3.1.1/tmp</value>
        </property>
</configuration>

 配置vi hdfs-site.xml

<!-- Put site-specific property overrides in this file. -->

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/opt/bigdate/hadoop-3.1.1/hdfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/opt/bigdate/hadoop-3.1.1/hdfs/data</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>node1:9001</value>
        </property>
        <property>
                <name>dfs.http.address</name>
        <value>0.0.0.0:50070</value>
        </property>
</configuration>

配置vi mapred-site.xml

<!-- Put site-specific property overrides in this file. -->

<configuration>
        <property>
                <name>mapred.job.tracker.http.address</name>
                <value>0.0.0.0:50030</value>
        </property>
        <property>
                <name>mapred.task.tracker.http.address</name>
                <value>0.0.0:50060</value>
        </property>
        <property>
                 <name>mapreduce.framework.name</name>
                 <value>yarn</value>
        </property>
        <property>
                 <name>mapreduce.application.classpath</name>
                 <value>
                    /opt/bigdate/hadoop-3.1.1/etc/hadoop,
                    /opt/bigdate/hadoop-3.1.1/share/hadoop/common/*,
                    /opt/bigdate/hadoop-3.1.1/share/hadoop/common/lib/*,
                    /opt/bigdate/hadoop-3.1.1/share/hadoop/hdfs/*
                    /opt/bigdate/hadoop-3.1.1/share/hadoop/hdfs/lib/*
                    /opt/bigdate/hadoop-3.1.1/share/hadoop/mapreduce/*
                    /opt/bigdate/hadoop-3.1.1/share/hadoop/yarn/*
                    /opt/bigdate/hadoop-3.1.1/share/hadoop/yarn/lib/*
                </value>
          </property>
</configuration>

配置vi  yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:8099</value>
    </property>
</configuration>

配置 vi workers 

此處因為前面配置了hosts,所以此處可以直接寫主機名,如果沒有配置,必須輸入相應主機的ip地址。配置的workers,hadoop會把配置在這裡的主機當作datanode

將hadoop資料夾複製到其他節點

scp -r /opt/bigdate/hadoop-3.1.1 master:/opt/bigdate/

完成後在/opt/bigdate/hadoop-3.1.1/sbin(根據你們自己的配置來)

輸入start-all.sh即可

0x4排錯

如果遇到

需要修改start-dfs.sh

        stop-dfs.sh

        start-yarn.sh

        stop-yarn.sh
四個檔案的使用者名稱,並需要修改/etc/SELINUX/confde配置

配置vi start-dfs.sh新增

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

配置vi   stop-dfs.sh新增

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

配置vi start-yarn.sh新增

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

配置vi stop-yarn.sh 新增

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

配置vi /etc/selinux/config 修改SELINUX=enforcing更改為SELINUX=disabled

最後將其重新複製到其他節點

然後啟動hadoop就行了