Centos7 Hadoop分布式集群安装

目录

hadoop版本介绍

hadoop组件介绍

 hdfs架构分析

namenode负责

datanode负责

 yarn架构分析

mapreduce架构分析

hadoop特点

hadoop生态圈介绍

 服务器节点规划

hadoop安装脚本


hadoop版本介绍

 目前,hadoop已经演变为大数据计算的代名词,形成了一套完善的大数据计算的生态系统,所以针对hadoop也出现了很多版本

Apache hadoop 官方版本

Cloudera hadoop(CDH) 使用下载最多的版本,稳定,有商业支持(收费),在Apache的基础上打上了一些patch。

推荐使用。 HortonWorks(HDP) 基于Apache的版本进行了集成,结合Ambari可以实现平台化快速安装部署。

hadoop组件介绍

hadoop是一个统称,目前hadoop主要包含三大组件

  1. hdfs:是一个分布式存储框架,适合海量数据存储 
  2. mapreduce:是一个分布式计算框架,适合海量数据计算
  3. yarn:是一个资源调度平台,负责给计算框架分配计算资源 

 hdfs架构分析

负责数据的分布式存储

        主从结构

                 主节点,最多可以有2个:namenode

                 从节点,有多个:datanode

namenode负责

接收用户操作请求,是用户操作的入口 维护文件系统的目录结构,称作命名空间

datanode负责

存储数据

 yarn架构分析

 

mapreduce架构分析

mapreduce是一个编程模型,它是分布式运行的

由两个阶段组成:

  1. Map和Reduce Map阶段是一个独立的程序,有很多个节点同时运行,每个节点处理一部分数据。
  2. Reduce阶段也是一个独立的程序,在这先把reduce理解为一个单独的聚合程序即可。

hadoop特点

  1. 扩容能力(Scalable):能可靠(reliably)地存储和处理PB级别的数据。如果数据量更大,存储不下了,再增加节点就可以了。
  2. 成本低(Economical):可以通过普通机器组成的服务器集群来分发以及处理数据.这些服务器集群可达数千个节点。
  3. 高效率(Efficient):通过分发计算程序,hadoop可以在数据所在节点上(本地)并行地(parallel)处理他们,这使得处理非常的迅速
  4. 可靠性(Reliable):hadoop能够自动地维护数据的多份副本,并且在任务失败后能够自动地重新部署(redeploy)计算任务.

hadoop生态圈介绍

 服务器节点规划

hadoop安装脚本

集群节点规划
hadoop100
hadoop101
hadoop102

实现一主两从的集群

hadoop100:主节点[nameNode,resourceManager,secondaryNamenode]
hadoop101:从节点[dataNode,nodeManager]
hadoop102:从节点[dataNode,nodeManager]



1:首先需要对这三台机器的基础环境进行配置,按照伪分布集群的机器的基础环境进行配置

hadoop100的基础环境已经配置完成
主要针对hadoop101 和hadoop102进行配置
针对ip、java、hostname、hosts、iptables、chkconfig、ssh、免密码登录这几个配置,按照伪分布文档中的配置进行修改
【注意:ip信息不能和之前的一样】


注意:针对hosts的配置,这三台机器都需要修改
vi /etc/hosts
192.168.56.10 hadoop100
192.168.56.11 hadoop101
192.168.56.12 hadoop102

2:免密码登录:需要实现主节点免密登录到其他两个从节点
也就是hadoop100需要免密登录到hadoop101和hadoop102

首先在hadoop100上执行
scp ~/.ssh/authorized_keys   hadoop101:~/
scp ~/.ssh/authorized_keys   hadoop102:~/


然后在hadoop101和hadoop102上执行
cat ~/authorized_keys  >> ~/.ssh/authorized_keys

3:集群各个节点的时间需要同步
使用ntpdate -u ntp.sjtu.edu.cn实现

默认是没有ntpdate命令的,需要使用yum在线安装
执行命令 yum install -y ntpdate

然后手动执行ntpdate -u ntp.sjtu.edu.cn 确认是否可以正常执行
Centos下如果时间不正确则需要设定一下时区.
soft]# ntpdate -u ntp.sjtu.edu.cn
29 Jul 00:52:13 ntpdate[2676]: adjust time server 84.16.73.33 offset -0.012444 sec
soft]#
soft]# date
Thu Jul 29 00:52:18 UTC 2021
soft]#
soft]# timedatectl set-timezone Asia/Shanghai
soft]#
soft]# date
Thu Jul 29 08:52:22 CST 2021





4:建议吧这个同步时间的操作写到linux的crontab定时器中[三台机器都需要添加]

vi /etc/crontab
* * * * * /usr/sbin/ntpdate -u ntp.sjtu.edu.cn


5:重新安装hadoop集群
首先在hadoop100上安装hadoop
5.1:解压:tar -zxvf hadoop-2.7.5.tar.gz
5.2: 修改配置文件
vi hadoop-env.sh
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
export HADOOP_CONF_DIR=/data/soft/hadoop-2.7.5/etc/hadoop/

vi yarn-env.sh
export JAVA_HOME=/data/soft/jdk1.8
export YARN_LOG_DIR=/data/hadoop_repo/logs/yarn


vi core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop100:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop_repo</value>
   </property>
</configuration>



vi hdfs-site.xml
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
	</property>
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>hadoop100:50090</value>
	</property>
</configuration>


vi yarn-site.xml
<configuration>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hadoop100</value>
	</property> 
</configuration>


mv mapred-site.xml.template  mapred-site.xml
vi mapred-site.xml
<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>


vi slaves
hadoop101
hadoop102

5.3 把hadoop100节点上的修改之后的hadoop拷贝到其他两个从节点
在hadoop100节点上执行
cd /data/soft/
scp -rq hadoop-2.7.5 hadoop101:/data/soft/
scp -rq hadoop-2.7.5 hadoop102:/data/soft/


5.4 在hadoop100节点上对hdfs进行格式化
hdfs namenode -format

5.5 启动集群
在hadoop100节点执行
cd /data/soft/hadoop-2.7.5
sbin/start-all.sh
二〇二一年七月二十九日 10:42:42 启动报错: 
Cannot find configuration directory: /etc/hadoop
在hadoop环境变量配置中增加(hadoop-env.sh)
 export HADOOP_CONF_DIR=/data/soft/hadoop-2.7.5/etc/hadoop/



5.6 验证
hadoop100 上会看到下面进程信息:
3848 NameNode
4026 SecondaryNameNode
4173 ResourceManager

 hadoop-2.7.5]# jps
25411 ResourceManager
25221 SecondaryNameNode
26136 Jps
没有namenode?
我怀疑是因为hdfs 格式化的时候因为没有配置hadoop_confg_dir 报错。
Hadoop启动之后jps没有namenode节点的解决方法。
需要删除原目录,即core-site.xml下配置的hadoop.tmp.dir所指向的目录,即/data/hadoop_repo
重新hdfs namenode -format,再启动集群即可.


http://hadoop100:50070
http://hadoop100:8088

hadoop101  和 hadoop102  上会看到下面进程信息:
2167 NodeManager
2071 DataNode

5.7 停止集群
在hadoop100节点执行
cd /data/soft/hadoop-2.7.5
sbin/stop-all.sh

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MyySophia

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

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

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

打赏作者

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

抵扣说明:

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

余额充值