3 Hadoop-HDFS

目录

3.1 Apache版本Hadoop重新编译

3.1.1 为什么要编译Hadoop

3.1.2 编译环境的准备

3.2 Hadoop安装

3.2.1 上传apache Hadoop包并压缩

3.2.2 修改配置文件

3.2.3 配置Hadoop的环境

3.2.4 启动集群

3.3 Hadoop核心-HDFS

3.3.1 HDFS概述

3.3.2 HDFS应用场景

适合的应用场景

不适合的应用场景

3.3.3 HDFS架构

3.3.4 NameNode和DataNode

3.3.5 HDFS的副本机制和机架感知

3.3.6 HDFS的命令行使用

3.3.7 HDFS的高级使用命令

HDFS文件限额配置

hdfs的安全模式

3.3.8 HDFS基准测试

3.3.9 HDFS文件写入过程

3.3.10 HDFS文件读取过程

3.3.11 HDFS的元数据辅助管理

3.3.12 HDFS的API操作

配置Windows下Hadoop环境

导入 Maven 依赖

使用文件系统方式访问数据(掌握)

3.3.13 HDFS的高可用机制

HDFS高可用介绍

组件介绍

3.3.14 HDFS的联邦机制

Federation架构设计


侠义上来说,Hadoop就是单独指代Hadoop这个软件,

HDFS:分布式文件系统

MapReduce:分布式计算系统

Yarn:分布式集群资源管理

广义上来说,Hadoop指代大数据的一个生态圈,包括很多其他的软件。

3.1 Apache版本Hadoop重新编译

3.1.1 为什么要编译Hadoop

由于apache给出的Hadoop的安装包没有提供带c程序访问的接口,所以我们在使用本地库(本地库可以用来压缩,以及支持c程序等等)的时候就会出问题,需要对Hadoop源码包进行重新编译。

3.1.2 编译环境的准备

1准备Linux环境

准备一台linux环境,内存4G或以上,硬盘40G或以上。此处使用node03

2虚拟机联网、关闭防火墙,关闭selinux

关闭防火墙命令 systemctl stop firewalld

禁止开机自启动 systemctl disable firewalld

修改selinux的配置文件 vim /etc/selinux/config

3安装jdk1.7

注意Hadoop-2.7.5这个版本的编译,只能使用jdk1.7,如果使用jdk1.8就会报错。

查看centos自带的openjdk,如果有的话要将其卸载掉。

rpm -qa | grep java

显示没有

统一两个路径,已经建好

不能上传,则需要

yum -y install lrzsz

rz -E 将所有的包都上传

进行解压 tar -xvf jdk-7u75-linux-x64.tar.gz -C ../servers/

配置环境变量 vim /etc/profile

/export/servers/jdk1.7.0_75

source /etc/profile 生效

4安装maven

解压 tar -xvf apache-maven-3.0.5-bin.tar.gz -C ../servers/

配置maven的环境变量 vim /etc/profile

/export/servers/apache-maven-3.0.5

将以下三行命令添加到最后

export MAVEN_HOME=/export/servers/apache-maven-3.0.5

export MAVEN_OPTS="-Xms4096m -Xmx4096m"

export PATH=:$MAVEN_HOME/bin:$PATH

生效 source /etc/profile

解压maven仓库

tar -xvf mvnrepository.tar.gz -C ../servers/

修改maven的配置文件

/export/servers/mvnrepository

添加一个阿里云的镜像地址,会让我们下载jar包更快

<mirror>
  <id>central</id>
  <mirrorOf>central</mirrorOf>
  <name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>

还是在vim settings.xml里找到

5安装findbugs

解压 tar -xvf findbugs-1.3.9.tar.gz -C ../servers/

修改配置文件 vim /etc/profile

export FINDBUGS_HOME=/export/servers/findbugs-1.3.9

export PATH=:$FINDBUGS_HOME/bin:$PATH

source /etc/profile 生效

6在线安装一些依赖包

yum install autoconf automake libtool cmake

yum install ncurses-devel

yum install openssl-devel

显示已经安装就不用管了

yum install lzo-devel zlib-devel gcc gcc-c++

bzip2压缩需要的依赖包 yum install -y bzip2-devel

7安装protobuf

解压protobuf并进行编译

8安装snappy

9编译Hadoop源码

对源码进行编译 cd /export/softwares

进行解压 tar -xvf hadoop-2.7.5-src.tar.gz -C ../servers/

cd /export/servers/hadoop-2.7.5

编译支持snappy压缩:

mvn package -DskipTests -Pdist,native -Dtar -Drequire.snappy -e -X

编译时间的长短跟网速有很大关系 因为要下载大量的包

出错啦!!

终于成功了!

安装成功之后,会有一个这个安装包,这个安装包里有很多常用的压缩算法

3.2 Hadoop安装

安装Hadoop-集群规划

服务器IP

192.168.245.100

192.168.245.110

192.168.245.120

主机名

node01

node02

node03

NameNode

SecondaryNameNode

dataNode

ResourceManager

NodeManager

3.2.1 上传apache Hadoop包并压缩

解压命令

cd /export/softwares

rz -E

tar -xvf hadoop-2.7.5.tar.gz -C ../servers/

3.2.2 修改配置文件

准备工作

在控制台修改这么多配置文件很容易出错,并且很不方便。因此可以借用一个工具,Notepad++来远程登录到linux,然后通过这个工具来直接进行配置文件。

注:用utf-8编码,记得保存

修改core-site.xml

第一台机器执行一下命令:

cd /export/servers/hadoop-2.7.5/etc/hadoop/core-site.xml

<configuration>
	<!--  指定集群的文件系统类型:分布式文件系统 -->
	<property>
		<name>fs.default.name</name>
		<value>hdfs://node01:8020</value>
	</property>
	<!--  指定临时文件存储目录 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/export/servers/hadoop-2.7.5/hadoopDatas/tempDatas</value>
	</property>
	<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->
	<property>
		<name>io.file.buffer.size</name>
		<value>4096</value>
	</property>

	<!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
	<property>
		<name>fs.trash.interval</name>
		<value>10080</value>
	</property>
</configuration>

3d5d913e5f914d1967f01f718c15b23b.png

修改hdfs-site.xml

<configuration>

	 <property>
			<name>dfs.namenode.secondary.http-address</name>
			<value>node01:50090</value>
	</property>

	<!-- 指定namenode的访问地址和端口 -->
	<property>
		<name>dfs.namenode.http-address</name>
		<value>node01:50070</value>
	</property>
	<!-- 指定namenode元数据的存放位置 -->
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value>
	</prop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值