Hadoop集群搭建-完整版

一、搭建流程

  1. 以三台服务器为例,进行集群搭建。三台服务器分别为node1,node2,node3.
  2. 首先进行HDFS集群的搭建,然后进行YARN集群的搭建(不要问我hadoop不是有三大组件组成嘛,为啥没有mr集群?答:mr是一个分布式计算框架,没有集群一说哦)
  3. 本文搭建为参考代码,在进行自己hadoop集群的搭建过程中,以自己的编程习惯,和命名方式,来修改路径相关的代码即可。

二、集群搭建

2.1 集群搭建和基础环境准备

  1. 修改Hosts映射
vim /etc/hosts

在这里插入图片描述

  1. 关闭防火墙
systemctl stop firewalld.service # 关闭防火墙
systemctl disable firewalld.service # 禁止自动启动
  1. 设置ssh免密登陆
在三台机器上执行:ssh-keygen -t rsa   回车三次
然后在三台机器上在执行:
					ssh-copy-id node1
					ssh-copy-id node2
					ssh-copy-id node3
输入对应的密码即可
  1. 设置集群时间同步

这一步骤省略。因博主采用的是类似于云服务器集群,集群时间同步步骤省略。各位在使用虚拟机进行集群配置的时候可以百度一下,你就知道。

  1. jdk的安装
	1. 解压文件 : tar -zxvf jdk-8u11-linux-x64.tar.gz -C /app
	2. 配置环境变量
	输入:vim /etc/profile
	填入:
		export JAVA_HOME=/app/jdk1.8.0_11
		export PATH=$JAVA_HOME/bin:$PATH
		export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
	不要忘记 :  source /etc/profile
	3. 将JDK和配置文件发送给另外两个服务器
		# 发送JDK
		scp -r /app/jdk1.8.0_11/ slave2:/app
		# 发送配置文件
		scp /etc/profile slave2:/etc/
		# 在另外两台服务器上:source /etc/profile
  1. Hadoop的安装和配置

下载安装包,解压,移到相关文件夹下,修改名字,配置环境变量。可以参考JDK的安装配置即可
注意:不要忘记在一台服务器上面配置完成之后,发送至另外的服务器上面。(此外另外的几台服务器,不要忘记source /etc/profile,才会生效环境变量哦)

hadoop的配置文件

在这里插入图片描述

  • 两个env.sh文件主要是配置JDK的位置
  • 一共需要修改六个配置文件,如上图所示
  1. hadoop-env.sh修改
export JAVA_HOME=/app/jdk1.8.0_171
  1. yarn-env.sh修改
export JAVA_HOME=/app/jdk1.8.0_171
  1. core-site.xml修改
这个配置文件主要修改 :
			 fs.default.name : hdfs://localhost:9000  
			 hadoop.tmp.dir : /usr/hadoop/tmp
    <configuration>  
     <property>  
        <name>fs.default.name</name>  
        <value>hdfs://localhost:9000</value>  
        <description>HDFS的URI,文件系统://namenode标识:端口号</description>  
    </property>  
      
    <property>  
        <name>hadoop.tmp.dir</name>  
        <value>/usr/hadoop/tmp</value>  
        <description>namenode上本地的hadoop临时文件夹</description>  
    </property>  
    </configuration>  
  1. hdfs-site.xml文件配置
 1.设置hadoop中hdfs的name文件夹的位置
 2.设置hdfs中data文件夹的位置
 3.设置replication 副本数量
 <configuration>  
    <property>  
        <name>dfs.name.dir</name>  
        <value>/usr/hadoop/hdfs/name</value>  
        <description>namenode上存储hdfs名字空间元数据 </description>   
    </property>  
      
    <property>  
        <name>dfs.data.dir</name>  
        <value>/usr/hadoop/hdfs/data</value>  
        <description>datanode上数据块的物理存储位置</description>  
    </property>  
      
    <property>  
        <name>dfs.replication</name>  
        <value>1</value>  
    </property>  
    </configuration>  
  1. mapred-site.xml 文件修改
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
  1. yarn-site.xml 文件修改
    <configuration>  
    <property>  
            <name>yarn.nodemanager.aux-services</name>  
            <value>mapreduce_shuffle</value>  
    </property>  
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    </configuration>
  1. 创建文件夹

我们在配置文件中配置了一些文件夹路径,现在我们来创建他们,在/usr/hadoop/目录下使用hadoop用户操作,建立tmp、hdfs/name、hdfs/data目录,执行如下命令:

    mkdir -p /usr/hadoop/tmp 
    mkdir /usr/hadoop/hdfs 
    mkdir /usr/hadoop/hdfs/data 
    mkdir /usr/hadoop/hdfs/name
  1. 将Hadoop添加到环境变量中
		以自己hadoop的安装路径为准

最后使修改生效:source /etc/profile

  1. 进行格式化

在使用 Hadoop 之前我们需要格式化一些 hadoop 的基本信息
使用如下命令:

hadoop namenode -format

2.2 集群的启动

接下来启动 Hadoop,在/hadoop3.1/sbin路径下:
cd /app/hadoop3.1/sbin

将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数:

    #!/usr/bin/env bash
    HDFS_DATANODE_USER=root
    HADOOP_SECURE_DN_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root

还有,start-yarn.sh,stop-yarn.sh顶部也需添加以下:

    #!/usr/bin/env bash
    YARN_RESOURCEMANAGER_USER=root
    HADOOP_SECURE_DN_USER=yarn
    YARN_NODEMANAGER_USER=root

再次启动start-dfs.sh,最后输入命令 jps 验证,出现如下界面代表启动成功在这里插入图片描述

2.3 发送配置好的Hadoop到集群

  1. 发送 Hadoop 至另外两台虚拟机
    scp -r /app/hadoop3.1 root@slave1:/app
    scp -r /app/hadoop3.1 root@slave2:/app
  1. 发送配置文件至另外两台虚拟机
    scp  /etc/profile root@slave1:/etc/
    scp  /etc/profile root@slave2:/etc/
  1. 不要忘记在另外两台上面使用命令让配置文件生效
source /etc/profile

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zh_19995

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值