Hadoop安装部署手册

概述

Hadoop包括HDFS(文件系统),yarn(任务调配),mapReduce(编程模型,大数据并行运算),Hadoop集群其实就是HDFS集群。

  • HDFS其实就是一个分布式的文件系统 。 HDFS分有NameNode和DataNode,NameNode是整个文件系统目录,基于内存存储,存储的是一些文件的详细信息,比如文件名、文件大小、创建时间、文件位置等。Datanode是文件的数据信息,也就是文件本身,不过是分割后的小文件。
  • Yarn是一种新的 Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
  • MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
    简单叙述一下HDFS、Hive和HBase之间的关系 HDFS存储从数据源抽取到的数据,Hive主要解决数据处理和计算问题Hbase主要解决实时数据查询问题。 通过ETL工具将数据源抽取到HDFS存储;通过Hive清洗、处理和计算原始数据;HIve清洗处理后的结果,如果是面向海量数据随机查询场景的可存入Hbase,数据应用从HBase查询数据。 在大数据架构中,HDFS、Hive和HBase数据流一般如下图: img

1. 规划

主机名IP用户名HDFSYARN
hadoop01172.16.126.71hadoopNameNodeResourceManager
hadoop02172.16.126.72hadoopDataNode、SecondaryNameNodeNodeManager
hadoop03172.16.126.61hadoopDataNodeNodeManager
hadoop04172.16.126.62hadoopDataNodeNodeManager

安装包下载地址: Index of /hadoop/common

2.初始化

1、配置主机名

举例:在hadoop01服务器上
#hostnamectl set-hostname hadoop01

2、编辑/etc/hosts

172.16.126.71 hadoop01
172.16.126.72 hadoop02
172.16.126.61 hadoop03
172.16.126.62 hadoop04

3、创建hadoop用户

创建用户
#useradd hadoop
重置hadoop密码
#passwd hadoop   

4、通过hadoop用户配置秘钥互信(hadoop01服务器执行即可)

创建秘钥
#ssh-keygen -t rsa
分发秘钥
#ssh-copy ssh-copy-id hadoop02
#ssh-copy ssh-copy-id hadoop03
#ssh-copy ssh-copy-id hadoop04

5、关闭selinux及防火墙

关闭selinux
# setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
关闭防火墙
#systemctl stop firewalld &&systemctl disable firewalld 

6、 安装java

安装java可以采用yum安装或者手工配置的方式,这里采用yum安装

 yum install  jdk -y

7、解压hadoop-3.3.4.tar.gz安装包至/data/,并重命名为hadoop目录,实际部署目录是/data/hadoop/

#tar zxvf hadoop-3.3.4.tar.gz -C /data/
#mv /data/hadoop-3.3.4 /data/hadoop

8、配置环境变量/etc/profile,添加的内容如下:

export HADOOP_HOME=/data/hadoop/
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin

环境变量添加完后加载环境变量

#source  /etc/profile

9、创建文件存储目录

hadoop01

#mkdir /data/hadoop/hdfs/full/dfs/name -p

hadoop02

#mkdir /data/hadoop/hdfs/full/dfs/namesecondary -p
#mkdir /data/hadoop/hdfs/full/dfs/data -p

hadoop03

#mkdir /data/hadoop/hdfs/full/dfs/data -p

hadoop04

#mkdir /data/hadoop/hdfs/full/dfs/data -p

3.配置

配置时需要修改“/data/hadoop/etc/hadoop”目录下的配置文件,其中HDFS涉及到的配置文件包括workers、core-site.xml、hdfs-site.xml,Yarn涉及到的配置文件包括yarn-site.xml, mapReduce 涉及到的配置文件包括mapred-site.xml、。

<!--这5个文件在hadoop01修改,修改完成后分发至其他机器。-->

  1. 修改workers文件 该文件内容可以指定某几个节点作为数据节点,默认为localhost,将其删除并修改为如下内容:

hadoop02
hadoop03
hadoop04

2.修改core-site.xml文件

fs.defaultFS:指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop01:9000</value>
        </property>
</configuration>

3.hdfs-site.xml文件

dfs.secondary.http.address:secondarynamenode运行节点的信息,应该和namenode存放在不同节点 dfs.repliction:hdfs的副本数设置,默认为3 dfs.namenode.name.dir:namenode数据的存放位置,元数据存放位置 dfs.datanode.data.dir:datanode数据的存放位置,block块存放的位置

    <property>
         <name>dfs.replication</name>
         <value>3</value>
    </property>
    <property>
         <name>dfs.namenode.name.dir</name>
         <value>/data/hadoop/hdfs/full/dfs/name</value>
    </property>
​
    <property>
         <name>dfs.datanode.data.dir</name>
         <value>/data/hadoop/hdfs/full/dfs/data</value>
    </property>
​
    <property>
         <name>dfs.namenode.secondary.http-address</name>
         <value>hadoop02:50090</value>
    </property>
​
    <property>
         <name>dfs.namenode.checkpoint.dir</name>
         <value>/data/hadoop/hdfs/full/dfs/namesecondary</value>
    </property>

4.修改mapred-site.xml文件 vim mapred-site.xml mapreduce.framework.name:指定mapreduce框架为yarn方式 mapreduce.jobhistory.address:指定历史服务器的地址和端口 mapreduce.jobhistory.webapp.address:查看历史服务器已经运行完的Mapreduce作业记录的web地址,需要启动该服务才行

        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>hadoop01:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>hadoop01:19888</value>
        </property>
        <property>
                <name>yarn.app.mapreduce.am.env</name>
                <value>HADOOP_MAPRED_HOME=/data/hadoop</value>
        </property>
        <property>
                <name>mapreduce.map.env</name>
                <value>HADOOP_MAPRED_HOME=/data/hadoop</value>
        </property>
        <property>
                <name>mapreduce.reduce.env</name>
                <value>HADOOP_MAPRED_HOME=/data/hadoop</value>
        </property> 

5.修改yarn-site.xml文件

        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop01</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>

6.配置hadoop-env.sh,添加以下内容

 export JAVA_HOME=/etc/alternatives/
 export HADOOP_HOME=/data/hadoop/

7.分发文件 修改完上面五个文件后,将hadoop01点上的hadoop文件复制到各个结点上。

#scp -r /data/hadoop/etc/hadoop/* hadoop02:/data/hadoop/etc/hadoop/
#scp -r /data/hadoop/etc/hadoop/* hadoop03:/data/hadoop/etc/hadoop/
#scp -r /data/hadoop/etc/hadoop/* hadoop04:/data/hadoop/etc/hadoop/

8.授权hadoop安装目录

#chown -R hadoop /data/hadoop/

4.启动hadoop集群

初始化、启动及停止,只需要在hadoop01执行即可

1.Hadoop初始化

hdfs  namenode  -format

在初始化过程中,只要看到上面红框里面的信息,有个successfully formatted说明初始化成功。

2.Hadoop集群启动

#start-dfs.sh
#start-yarn.sh
#mapred --daemon start historyserver

3.WEB访问

HDFS的访问地址:http://172.16.126.71:9870/

Yarn的访问地址:http://172.16.126.71:8088/cluster

4.关闭集群 接下来就是关闭集群,输入以下命令:

#stop-yarn.sh
#stop-dfs.sh
#mapred --daemon stop historyserver

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值