【Hadoop】Hadoop 2.x 完全分布式环境搭建

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/gongxifacai_believe/article/details/80036418

1、前期准备:克隆 克隆前需要关闭所有正在运行的服务进程,然后关闭系统。克隆需要选择完整克隆。克隆出两台虚拟机,共三台。 克隆后需要修改配置: (1)/etc/sysconfig/network中的HOSTNAME,使得三台虚拟机的hostname不同(永久生效)。 (2)/etc/hosts中的主机名和IP地址的映射。三台虚拟机的映射都要有。 (3)/etc/udev/rules.d/70-persistent-net.rules中修改MAC地址,因为MAC地址是唯一的。 2、对机器配置与服务进行规划 (1)配置 hadoop01 hadoop02 hadoop03 内存:50G 内存:50G 内存:50G CPU:20核 CPU:20核 CPU:20核 硬盘:100TB 硬盘:100TB 硬盘:100TB (2)服务 hadoop01 hadoop02 hadoop03 NameNode ResourceManager SecondaryNameNode DataNode DataNode DataNode ->存储,消耗硬盘 NodeManager NodeManager NodeManager ->分析计算,消耗资源 HistoryServer 3、搭建过程 (1)解压Hadoop $ tar -zxf /opt/software/hadoop-2.5.0.tar.gz -C /opt/app/ (一定是普通用户解压,如beifeng) (2)指定Java的安装路径,配置hadoop-env.shmapred-env.sh,yarn-env.sh文件中的 export JAVA_HOME=/opt/modules/jdk1.7.0_67 (3)配置用户自定义的文件,core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml。 core-site.xml:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop-senior.ibeifeng.com:8020</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/app/hadoop-2.5.0/data/tmp</value>
        </property>
        <property>
                <name>hadoop.http.staticuser.user</name>
                <value>beifeng</value>
        </property>
</configuration>

hdfs-site.xml:

<configuration>
        <property>
                <name>dfs.permissions.enabled</name>
                <value>false</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>hadoop-senior03.ibeifeng.com:50090</value>
        </property>
</configuration>

slaves:添加所有节点的主机名 hadoop-senior.ibeifeng.com hadoop-senior02.ibeifeng.com hadoop-senior03.ibeifeng.com yarn-site.xml:

<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop-senior02.ibeifeng.com</value>
        </property>
        <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>

        <property>
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>106800</value>
        </property>
</configuration>

mapred-site.xml:

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>hadoop-senior.ibeifeng.com:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>hadoop-senior.ibeifeng.com:19888</value>
        </property>
</configuration>

(4)分发配置文件到各个节点上 拷贝之前先将share目录下的doc文件夹删除,减少拷贝的时间。 scp:s代表SSH协议,远程拷贝,将一台机器的配置发送到其他机器上,使其他机器具有相同的配置。 $ scp -r hadoop-2.5.0/ hadoop-senior02.ibeifeng.com:/opt/app $ scp -r hadoop-2.5.0/ hadoop-senior03.ibeifeng.com:/opt/app 拷贝之前,其他节点上要同样创建相同的目录。 (5)格式化namenode(在hadoop-senior上):$ bin/hdfs namenode -format (6)在hadoop-senior上启动namenode和datanode和nodemanager, 在hadoop-senior02上启动datanode和resourcemanager和nodemanager, 在hadoop-senior03上启动datanode和secondarynamenode和nodemanager。 $ sbin/hadoop-daemon.sh start namenode $ sbin/hadoop-daemon.sh start datanode $ sbin/hadoop-daemon.sh start secondarynamenode $ sbin/yarn-daemon.sh start resourcemanager $ sbin/yarn-daemon.sh start nodemanager 在hadoop-senior上启动historyserver: $ sbin/mr-jobhistory-daemon.sh start historyserver 4、完全分布式多节点SSH免密码登陆 在三台虚拟机上分别配置: $ ssh-keygen -t rsa $ ssh-copy-id hadoop-senior.ibeifeng.com $ ssh-copy-id hadoop-senior02.ibeifeng.com $ ssh-copy-id hadoop-senior03.ibeifeng.com 即可实现三台虚拟机免密码互相登陆,如在hadoop-senior上输入: $ ssh hadoop-senior02.ibeifeng.com

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券