Hadoop完全分布式搭建(未配置Zookeeper)

一、准备资源(1~4下载均为免费资源,也可自行下载)

  1. 操作系统(CentOS7)
        (1)带桌面版本,用来当作master:
                 百度网盘链接:点击下载
                 提取码:wz4z
        (2)不带桌面版本,用来当作slave:
                 百度网盘链接:点击下载
                 提取码:gjyf
  2. Hadoop-2.9.2
        百度网盘链接:点击下载
        提取码:gtg5
  3. jdk1.8
        百度网盘链接:点击下载
        提取码:8vop
  4. FileZllia
        百度网盘链接:点击下载
        提取码:5oqu
  5. VMWare
        爱莫能助,各位自己找资源吧!

二、集群概述:

    一共配置3台虚拟机,3台虚拟机分别命名为:master,slave01,slave02;
    每台虚拟机的用户均使用root用户,密码均为123456;

三、准备工作

    请自己将三台虚拟机(一台有桌面,另外俩台没有桌面)在VMware中装好,同时修改hostnamehosts文件,并且hosts文件中要包含三台虚拟机和对应ip地址的映射关系,具体配置请参考往期博客

四、免密登录

    每一台虚拟机都执行以下操作:
    1. 修改 sshd_config配置文件:

vi /etc/ssh/sshd_config

    2. 修改43行内容:将PubkeyAuthentication yes的注释删除掉;
    3. 在第44行内容添加:

RSAAuthentication yes

    4. 重启sshd.service服务:

systemctl restart sshd.service

    5. 生成密钥:

# 第一条命令遇到输入直接回车
ssh-keygen -t rsa -P ''
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    6. 免密其他虚拟机:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave01
ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave02

    7. 免密自己:

ssh master

五、配置master

  1. 配置HADOOP_HOME环境变量:
        (1)创建hadoop.sh脚本:
vi /etc/profile.d/hadoop.sh

    (2)向hadoop.sh脚本写入以下内容:

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

    (3)使hadoop.sh脚本生效:

source /etc/profile.d/hadoop.sh
  1. 配置$HADOOP_HOME/etc/hadoop/hadoop-env.sh配置文件:
        (1)修改第25行为:
export JAVA_HOME=/usr/java/jdk1.8.0_311

            (2)增加第26行内容为:

export HADOOP_SSH_OPTS='-o StrictHostKeyChecking=no'

            (3)修改第113行内容为:

export HADOOP_PID_DIR=${HADOOP_HOME}/pids
  1. 配置$HADOOP_HOME/etc/hadoop/mapred-env.sh配置文件:
        (1)修改第16行内容为:
export JAVA_HOME=/usr/java/jdk1.8.0_311

            (2)修改第28行内容为:

export HADOOP_MAPRED_PID_DIR=${HADOOP_HOME}/pids
  1. 配置$HADOOP_HOME/etc/hadoop/yarn-env.sh配置文件:
        (1)修改第23行注释为:
export JAVA_HOME=/usr/java/jdk1.8.0_311

            (2)文件最后添加一行内容为:

export YARN_PID_DIR=${HADOOP_HOME}/pids
  1. 配置$HADOOP_HOME/etc/hadoop/core-site.xml配置文件:
    <properties></properties>写入如下内容:
		<property>
                <name>fs.defaultFS</name>
                <value>hdfs://192.168.159.3:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop-2.9.2/hdfsdata</value>
        </property>
  1. 配置$HADOOP_HOME/etc/hadoop/mapred-site.xml配置文件:
    <properties></properties>写入如下内容:
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
  1. 配置$HADOOP_HOME/etc/hadoop/yarn-site.xml配置文件:
    <properties></properties>写入如下内容:
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
  1. 修改$HADOOP_HOME/etc/hadoop/slaves文件为:
slave01
slave02

六、配置slave

master中的配置文件转给slave

scp -R /ect/profile.d/hadoop.sh slave01:/ect/profile.d
scp -R /ect/profile.d/hadoop.sh slave02:/ect/profile.d
scp -R /usr/local/hadoop-2.9.2 slave01:/usr/local
scp -R /usr/local/hadoop-2.9.2 slave02:/usr/local

slave重启:

reboot

七、启动Hadoop

只能在master运行以下命令:

hdfs namenode -format
start-dfs.sh
start-yarn.sh
mr-jobhistory.sh start historyserver

八、关闭Hadoop

只能在master运行以下命令:

mr-jobhistory.sh stop historyserver
stop-yarn.sh
stop-dfs.sh

Guess you like

Origin blog.csdn.net/D___H/article/details/121826021