如何搭建50t的hadoop集群

搭建Hadoop集群,一个月6T的数量需要几台服务器~

最好是两个做成HA
关于硬盘:
6T的数据容量,看你副本数量设置是多少,一般默认为3,那么仅这些就需要18T硬盘,稍微大一点20T吧;这仅仅是HDFS存储;(这里我说的是一个月的,你数据保存几个月,就乘几倍)
如果你集群上面要跑计算,MR计算出来的数据要保存HDFS的,所以,还是要根据你的结果数据来做判断,大小就看你计算任务了.
一般是这样计算硬盘大小

(原始数据+中间数据+结果数据)*副本数量=总硬盘大小

关于内存:
namenode不用说了,主要就是用内存保存block和node之间对应关系的,也是要根据数据大小计算的,6T/Block大小(默认为128M)=有多少block-->M个

一个block占多少内存: 保守地设置每一百万数据块需要1000MB内存
namenode总内存(兆M)=M*1000MB/100万

datanode的内存: 一般问题不大,一般都是用于mr的计算,这个东西根据你性能的需要设置

关于多少台机器?
根据Task任务的数量和你的性能指标来做决定

一个Block对应一个Mapper任务,上面算出来M个Block了,mapper任务也是那么多

实际测试一下,一定数据量在x台机器上运行时间,根据你的指标去评定要多少台机器

hadoop集群的性能和节点个数近似成正向关系

环境配置:虚拟机:vmware workstation 12系统:ubuntu 16.04 LTS(推荐使用原版,不要用kylin)节点: 192.168.159.132 master 192.168.159.134 node1 192.168.159.137 node2jdk-8u101-Linux-x64.gz (Java )hadoop-2.7.3.tar.gz (Hadoop 包)安装步骤:1、安装虚拟机系统,并进行准备工作(可安装一个然后克隆)2.修改各个虚拟机的hostname和host3.创建用户组和用户4、配置虚拟机网络,使虚拟机系统之间以及和host主机之间可以通过相互ping通。5.安装jdk和配置环境变量,检查是否配置成功6、配置ssh,实现节点间的无密码登录 ssh node1/2指令验证时候成功7、master配置hadoop,并将hadoop文件传输到node节点 8、配置环境变量,并启动hadoop,检查是否安装成功,执行wordcount检查是否成功。
1.安装虚拟机
在VM上安装下载好的Ubuntu的系统,具体过程自行百度。可以安装完一个以后克隆,但是本人安装过程中遇到很多问题,经常需要删除虚拟机,重新安装,而被克隆的虚拟机不能删除,所以本人就用了很长时候,一个一个安装。
一共3台虚拟机:分配情况和IP地址如下:
(注:查看ip地址的指令 ifconfig)
安装虚拟机时可以设置静态IP,因为过程中常常遇到网络连接问题,ifconfig找不到IPV4地址。当然,也可以不设,默认分配。
192.168.159.132 master 192.168.159.134 node1 192.168.159.137 node2
2.修改虚拟机的hostname和hosts文件
以master上机器为例,打开终端,执行如下的操作,把hostname修改成master,hosts修改成如下所示的样子:
#修改hostname的指令:sudo gedit /etc/hostname#修改hosts指令:sudo gedit /etc/hosts#将以下内容添加到hosts中192.168.159.132 master192.168.159.134 node1192.168.159.137 node2
如下图所示:

同样地,在node1和node2机器上做相似的操作,分别更改主机名为node1和node2,然后把hosts文件更改和master一样。
3.创建用户和用户组(三台机器上都要操作)
1. 创建hadoop用户组
sudo addgroup hadoop2. 创建hadoop用户
sudo adduser -ingroup hadoop hadoop3. 给hadoop用户添加权限,打开/etc/sudoers文件

sudo gedit /etc/sudoers
按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL
4.检验各个主机之间能否连通
分别以刚刚创建的hadoop用户重新登录系统,以后的操作都以hadoop用户登录。
ping +主机名
分别在各个主机上执行上述指令,看是否能与其他主机连通。
出现下图代表能够连通:

如果都成功ping通,进行下面的操作。
5.安装jdk和配置环境变量
分别在每台主机上安装jdk,并配置环境变量。(嫌麻烦的前面可以安装完jdk后再克隆)
1)下载jdk安装包(自行百度),并将安装包拖入到虚拟机当中
2)通过cd命令进入到安装包的当前目录,利用如下命令进行解压缩。
tar -zxvf jdk.....(安装包名称)
3)利用如下命令将解压后的文件夹移到/usr目录下 
#注意,这样移动到/usr以后就没有jdk1.8...这个目录了,是将这个目录下的所有文件全部移动到/usr/java下,mv jdk1.8...(文件夹名称) /usr/java
4)配置环境变量
sudo gedit /etc/profile
在末尾加上四行:

[plain] view plain copy print?
#java
export JAVA_HOME=/usr/java
export JRE_HOME=/usr/java/jre
export CLASSPATH=$JAVA_HOME/lib
export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
输入如下命令使配置生效:source /etc/profile
查看配置是否成功,
出现如上信息说明java配置成功。
6.配置SSH,实现节点间的无密码登录
本人在这一步经常出错,莫名其妙的错误,网上也找不到资料。需要自己多实验几次。
下面的 1.2.3在所有主机上都要做
1..安装ssh

[plain] view plain copy print?
sudo apt-get install openssh-server
已有ssh或者安装成功了的输入命令

[plain] view plain copy print?
ps -e | grep ssh
验证SSH是否成功安装输入

[plain] view plain copy print?
ssh localhost
出现以下提示说明安装成功

3.生成密钥Pair

ssh-keygen -t rsa
输入之后一直选择enter即可。生成的秘钥位于 ~/.ssh文件夹下。可用cd 命令进入查看。
4.在master上,导入authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys5.远程无密码登录(把master上的authorized_keys拷贝到其他主机的相应目录下)
#进入master的.ssh目录,执行复制操作scp authorized_keys hadoop@node1:~/.ssh/scp authorized_keys hadoop@node2:~/.ssh/修改各台主机上authorized_keys文件的权限:所有机器上,均执行命令:
chmod 600 .ssh/authorized_keys完成之后,在master上执行下面操作,检查免密码登录是否成功。
ssh node1(node2)
7.master配置hadoop,然后将master的hadoop文件传送给node节点
1)解包移动
[plain] view plain copy print?
#解压hadoop包
tar -zxvf hadoop...
#将安装包移到/usr目录下
mv hadoop... /usr/hadoop
2)新建文件夹
[plain] view plain copy print?
#在/usr/hadoop目录下新建如下目录(root)
mkdir /dfs
mkdir /dfs/name
mkdir /dfs/data
mkdir /tmp
3)配置文件:hadoop-env.sh(文件都在/usr/hadoop/etc/hadoop中)
修改JAVA_HOME值(export JAVA_HOME=/usr/java)
4)配置文件:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/java)
5)配置文件:slaves
将内容修改为:
node1node26)配置文件:core-site.xml
[html] view plain copy print?


fs.defaultFS
hdfs://master:9000


io.file.buffer.size
131072


hadoop.tmp.dir
file:/usr/hadoop/tmp
Abase for other temporary directories.


7)配置文件:hdfs-site.xml
[html] view plain copy print?


dfs.namenode.secondary.http-address
master:9001


dfs.namenode.name.dir
file:/usr/hadoop/dfs/name


dfs.datanode.data.dir
file:/usr/hadoop/dfs/data


dfs.replication
2


dfs.webhdfs.enabled
true


8)配置文件:mapred-site.xml
先创建然后编辑
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
gedit etc/hadoop/mapred-site.xml
[html] view plain copy print?


mapreduce.framework.name
yarn


mapreduce.jobhistory.address
master:10020


mapreduce.jobhistory.webapp.address
master:19888


9)配置文件:yarn-site.xml
[html] view plain copy print?


yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler


yarn.resourcemanager.address
master:8032


yarn.resourcemanager.scheduler.address
master:8030


yarn.resourcemanager.resource-tracker.address
master:8031


yarn.resourcemanager.admin.address
master:8033


yarn.resourcemanager.webapp.address
master:8088


10)将hadoop传输到node1和node2 usr/hadoop目录,(如果传输时报错说 :权限拒绝,先把文件传送到非/usr目录下,然后在node上把这个文件再移动到/usr/hadoop)
scp -r /usr/hadoop hadoop@node1:/usr/hadoop7、配置环境变量,并启动hadoop,检查是否安装成功1)配置环境变量#编辑/etc/profilesudo gedit /etc/profile#以上已经添加过java的环境变量,在后边添加就可以#hadoop export HADOOP_HOME=/opt/Hadoop/hadoop-2.7.2 export PATH=$PATH:$HADOOP_HOME/sbin export PATH=$PATH:$HADOOP_HOME/bin 执行
source /etc/profile使文件生效。
2)启动hadoop,进入hadoop安装目录
bin/hdfs namenode -formatsbin/start-all.sh3)启动后分别在master, node下输入jps查看进程
看到下面的结果,则表示成功。
Master:

node:

8.向hadoop集群系统提交第一个mapreduce任务(wordcount)
进入本地hadoop目录(/usr/hadoop)
1、 bin/hdfs dfs -mkdir -p /data/input在虚拟分布式文件系统上创建一个测试目录/data/input
2、 hdfs dfs -put README.txt /data/input 将当前目录下的README.txt 文件复制到虚拟分布式文件系统中
3、 bin/hdfs dfs-ls /data/input 查看文件系统中是否存在我们所复制的文件
如图操作:

3、 运行如下命令向hadoop提交单词统计任务
进入jar文件目录,执行下面的指令。
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /data/input /data/output/result查看result,结果在result下面的part-r-00000中
hdfs dfs -cat /data/output/result/part-r-00000
自此,hadoop集群搭建成功!

先决条件
确保在你集群中的每个节点上都安装了所有必需软件。
获取Hadoop软件包。
安装
安装Hadoop集群通常要将安装软件解压到集群内的所有机器上。
通常,集群里的一台机器被指定为 NameNode,另一台不同的机器被指定为JobTracker。这些机器是masters。余下的机器即作为DataNode也作为TaskTracker。这些机器是slaves。
我们用HADOOP_HOME指代安装的根路径。通常,集群里的所有机器的HADOOP_HOME路径相同。
配置
接下来的几节描述了如何配置Hadoop集群。
配置文件
对Hadoop的配置通过conf/目录下的两个重要配置文件完成:
hadoop-default.xml - 只读的默认配置。
hadoop-site.xml - 集群特有的配置。
要了解更多关于这些配置文件如何影响Hadoop框架的细节,请看这里。
此外,通过设置conf/hadoop-env.sh中的变量为集群特有的值,你可以对bin/目录下的Hadoop脚本进行控制。
集群配置
要配置Hadoop集群,你需要设置Hadoop守护进程的运行环境和Hadoop守护进程的运行参数。
Hadoop守护进程指NameNode/DataNode 和JobTracker/TaskTracker。
配置Hadoop守护进程的运行环境
管理员可在conf/hadoop-env.sh脚本内对Hadoop守护进程的运行环境做特别指定。
至少,你得设定JAVA_HOME使之在每一远端节点上都被正确设置。
管理员可以通过配置选项HADOOP_*_OPTS来分别配置各个守护进程。 下表是可以配置的选项。

如何搭建50t的hadoop集群
答:要配置Hadoop集群,你需要设置Hadoop守护进程的运行环境和Hadoop守护进程的运行参数。Hadoop守护进程指NameNode/DataNode 和JobTracker/TaskTracker。配置Hadoop守护进程的运行环境 管理员可在conf/hadoop-env.sh脚本内对Hadoop守护进程的运行环境做特别指定。至少,你得设定JAVA_HOME使之在每一远端节点上都被...

简述hadoop大数据平台搭建的主要步骤
答:在搭建Hadoop大数据平台之前,首先需要准备相应的硬件和软件环境。硬件环境通常包括多台服务器或者虚拟机,用于构建Hadoop的分布式集群。软件环境则包括操作系统、Java运行环境等。例如,可以选择CentOS或Ubuntu等Linux发行版作为操作系统,安装JDK(Java Development Kit)以提供Java运行环境。Hadoop安装与配置 接下...

linux搭建hadoop步骤linux搭建hadoop
答:1.jdk安装与配置 2.host 3.ssh 4.文件目录B、Hadoop安装与配置1.下载hadoop软件2.环境变量3.hadoop配置C、运行Hadoop1.运行hdfs2.运行yarnD、测试hadoop,这是搭建集群的大题路径,详细的可以去看一下八斗学院的视频,第一部分是讲集群搭建的很详细 hadoop安装在什么系统上?windows下的hadoop的分布部...

搭建hadoop集群,常用配置文件是什么,以及配置哪些属性
答:1. 解压下载的hadoop安装包,并修改配置文件。我的解压目录是(/home/hadoop/hadoop-2.7.1),即进入/home/hadoop/文件夹下执行下面的解压缩命令。tar -zxvf hadoop-2.7.1.tar.gz 2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目录下,hadoop-env.sh,core-site.xml,mapred-site.xml.temp...

搭建大数据平台的具体步骤是什么?
答:1、操作体系的挑选 操作体系一般使用开源版的RedHat、Centos或许Debian作为底层的构建渠道,要根据大数据渠道所要建立的数据剖析东西能够支撑的体系,正确的挑选操作体系的版本。2、建立Hadoop集群 Hadoop作为一个开发和运行处理大规模数据的软件渠道,实现了在大量的廉价计算机组成的集群中对海量数据进行分布式计算...

如何配置Hadoop环境
答:需要配置的文件有core-site.xml和hdfs-site.xml这两个文件他们都位于${HADOOP_HOME}/etc/hadoop/文件夹下。 其中core-site.xml:1 <?xml version="1.0" encoding="UTF-8"?>2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>3 <!--4 Licensed ...-->1819 <configuration...

如何部署完全分布式hadoop
答:1、首先需要在VMWare中将之前创建的单实例的计算机进行拷贝。这里根据之前第一篇文章的规划,我们至少需要再克隆出三台计算机,作为DataNode数据节点的数据存储。之前的上一台机器作为Master主节点进行管理。这里先来梳理一下整个Hadoop集群的物理架构图,大家有一个直接的观念和认识,上表中已经和明确了,总共...

如何基于Docker快速搭建多节点Hadoop集群
答:直接用机器搭建Hadoop集群是一个相当痛苦的过程,尤其对初学者来说。他们还没开始跑wordcount,可能就被这个问题折腾的体无完肤了。而且也不是每个人都有好几台机器对吧。你可以尝试用多个虚拟机搭建,前提是你有个性能杠杠的机器。我的目标是将Hadoop集群运行在Docker容器中,使Hadoop开发者能够快速便捷地...

如何搭建hadoop集群 桥接
答:本文通过在vmware workstation上建立三台虚拟机来搭建hadoop集群环境,其中一台作为namenode,两台作为datanode。一、安装vmware workstation(10.0.0)(一路下一步即可)二、创建3个虚拟机 每个虚拟机安装Ubuntu 桌面版(我用的11.10,但是有点老了,建议用12.04或更高版本)namenode建议多给写内存...

如何基于Docker快速搭建多节点Hadoop集群
答:Ubuntu、OpenJDK与Hadoop均为镜像所必须,三者一共占了614.4MB 因此,我所开发的hadoop镜像以及接近最小,优化空间已经很小了。 三. 3节点Hadoop集群搭建步骤 1. 拉取镜像 sudo docker pull index.alauda.cn/kiwenlau/hadoop-master:0.1.0 sudo docker pull index.alauda.cn/kiwenlau/hadoop-slave:0.1.0 sudo docker...

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网