大数据-Hadoop生态(4)-Hadoop集群搭建

准备工作

开启全部三台虚拟机,确保hadoop100的机器已经配置完成

脚本

操作hadoop100

新建一个xsync的脚本文件,将下面的脚本复制进去

vim xsync
#这个脚本使用的是rsync命令而不是scp命令,是同步而非覆盖文件,所以仅仅会同步过去修改的文件.但是rsync并不是一个原生的Linux命令,需要手动安装.如果没有,请自行安装
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环# 101, 103 是机器的ip地址,大家可以根据情况修改
for((host=101; host<103; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -av $pdir/$fname [email protected]$host:$pdir
done

给xsync文件加可执行权限

chmod +x xsync

将xsync拷贝到 /bin 目录下,以后可以随处使用

sudo cp xsync /bin

运行以下命令,根据提示输入密码,将文件进行拷贝(拷贝前,如果hadoop100的hadoop目录里有 data和logs文件 务必删除掉再同步)

sudo xsync /opt/module/hadoop-2.7.2/

sudo xsync /opt/module/jdk1.8.0_144/
sudo xsync /etc/profile

再在全局会话中,使用source命令

source /etc/profile

至此,虚拟机的环境全部搭建完成,下面进行集群的配置

集群搭建

集群部署规划


hadoop100


hadoop101


hadoop102


HDFS


NameNode

DataNode


DataNode


SecondaryNameNode

DataNode


YARN


NodeManager


ResourceManager

NodeManager


NodeManager

hadoop集群至少需要3个replication,再加上一台NameNode,一台ResourceManager,一台SecondaryNameNode,理论上需要6台机器才能搭建一个集群.但是碍于条件有限,混搭成3台机器.每一台机器都是一个DataNode和NodeManager,同时hadoop100为NameNode,hadoop101为ResourceManager,hadoop102为SecondaryNameNode

配置集群

(1)核心配置文件

配置文件全部在 /opt/module/hadoop-2.7.2/etc/hadoop/目录下,先cd进来

配置core-site.xml

vim core-site.xml 
<!-- 指定HDFS中NameNode的地址 -->

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

<!-- 指定Hadoop运行时产生文件的存储目录 -->

<property>
     <name>hadoop.tmp.dir</name>
     <value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

(2)HDFS配置文件

配置hadoop-env.sh
vim hadoop-env.sh

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

配置hdfs-site.xml

sudo vim hdfs-site.xml
<property>
     <name>dfs.replication</name>
     <value>3</value>
</property>

<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop102:50090</value>
</property>

(3)YARN配置文件

配置yarn-env.sh

vim yarn-env.sh 

export JAVA_HOME=/opt/module/jdk1.8.0_144
配置yarn-site.xml

vim yarn-site.xml 

在该文件中增加如下配置

<!-- Reducer获取数据的方式 -->
<property>
     <name>yarn.nodemanager.aux-services</name>
     <value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
     <name>yarn.resourcemanager.hostname</name>
     <value>hadoop101</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>

(4)MapReduce配置文件

配置mapred-env.sh

vim mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144
配置mapred-site.xml

首先先cp一份
cp mapred-site.xml.template mapred-site.xml

再编辑
vim mapred-site.xml

在该文件中增加如下配置

<!-- 指定MR运行在Yarn上 -->
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
     <name>mapreduce.jobhistory.address</name>
     <value>hadoop102:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>hadoop102:19888</value>
</property>

(5)配置slaves

vim slaves

将localhost删除添加三个子节点主机名hadoop100hadoop101hadoop102

wq保存退出

(5) 在集群上分发配置好的Hadoop文件

xsync /opt/module/hadoop-2.7.2/etc/hadoop

集群启动

格式化Namenode 在hadoop100上

hdfs namenode -format
 启动hdfs 
start-dfs.sh
启动历史服务器

mr-jobhistory-daemon.sh start historyserver
在Hadoop101上启动Resourcemanager

start-yarn.sh

使用jps命令

hadoop100

hadoop101

hadoop102

如果集群出了问题,删除每一台机器上的 data logs文件,再重新启动

cd $HADOOP_HOME
rm -rf data logs

如果还不行,请留言.

原文地址:https://www.cnblogs.com/duoduotouhenying/p/10060442.html

时间: 2024-10-12 23:37:58

大数据-Hadoop生态(4)-Hadoop集群搭建的相关文章

大数据(2)---HDFS集群搭建

一.准备工作 1.准备几台机器,我这里使用VMware准备了四台机器,一个name node,三个data node. VMware安装虚拟机:https://www.cnblogs.com/nijunyang/p/12001312.html 2.Hadoop生态几乎都是用的java开发的,因此四台机器还需要安装JDK. 3.集群内主机域名映射,将四台机器的IP和主机名映射分别写到hosts文件中(切记主机名不要带非法字符,图片中的下划线”_”请忽略) vim /etc/hosts 配好一个之后

Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机,增加更多的slave只需重复slave部分的内容即可. 系统版本: master:Ubuntu 12.04 slave:Ubuntu 12.04 hadoop:hadoop 2.2.0 安装ssh服务:sudo apt-get install ssh 有时也要更新一下vim:sudo apt-ge

Hadoop HA高可用集群搭建(2.7.2)

1.集群规划: 主机名        IP                安装的软件                            运行的进程 drguo1  192.168.80.149 jdk.hadoop                         NameNode.DFSZKFailoverController(zkfc).ResourceManager drguo2 192.168.80.150  jdk.hadoop                         Nam

Hadoop 2.2.0 集群搭建

概述 在前面我有写过关于 Hadoop 集群的搭建,不过之前的 Hadoop 是 1.x 版本的.目前是基于 2.x 版本的 Hadoop,与之前的 1.x 版本的差别还是挺大的.以及更为详细的 SSH 免密码互连登录的配置过程.所以,这里也把我搭建的过程记录下来了.希望于你有益. 版权说明 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 本文作者:Coding-Naga 发表日期: 2016年5月4日 本文链接:http://blog.csdn.net/lemon_tr

大数据【三】YARN集群部署

一 概述 YARN是一个资源管理.任务调度的框架,采用master/slave架构,主要包含三大模块:ResourceManager(RM).NodeManager(NM).ApplicationMaster(AM). >ResourceManager负责所有资源的监控.分配和管理,运行在主节点: >NodeManager负责每一个节点的维护,运行在从节点: >ApplicationMaster负责每一个具体应用程序的调度和协调,只有在有任务正在执行时存在. 对于所有的applicati

Hadoop 2.6.0集群搭建(未完)

分给我的云服务器只有2台= = 所以只用两台来搭建~多台也就是多配几个slave节点木有关系的啦~那么下来开始啦 一.首先准备好编译过的hadoop2.6版本,以及相关jar包~准备开始搞啊~ 解压命令是 tar zxvf xxxxxxx(文件名) 创建tmp路径 用于hadoop相关路径 mkdir tmp 在tmp下创建hadoop路径 mkdir hadoop 创建在根目录创建data路径 随后路径如图 二.配置环境变量 随后输入命令 source ~./bash_profile 修改ho

大数据 时间同步问题 解决hbase集群节点HRegionServer启动后自动关闭

1)在hbase-site.xml文件中 修改增加 ,将时间改大点<property><name>hbase.master.maxclockskew</name><value>150000</value></property>2)修改系统时间,将时间改为一致(建议采用本方法):修改日期date -s 08/20/2016修改时间date -s 15:14:00检查硬件(CMOS)时间clock -r将系统时间写入CMOSclock -

【大数据日知录】集群资源管理与调度笔记

面对各种各样的服务需要的计算系统和框架,对于资源而言,常见的资源调度方法时静态划分方法,框架之间各行其是,但是利用效率低. 调度设计的基本问题: 资源具有异质性(有的机器配置高,有的低)所以要分成一个个小粒度的资源 数据局部性(移动计算而不是移动数据) 支持抢占资源 or not 分配资源粒度:全分or不分(MPI)  或者 增量满足式分配策略(MapReduce) 目前的发展将资源看成一个整体,上方抽象出一个资源调度系统. 常用的资源调度系统模型: 负责执行job的机器有一个节点管理器且可划分

[大数据入门]实战 安装Cloudera-Hadoop集群

echo -e 'export JAVA_HOME=/usr/java/default' >> /etc/profilealternatives --install /usr/bin/java  java /usr/java/jdk1.7.0_67-cloudera/bin/java 200alternatives --set java /usr/java/jdk1.7.0_67-cloudera/bin/javaalternatives --install  /usr/bin/javac j

三节点Hadoop集群搭建

1. 基础环境搭建 新建3个CentOS6.5操作系统的虚拟机,命名(可自定)为masternode.slavenode1和slavenode2.该过程参考上一篇博文CentOS6.5安装配置详解 2.Hadoop集群搭建(以下操作中三个节点相同的地方就只给出主节点的截图,不同的才给出所有节点的截图)   2.1 系统时间同步 使用date命令查看当前系统时间 系统时间同步 [[email protected] ~]# cd /usr/share/zoneinfo/ [[email protec