CentOS分布式部署Hadoop

    以3台CentOS7.3机器为例,分布式部署Hadoop 2.8.5。

一、准备工作

1、基础环境配置

准备3台机器,安装CentOS7.3。节点计划如下:

192.168.23.211  hadoop.master   NameNode,DataNode,ResourceManager,NodeManager

192.168.23.212  hadoop.slaver1  SecondaryNameNode,DataNode,NodeManager

192.168.23.213  hadoop.slaver2  DataNode,NodeManager

3台均配置好JDK环境(jdk安装路径相同),关闭防火墙。

2、关闭selinux

[root@centos]vim /etc/selinux/config
#bled This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

3、计算机重命名

查看主机名

[root@centos /]# hostnamectl status

修改主机名:

主节点计算机名:hadoop.master,其他节点计算机名分别为:hadoop.slaver1和hadoop.slaver2

[root@centos /]# hostnamectl set-hostname hadoop.master

4、 修改hosts

分别修改3台主机的hosts

[root@centos /]#vim /etc/hosts

在最后加上行以下3行IP和主机名映射:

192.168.23.211 hadoop.master

192.168.23.212 hadoop.slaver1

192.168.23.213 hadoop.slaver2

5、SSH免密码登录

ssh免密设置运行三台机器互信访问,在hadoop.master节点

[root@centos hadoop]# cd /root
[root@centos ~]# ssh-keygen -t rsa
[root@centos ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys

在/root目录下生成.ssh隐藏文件夹,将.ssh文件夹拷贝到其他2台机器,完成局域网多机器互信访问。

[root@centos ~]# scp -r .ssh/ root@192.168.23.212:/root/
[root@centos ~]# scp -r .ssh/ root@192.168.23.213:/root/

通过ssh 主机名可验证互信访问,以上可配置好一台机器,在克隆出其他2个机器。

配置完成后重启3台主机。

二、主节点上配置Hadoop

在主节点hadoop.master上配置hadoop。

1、解压缩Hadoop

将hadoop解压到/data目录:

[root@centos home]# tar –zxvf hadoop-2.8.5.tar.gz -C /data/soft/

配置hadoop环境变量:

[root@centos /]# vim /etc/profile
#set hadoop environment
export HADOOP_HOME=/data/soft/hadoop-2.8.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

让环境变量生效,命令行执行:

[root@centos /]# source /etc/profile

以下主要配置slaves,hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml等6个配置文件。

2、编辑slaves

进入/data/soft/hadoop-2.8.5/etc/hadoop目录,编辑slaves文件,删除缺省的localhost,将3台机器的主机名添加到其中:

[root@centos hadoop-2.8.5]# vim etc/hadoop/slaves

内容为:

hadoop.master

hadoop.slaver1

hadoop.slaver2

3、配置core-site.xml 

进入/data/soft/hadoop-2.8.5/etc/hadoop目录,编辑core-site.xml ,内容如下:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop.master:9000</value>
        <description>指定HDFS(namenode)的访问地址</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop/tmp</value>
        <description>hdfs临时文件存储路径</description>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
        <description>hdfs流文件缓存大小,默认4KB</description>
    </property>
</configuration>

4、配置hdfs-site.xml 

进入/data/soft/hadoop-2.8.5/etc/hadoop目录,编辑hdfs-site.xml 文件,内容如下:

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/hadoop/dfs/name</value>
        <description>hdfs元数据的物理存储位置 </description>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/hadoop/dfs/data</value>
        <description>hdfs数据的物理存储位置</description>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
        <description>设置hdfs副本数量,默认为3</description>
    </property>
   <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop.master:50070</value>
        <description>namenode地址</description>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop.slaver1:50090</value>
        <description>secondary namenode地址</description>
    </property>
    <property>
        <name>dfs.blocksize</name>
        <value>67108864</value>
        <description>block默认128兆(134217728),这里设置为64兆(67108864)</description>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
        <description>是否启用hdfs权限</description>
    </property>
</configuration>

5.配置yarn(mapred-site.xml)

         Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

        配置mapred-site.xml。注意,hadoop里面默认是mapred-site.xml.template 文件,如果配置yarn,把mapred-site.xml.template   重命名为mapred-site.xml 。如果不启动yarn,把重命名还原。

       进入/data/soft/hadoop-2.8.5/etc/hadoop目录

[root@centos hadoop]# cp mapred-site.xml.template mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        <description>启用yarn作为资源管理框架</description>
    </property>
    <property> 
        <name>mapreduce.jobhistory.address</name> 
        <value>hadoop.master:10020</value> 
        <description>历史服务的通信地址</description>
    </property>
    <property> 
        <name>mapreduce.jobhistory.webapp.address</name> 
        <value>hadoop.master:19888</value> 
        <description>历史服务的Web UI地址</description>
    </property>
</configuration>

          配置yarn-site.xml

<configuration>
    <property> 
        <name>yarn.resourcemanager.hostname</name> 
        <value>hadoop.master</value> 
        <description>resourcemanager主机名</dedication>
    </property> 
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
        <description>配置MapReduce的Shuffle</description>
    </property>
</configuration>

6、配置环境文件

配置hadoop-env.sh、yarn-env.sh、mapred-env.sh的JAVA_HOME,以hadoop-env.sh为例:

[root@centos hadoop-2.8.5]# vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_151

7、复制hadoop到其他节点

新建上边配置所用到的目录:

[root@centos hadoop-2.8.5]# mkdir -p /data/hadoop/tmp
[root@centos hadoop-2.8.5]# mkdir -p /data/hadoop/dfs/name
[root@centos hadoop-2.8.5]# mkdir -p /data/hadoop/dfs/data

复制hadoop相关配置到hadoop.slaver1和hadoop.slaver2节点上。

[root@centos hadoop-2.8.5]# cd /data/
[root@centos data]# scp -r soft/hadoop-2.8.5/ hadoop.slaver1:/data/soft/
[root@centos data]# scp -r hadoop/ hadoop.slaver1:/data/hadoop/
[root@centos data]# scp -r soft/hadoop-2.8.5/ hadoop.slaver2:/data/soft/
[root@centos data]# scp -r hadoop/ hadoop.slaver2:/data/hadoop/

三、启动Hadoop

1、启动HDFS

进入主节点(hadoop.master),第一次启动hdfs需要格式化,之后启动就不需要的:

[root@centos /]# hdfs namenode -format

启动命令:

[root@centos /]# start-dfs.sh

集群启动后,在览器输入网址:http://192.168.23.211:50070,打开hadoop的dfs页面。

hdfs

打开SecondaryNameNode页面:

在hadoop.master节点用jps命令查看启动进程:

[root@centos /]# jps
3969 NameNode
4389 Jps
4071 DataNode

在hadoop.slaver1节点用jps命令查看启动进程:

[root@centos /]# jps
62550 SecondaryNameNode
62681 DataNode
62442 Jps

在hadoop.slaver2节点用jps命令查看启动进程:

[root@centos /]# jps
1978 DataNode
3036 Jps

停止命令:

[root@centos /]# stop-dfs.sh

2、启动停止yarn

进入主节点(hadoop.master),启动yarn,启动了resourcemanager和nodemanager进程。

[root@centos /]# start-yarn.sh

浏览器输入:http://192.168.23.211:8088/  (8088是默认端口,如果端口占用,先把占用的端口杀掉 ),打开Hadoop集群页面。

停止yarn:

[root@centos /]# stop-yarn.sh

3、启动停止集群(YARN、HDFS、MapReduce)

进入主节点(hadoop.master):

[root@centos /]# start-all.sh
[root@centos /]# stop-all.sh

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值