hadoop之完全分布式集群配置centos7

一、基础环境

现在我们有两台虚拟机了,再克隆两台:

克隆好之后需要做三件事:1、更改主机名称 2、修改ip地址 3、将ip地址和对应的主机号加入到/etc/hosts文件中

1、永久修改主机名

hostnamectl set-hostname hadoop03 等等

2、修改ip地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

删除掉UUID,然后注意红色框中的

3、将ip地址和主机名加入到/etc/hosts中

vim /etc/hosts

(图中最后应该是hadoop04)

同理对于hadoop04也这么做。hadoop02是我之前学习伪分布式时已经克隆配置好了的。也要在hadoop01和hadoop02中将这四个也添加上去。hadoop01是克隆源,里面的UUID不可删去。

二、集群配置

1、集群部署规划

  hadoop02 hadoop03 hadoop04
HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN NodeManager

ResourceManager

NodeManager

NodeManager

说明:NameNode和SecondaryNameNode要求不在一个节点上。ResourceManager不能和NameNode、SecondaryNameNode在同一个节点上。

2、修改hadoop02中的配置

在hadoop-2.9.2目录下:vim etc/hadoop/core-site.xml

    <!--指定HDFS中NameNode的地址-->
    <property>
        name>fs.defaultFS</value>hdfs://hadoop02:9000>
    指定hadoop运行时产生文件的存储目录>hadoop.tmp.dir>/opt/module/hadoop-2.9.2/data/tmp>

在vim etc/hadoop/hadoop-env.sh中配置JAVA_HOME路径

在vim etc/hadoop/hdfs-site.xml中

configuration>
<!--备份的个数--> >dfs.replication>3> >
<!--辅助节点的位置--> >dfs.namenode.secondary.http-address>hadoop04:50090>

在vim etc/hadoop/yarn-env.sh中配置JAVA_HOME路径

在vim etc/hadoop/yarn-site.xml中配置

Reducer获取数据的方式-->
>yarn.nodemanager.aux-services>mapreduce_shuffle指定yarn的ResourceManager的地址>yarn.resourcemanager.hostname>hadoop03>

在vim etc/hadoop/mapred-env.sh中配置JAVA_HOME路径

vim etc/hadoop/mapred-site.xml中配置

指定MR运行在yarn上>mapreduce.framework.name>yarn>

3、配置好hadoop02,利用之前博客中的集群分发脚本将配置文件传给hadoop03、hadoop04

xsync.sh /opt/module/hadoop-2.9.2/etc/hadoop/

然后去hadoop03和hadoop04中查看是否成功:

4、在hadoop02、hadoop03、hadoop04中删除掉之前运行的data和logs文件夹,在/opt/modul/hadoop-2.9.2/下

rm -rf data logs

5、集群节点启动

可使用jps指令查看节点是否启动。

(1)在hadoop02中:

首先格式化namenode:bin/hdfs namenode -format

sbin/hadoop-daemon.sh start namenode

sbin/hadoop-daemon.sh start datanode

(2) 在hadoop03中:

sbin/hadoop-daemon.sh start datanode

(3)在hadoop04中:

sbin/hadoop-daemon.sh start datanode

(4)关闭hadoop02中的防火墙

三、查看

在windows中输入http://192.168.124.23:50070/,若出现以下界面:

四、ssh无密码登录

问题:我们都是一个个去别的虚拟机启动节点,当节点很多时,我们要一个个去输入?

事实上,在当前虚拟机中终端中输入:ssh 主机名就可以登录到其他虚拟机

比如,当前的是hadoop02,那么输入ssh hadoop03,就可以登录到hadoop03,只不过每次切换的时候都需要输入密码。为了避免麻烦,可以部署免密登录,只需要输入一次密码,之后再次登录就不需要密码了。那么如何进行操作呢?

免密登录原理:

先来到hadoop02: 输入ls -al查看隐藏的文件,有一个.ssh。cd .ssh

里面有你访问过的主机名称。

生成相应的密钥:ssh-keygen -t rsa

然后输入三次回车。

id_rsa就是私钥,id_rsa.pub就是公钥

将id_rsa.pub中的内容拷贝到hadoop03和hadoop04中:

在hadoop02的.ssh目录下输入:

ssh-copy-id hadoop03 

ssh-copy-id hadoop04

然后我们再输入ssh hadoop03

发现就不需要再输入密码了,并且在.ssh目录下会生成一个authorized_keys:里面存放的就是hadoop02的公钥

同时也需要在hadoop02中的.ssh目录下:

ssh-copy-id hadoop02,

也要将root用户配置ssh免密登录:su切换到root,然后执行以上操作

同样对hadoop03和hadoop04重复上述的操作 。

五、群起集群

1、配置slaves

在hadoop02中

vim /opt/module/hadoop-2.9.2/etc/hadoop/slaves

在该文件中加入以下内容(将原本的localhost删除掉):主要是datanode,hadoop02、hadoop03、hadoop04上面都有

hadoop02
hadoop03
hadoop04

注意末尾不能有空格、回车。

然后使用集群分发脚本将其分发给hadoop03、hadoop04

在/opt/module/hadoop-2.9.2/etc/hadoop目录下输入:xsync.sh slaves

接下来将之前启动的那些节点都给停止掉:

sbin/hadoop-daemon.sh stop namenode

sbin/hadoop-daemon.sh stop datanode

然后在hadoop02中的/opt/module/hadoop-2.9.2目录下输入:sbin/start-dfs.sh

诸葛检查一下吧,首先是hadoop02:

hadoop03:

hadoop04:

说明是成功的,不容易啊。

六、启动yarn

这里注意,我们要在hadoop03中启动。即如果NameNode和ResourceManager不在同一台机器上,要在ResourceManager机器上启动yarn

输入:sbin/start-yarn.sh

可能会报权限不够问题。

那就改权限吧:需要注意看清前面是哪个服务器有权限问题

sudo chmod 777 /tmp/yarn-xiximayou-resourcemanager.pid  

sudo chmod 777 /tmp/yarn-xiximayou-nodemanager.pid 

之后再执行:

查看一下:

hadoop03:

hadoop02:

hadoop04:

跟预期的对照一下:

七、进行测试

记得将hadoop03和hadoop04的防火墙也给关闭掉

1、上传一个文件到集群

在hadoop02中的hadoop-2.9.2目录下:

先上传一个小文件:

bin/hdfs dfs -put wcinput/wc.input /

再上传一个大文件:

bin/hdfs dfs -put /opt/software/Market.zip /

然后我们去查看

点开Market.zip

大文件(超过128M)分成了两块 ,同时在hadoop02、03、04上都有一份备份。

八、集群停止

sbin/stop-yarn.sh

sbin/stop-dfs.sh  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


hadoop搭建准备工作三台虚拟机:master、node1、node2检查时间是否同步:date检查java的jdk是否被安装好:java-version修改主机名三台分别执行vim/etc/hostname并将内容指定为对应的主机名 关闭防火墙:systemctlstopfirewalld   a.查看防火墙状态:systemctlstatu
文件的更名和移动:    获取文件详细信息       遇到的问题:不能直接在web上上传文件。   权限问题:修改后即可正常创建  参考:https://blog.csdn.net/weixin_44575660/article/details/118687993
目录一、背景1)小文件是如何产生的?2)文件块大小设置3)HDFS分块目的二、HDFS小文件问题处理方案1)HadoopArchive(HAR)2)Sequencefile3)CombineFileInputFormat4)开启JVM重用5)合并本地的小文件,上传到HDFS(appendToFile)6)合并HDFS的小文件,下载到本地(getmerge)三、HDFS小文件问题处理实战操
目录一、概述二、HadoopDataNode多目录磁盘配置1)配置hdfs-site.xml2)配置详解1、dfs.datanode.data.dir2、dfs.datanode.fsdataset.volume.choosing.policy3、dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction4、dfs.datanode.available
平台搭建(伪分布式)伪分布式搭建在VM中搭建std-master修改配置文件centos7-cl1.vmdkstd-master.vmx-将配置文件中vm的版本号改成自己电脑对应的vm版本修改客户端的操作系统为centos764位打开虚拟机修改虚拟机网络cd/etc/sysconfigetwork-scripts
 一、HDFS概述 1.1、HDFS产出背景及定义 1.1.1、HDFS产生背景   随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式
配置workers进入hadoop/etc/hadoop  编辑workers文件  然后分发给另外两个服务器     准备启动集群第一次需要初始化.  初始化完成后增加了data文件,  进入上面那个路径,就能看到当前服务器的版本号  启动HDFS  启动完毕102  
这周我对ssm框架进行了更深一步的开发,加入了多用户,并对除登录外的请求进行了拦截,这样用户在未登录的时候是访问不到资源的。并且对hadoop进行了初步的学习,包括虚拟机的安装等等。下周会对hadoop进行更深一步的学习,加油! 
前言通过在Hadoop1安装Hadoop,然后配置相应的配置文件,最后将Hadoop所有文件同步到其他Hadoop节点。一、集群规划#主机名‘master/hadoop1’‘slave01/hadoop2’‘slave02/hadoop3’#启动节点NamenodeNodemanagerNodemanager
1.先杀死进程(先进入到hadoop版本文件里,我的是/opt/module/hadoop-3.1.3/)sbin/stop-dfs.sh2.删除每个集群上的data以及logsrm-rfdata/logs/3.格式化hdfsnamenode-format4.再启动sbin/sart-dfs.sh
查看文件目录的健康信息执行如下的命令:hdfsfsck/user/hadoop-twq/cmd可以查看/user/hadoop-twq/cmd目录的健康信息:其中有一个比较重要的信息,就是Corruptblocks,表示损坏的数据块的数量查看文件中损坏的块(-list-corruptfileblocks)[hadoop-twq@master~]
titlecopyrightdatetagscategoriesHadoop2.8.0的环境搭建true2019-08-0912:12:44-0700LiunxHadoopLiunxHadoop此文为在centos7下安装Hadoop集群前期准备Hadoop下载Hadoop的下载本文下载的是2.8.0版本的Hadoop安装3个虚拟机并实现ssh免密码的登录
这是我的地图publicstaticclassMapClassextendsMapper<LongWritable,Text,Text,Text>{publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{String[]fields=value.toString().s
组件:Hadoop三大核心组件:HDFS(HadoopDistributedFileSystem):分布式文件系统,数据存放在这里,提供对应用程序数据的高吞吐量访问。YARN(YetAnotherResourceNegotiator):资源管理调度系统,分配比如硬盘内存等资源。用这些资源来运行程序的计算MapReduce:分布式运算框架
查看Hadoop安全模式hadoopdfsadmin-safemodegetSafemodeisOFF进入Hadoop安全模式root@centos:/$hadoopdfsadmin-safemodeenter SafemodeisON推出安全模式nange@ubuntu:/$hadoopdfsadmin-safemodeleave SafemodeisOFF
当我尝试运行sqoop命令时,我收到错误,说没有连接字符串的管理器我尝试运行的内容:sqoopexport--connect"jdbc:vertica://xxxxxxxx.com:5433/PPS_GIIA"--usernamexxxxx--passwordxxxxx--tableCountry-m1--export-dir/Eservices/SIPOC/SQLimport/part-m-0000--
好程序员大数据学习路线Hadoop学习干货分享,ApacheHadoop为可靠的,可扩展的分布式计算开发开源软件。ApacheHadoop软件库是一个框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集(海量的数据)。包括这些模块:HadoopCommon:支持其他Hadoop模块的常用工具。Hadoop
我正在使用java,我正在尝试编写一个mapreduce,它将接收一个包含多个gz文件的文件夹.我一直在寻找,但我发现的所有教程都放弃了如何处理简单的文本文件,但没有找到解决我问题的任何东西.我在我的工作场所问过,但只提到scala,我并不熟悉.任何帮助,将不胜感激.解决方法:Hadoop检查
linux下开机自启:在/etc/init.d目录下新建文件elasticsearch并敲入shell脚本:#!/bin/sh#chkconfig:23458005#description:elasticsearchexportJAVA_HOME=/home/hadoop/jdk/jdk1.8.0_172exportJAVA_BIN=/home/hadoop/jdk/jdk1.8.0_172/binexportPATH=$PATH:$JAVA_HOME/bi
离线数据处理的主要工具Hive是必须极其熟练地掌握和精通的,但Hive背后是Hadoop的HDFS和M叩Reduce,需要会MapReduce编程么?从笔者的工作实践以及了解来看,这不是必须掌握的,但是数据开发人员必须掌握其概念、架构和工作原理,也就是说,不但要知其然,而且要知其所以然。1.起源