Hadoop 分布式集群环境搭建与配置

一、hadoop 简介

基于hadoop的整体分布式模块交互
1)分布式系统的定义

把数据放到一个服务器集群上面,分为:主控服务器(Master/NameNode),数据服务器(ChunkServer/DataNode),和客户服务器Client.HDFS和GFS都是按照这个架构模式来搭建的

2)核心内容:文件的目录结构独立存储在一个NameNode上,二具体文件数据,拆分成若干块,冗余的存放在不

同的数据服务器上(DataNode)。存储目录结构的主控服务器,在GFS中称为Master,在HDFS中称为NameNode

基于Hadoop的HDFS
hadoop:

可靠的、可伸缩的、分布式计算的开源软件.
是一个框架、允许跨越计算机集群的大数据集处理,使用简单的编程模型(MapReduce)。
可从单个服务器扩展到几千台主机,每个节点提供了计算和存储的功能。而不是依赖高可用性的机器
依赖于应用层面上的实现,

HDFS:

采用master/slave架构。一个HDFS集群是有一个Namenode和一定数目的Datanode组成。Namenode是一个中心服务器,负责管理文件系统的namespace和客户端对文件的访问。一个文件其实分成一个或多个block,这些block存储在Datanode集合里。Namenode执行文件系统的namespace操作,比如打开、关闭、重命名文件和目录;同时决定block到具体Datanode节点的映射
1)NameNode存放两种信息:文件和block的映射、block和DataNode的映射。文件和block的映射,固化在磁盘上。而block和DataNode的映射在DataNode启动时上报给NameNode,即blockReport
2)HDFS协议:ClientDatanodeProtocol :一个客户端和datanode之间的协议接口,用于数据块恢复;ClientProtocol :client与Namenode交互的接口,所有控制流的请求均在这里,如:创建文件、删除文件等;DatanodeProtocol : Datanode与Namenode交互的接口,如心跳、blockreport等;NamenodeProtocol :SecondaryNode与Namenode交互的接口;InterDatanodeProtocol:用于DataNode和DataNode通信
MapReduce 工作原理:在这里插入图片描述

准备工作:

JDK下载、Hadoop下载:作用是为海量数据提供(HDFS)分布式存储和(YARN)分布式计算
博主这里的1Jdk(建议使用JDK 1.8.11)jdk安装教程
hadoop的版本是 Tar hadoop.tar.gz(建议使用Hadoop 2.7.3)

二、安装

配置主从机无密登录

绑定的域名与ip地址

[root@hw ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.100 hw2
192.168.56.120 hw1

解压 hadoop 并重命名

tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz 
[root@hw soft]# mv hadoop-2.6.0-cdh5.14.2 hadoop260

查看公密钥并将 hadoop 和 主机公钥 远程拷贝给从机

[root@hw soft]#  cd /opt/soft/hadoop260/
[root@hw hadoop260]# mkdir tmp
// 生成密钥
[root@hw .ssh]# ssh-keygen -t rsa -P ''
// 注意 .ssh文件位置
[root@hw ~]# cd .ssh
// 同样从机生成密钥 在删除生成的公钥
rm -rf id_rsa.pub
// 将 公钥拷贝至从机
[root@hw .ssh]# scp id_rsa.pub root@192.168.56.100:/root/.ssh/
The authenticity of host '192.168.56.100 (192.168.56.100)' can't be established.
ECDSA key fingerprint is 53:b6:65:9d:78:82:49:b1:fb:f0:e7:e5:09:d5:cd:83.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.56.100' (ECDSA) to the list of known hosts.
root@192.168.56.100's password: 
id_rsa.pub                                                                                                100%  389     0.4KB/s   00:00    
// 将公钥转换类型
[root@hw .ssh]# cat id_rsa.pub >> authorized_keys
[root@hw .ssh]# chmod 600 authorized_keys
// 配置完毕后即可主机无密登录从机
环境变量配置

配置 core-site.xml


[root@hw1 hadoop]# vi core-site.xml


		<property>
                <name>fs.defaultFS</name>
                <value>hdfs://hw1:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/soft/hadoop260/tmp</value>
        </property>
        <property>
                <name>hadoop.proxyuser.root.hosts</name>
                <value>*</value>
        </property>
        <property>
                <name>hadoop.proxyuser.root.groups</name>
                <value>*</value>
        </property>

配置hdfs-site.xml

vi hdfs-site.xml

		<property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>

配置mapred-site.xml

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

配置yarn-site.xml

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

配置 slave

vi slaves
// 节点信息
192.168.56.131 hw

将hadoop远程拷贝给从机

scp -r /opt/soft/hadoop260/ root@192.168.56.133:/opt/soft/

profile 文件配置

vi /etc/profile

export JAVA_HOME=/opt/soft/jdk180
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export HADOOP_HOME=/opt/soft/hadoop260
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME


source /etc/profile

格式化并启动

hdfs namenode -format
start-all.sh
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值