Hadoop完全分布式的基础配置

Hadoop完全分布式的基础配置

完全分布式配置可以在伪分布式配置的基础上进行配置,也可以从新开始,本次从新开始配置本次安装的JDK的版本为jdk-8u144-linux-x64.tar,Hadoop的版本为hadoop-2.7.2.tar。

前期准备:(在root用户下) 3台Linux服务器,服务器的IP、hostname、HWaddr已经设置完毕,防火墙服务关闭、并且在/opt目录下新建modules oftware目录,修改文件夹的权限,创建普通用户,并修改普通用户的sudo权限,添加主机IP地址映射关系。

主要步骤:
1.修改IP地址
2.修改hostname主机名
3.添加普通用户
4.修改添加的用户的sudo权限
5.创建软件存放和安装目录
6.添加主机IP地址映射关系
7.关闭防火墙服务
8.测试服务器之间的网络是否通畅,防火墙是否关闭

ip配置文件     /etc/sysconfig/network-scripts/ifcfg-eth0
HWaddr配置文件  /etc/udev/rules.d/70-persistent-net.rules
hostname配置文件  /etc/sysconfig/network
ip配置完毕后需要重启network服务
关闭防火墙服务  service iptables stop
创建文件夹   mkdir -p /opt/module /opt/software
文件夹权限修改 chown -R 用户名:用户组 /opt/module /opt/software
添加主机IP地址映射关系   /etc/honsts
修改普通用户的sudo权限  vim /etc/soduers
在客户端添加主机IP地址映射关系  C:\Windows\System32\drivers\etc\hosts

服务器规划:

Linux1Linux2Linux3
主机名hadoop01hadoop02hadoop03
namenode
datanode
resourcemanager
nodemanager
secondarynamenode
historyserver

基础配置(普通用户下)

1、安装JDK和Hadoop
1.将安装包上传到服务器中(jdk-8u144-linux-x64.tar和hadoop-2.7.2.tar),可以使用Xshell的SFTP连接方式或者其他的方式,上传到/opt/software文件夹中
2.解压压缩包到指定目录/opt/module

[hadoop01@hadoop01 hadoop-2.7.2]$ tar -zxaf jdk-8u144-linux-x64.tar -C /opt/module

[hadoop01@hadoop01 hadoop-2.7.2]$ tar -zxaf hadoop-2.7.2.tar -C /opt/module

3.配置Hadoop的环境变量配置 /etc/profile,需要注意的是,因为按照Linux版本不一样或者前期Linux系统上已经安装过JDK,需要先将前期安装的JDK卸载掉,在安装。

查看是否安装过java

[hadoop01@hadoop01 hadoop-2.7.2]$ rpm -qa | grep java

卸载

[hadoop01@hadoop01 hadoop-2.7.2]$ rpm -e java

配置环境变量,在/etc/profile文件后添加以下全局变量

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

环境变量配置完毕后,需要激活配置文件,因为配置文件只在开机时自检一次,而后检查是否配置成功

激活profile文件

[hadoop01@hadoop01 hadoop-2.7.2]$ source /etc/profile

检查是否安装成功

[hadoop01@hadoop01 hadoop-2.7.2]$ java -version
[hadoop01@hadoop01 hadoop-2.7.2]$ hadoop version

2、在 etc/hadoop 目录下 hadoop-env.sh、mapred-env.sh、yarn-enc.sh 文件中添加JAVA_HOME的变量

export JAVA_HOME=/opt/module/jdk1.8.0_144

3、设置namenode的服务器地址和临时文件的存储目录

[hadoop01@hadoop01 hadoop-2.7.2]$ vim etc/hadoop/core-site.xml
        <!-- 指定HDFS中NameNode的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop01:9000</value>
        </property>

        <!-- 指定Hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/module/hadoop-2.7.2/data/tmp</value>
        </property>

4、配置HDFS文件的副本数,默认3个副本,和secondarynamenode服务所在的服务器地址

[hadoop01@hadoop01 hadoop-2.7.2]$ vim etc/hadoop/hdfs-site.xml
        <!--数据的副本数量-->
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <!--指定Hadoop辅助名称节点主机配置-->
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>hadoop03:50090</value>
        </property>

5、配置MapReduce运行在YAR上、历史服务器的IP地址和端口

需要注意的是,在etc/hadoop目录中,mapred-site.xml.template需要改名为mapred-site.xml

改名

[hadoop01@hadoop01 hadoop]$ mv mapred-site.xml.template mapred-site.xml
[hadoop01@hadoop01 hadoop-2.7.2]$ vim etc/hadoop/mapred-site.xml
		<property>
				<name>mapreduce.framework.name</name>
				<value>yarn</value>
		</property>
		<!-- 历史服务器端地址 -->
		<property>
				<name>mapreduce.jobhistory.address</name>
				<value>hadoop01:10020</value>
		</property>
		<!-- 历史服务器web端地址 -->
		<property>
				<name>mapreduce.jobhistory.webapp.address</name>
				<value>hadoop01:19888</value>
		</property>

6、配置日志功能、Reduce获取数据的方式、ResourceManager服务器的地址

[hadoop01@hadoop01 hadoop-2.7.2]$ vim etc/hadoop/yarn-site.xml
        <!--SitespecificYARNconfigurationproperties-->
        <!--Reducer获取数据的方式-->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>

        <!--指定YARN的ResourceManager的地址-->
        <property>
        <name>yarn.resourcemanager.hostname</name>
                <value>hadoop02</value>
        </property>
        <!--日志聚集功能使能-->
        <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>

        <!--日志保留时间设置7天-->
        <property>
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>604800</value>
        </property>

7、添加群起服务的主机名,用群起服务就必须实现免密登录
1.群起服务

[hadoop01@hadoop01 hadoop-2.7.2]$ vim etc/hadoop/slaves 

在此文件中,将服务器的主机名添加进去

hadoop01
hadoop02
hadoop03

特别强调,不能存在主机名以外的字符和特殊字符

2.配置免密登录,均在/home/hadoop01/.ssh目录下完成

[hadoop01@hadoop01 ~]$ cd .ssh/

生成密钥

[hadoop01@hadoop01 .ssh]$ ssh-keygen -t rsa

分发密钥

[hadoop01@hadoop01 .ssh]$ ssh-copy-id hadoop01
[hadoop01@hadoop01 .ssh]$ ssh-copy-id hadoop02
[hadoop01@hadoop01 .ssh]$ ssh-copy-id hadoop03

注意:也需要给自己分发密钥,此操作在所有的服务器都要执行一次,确保互相之间实现免密登录

-------------------------------------------------至此,完全分布式基础配置完毕----------------------------------------------------

8、将所有的配置、JDK和Hadoop安装文件分发给其他服务器

[hadoop01@hadoop01 ~]$ scp -r /opt/module root@hadoop01:/opt/
[hadoop01@hadoop01 ~]$ scp -r /etc/profile hadoop01@hadoop02:/etc/profile

或者

[hadoop01@hadoop01 ~]$ rsync -av /opt/module root@hadoop01:/opt/
[hadoop01@hadoop01 ~]$ rsync -av /etc/profile hadoop01@hadoop02:/etc/profile

需注意,profile文件在/etc目录下,其他的配置文件在/opt/module目录下,profile文件分发后,需要激活才能使用。

9、服务启动

1.群起
在namenode所在的服务器上执行群起命令

启动nomenode

[hadoop01@hadoop01 hadoop-2.7.2]$ sbin/start-dfs.sh

启动yarn

[hadoop01@hadoop01 hadoop-2.7.2]$ sbin/yarn-daemon.sh

需要在historyserver服务所在的服务器中启动historyserver

[hadoop01@hadoop01 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver

需要在secoundarymanager服务所在的服务器启动secoundarymanager

[hadoop01@hadoop01 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start secoundarymanager

10、检查服务是否启动

[hadoop01@hadoop01 sbin]$ jps

注意:内置的jps服务只能查看当前服务器的服务,推荐自己写一个脚本,查看所有服务器的服务当前的状态

jpsall

#!/bin/bash

for((i=1;i<4;i++))
do
        echo -----hadoop0$i----
        ssh hadoop0$i "source /etc/profile && jps"
done

注意:脚本文件一般放在hadoop的bin目录下

=========hadoop完全分布式配置完毕

测试

在浏览器中输入namenode服务坐在服务器的地址+50070可以访问namenode的网页视图
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

创建文件夹

[hadoop01@hadoop01 hadoop-2.7.2]$ bin/hdfs dfs -mkdir /class

在这里插入图片描述

上传文件

[hadoop01@hadoop01 hadoop-2.7.2]$ bin/hdfs dfs -put README.txt /class

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值