目录

一、概念

二、Hadoop生态圈组件

二、Hadoop集群的两种模式

三、Hadoop集群搭建(文件配置-略)

四、Hadoop集群指令&目录说明

一、概念

广义:Hadoop生态圈;狭义:Apache基金会开发的分布式系统开源框架,主要是为了解决海量数据存储和海量数据分析的问题核心组件包括:

HDFS-分布式文件系统(通过目录树定位文件)MAPREDUCE-分布式运算编程框架YARN-作业调度和集群资源管理框架Common辅助工具:Hadoop体系最底层的一个模块,为Hadoop各子项目提供各种工具,如配置文件和日志操作。优点 & 特性(Remember)

扩容能力成本低高效率高可靠性高容错缺点

不适用于低延迟数据访问;不能高效存储大量小文件;不支持多用户写入并任意修改文件。

二、Hadoop生态圈组件

Zookeeper:是一个开源的分布式应用程序协调服务,基于zookeeper可以实现同步服务,配置维护,命名服务等(封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户)。 Hbase:一个分布式的、面向列的开源数据库,利用Hadoop HDFS作为其存储系统。 Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转化为MapReduce任务进行运行。(底层存储依赖于HDFS) Sqoop:将一个关系型数据库中的数据导入Hadoop的HDFS中,也可以反过来。 Flume:一个高可用的,高可靠的,分布式的海量日志采集、采集和传输的系统。 Kafka:一个分布式、分区的、多副本的、多订阅者的、基于zookeeper协调的分布式日志系统,可作为消息中间件。 Flink:是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。(是一套集高吞吐、低延迟、高性能三者于一身的分布式流式处理框架。) Spark:与Flink的功能类似,是Flink强有力的竞争者。

二、Hadoop集群的两种模式

本地模式完全分布式模式

三、Hadoop集群搭建(文件配置-略)

虚拟机准备

VMware Workstation安装好之后,可以在宿主机的网络配置中看到多出来的两个网络连接,分别是VMnet1和VMnet8,其中VMnet1用于仅主机模式,VMnet8用于Nat模式。(还有一个VMnet0,用于桥接模式,可以在VMware Workstation 的虚拟网络编辑器virtual network editor中看到)DHCP服务:仅主机模式和Nat模式这两个模式默认提供DHCP服务(VMnet0默认不提供)。DHCP服务即动态主机设置协议,是局域网中的一种协议,能够快速地自动为我们的PC分配网络IP地址,以及为设备配置正确的子网掩码、默认网关和DNS服务器信息,为我们节省网络配置的时间,防止外来PC上网,同时避免IP重复等错误。虚拟机的三种网络模式

仅主机模式(Host-Only)-VMnet1 * 宿主机和所有的虚拟机共同组成一个“私人的局域网络”,彼此之间可以相互访问,但与外网是相互独立的,无法访问外网。网络地址转换模式(NAT)-VMnet8 * 重点在于虚拟系统通过宿主机的网络访问公网,宿主机同时参与现有的网络和新建的内部虚拟局域网,虚拟系统借助于NAT的功能,使用宿主机的IP地址访问外网,从外网的角度,只能察觉到宿主机,是完全看不到虚拟网络系统的。桥接模式(Bridged)-VMnet0 * 此模式下,VMware虚拟出来的操作系统就像是局域网中一台独立的主机(需要手工配置IP、子网掩码等),相当于宿主机和虚拟机共享了同一个交换机(这个交换机当然也是虚拟出来的)网络配置

在虚拟机的/etc/sysconfig/network-scripts/ifcfg-ethxx文件中修改网络配置参数 DEVICE是网卡名称

BOOTPROTO是获取的ip地址类型,static和none为静态地址,dhcp为动态获取ip地址

HWADDR是MAC地址

MTU是最大传输单位

NM_CONTROLLED是否启用NetworkManager图形界面配置工具

ONBOOT设置网卡是否在Linux系统启动时激活,这一项一般都要设为yes

IPADDR是本机ip地址

NETMASK是子网掩码

GATEWAY是设置网关的

DNS1是首选DNS服务器

DNS2时辅助DNS服务器

还有一些几个参数一般情况下不用配置:

BROADCAST是广播地址

原文链接:https://blog.csdn.net/huapenguag/article/details/78283249 xsync分发脚本编写 #!/bin/bash

#1. 判断参数个数

if [ $# -lt 1 ]

then

echo Not Enough Arguement!

exit;

fi

#2. 遍历集群所有机器

for host in Hadoop101 Hadoop102 Hadoop103

do

echo ==================== $host ====================

#3. 遍历所有目录,挨个发送,$@ 表示把参数以$1、$2、$3、$4...形式输出,并可以当作数组使用

for file in $@

do

#4. 判断文件是否存在

if [ -e $file ]

then

#5. 获取父目录

pdir=$(cd -P $(dirname $file); pwd)

#6. 获取当前文件的名称

fname=$(basename $file)

ssh $host "mkdir -p $pdir"

rsync -av $pdir/$fname $host:$pdir

else

echo $file does not exists!

fi

done

done

xcall ssh指令跳转脚本编写 #!/bin/sh

pcount=$#

if((pcount==0));then

echo no args...;

exit;

fi

for((host=101; host<=103; host++));

do

echo ==================Hadoop$host==================

ssh Hadoop$host $@

done

无密登录配置历史服务器配置日志聚集配置常用端口说明

端口名称 Hadoop2.x Hadoop3.x NameNode内部通信端口 8020 / 9000 8020 / 9000/9820 NameNode HTTP UI 50070 9870 MapReduce查看执行任务端口 8088 8088 历史服务器通信端口 19888 19888 * 如:hadoop101:9870时间同步......

四、Hadoop集群指令&目录说明

目录说明(/opt/moudle/hadoop-3.x/路径下)

bin:存放hadoop最基础的管理脚本和使用脚本,是sbin目录下管理脚本的基础;sbin:存放hadoop管理脚本所在的目录,主要是对于hdfs和yarn的开关脚本以及单线程的开启和守护;etc/hadoop:存放hadoop 的一些配置文件;lib:该目录下存放的是Hadoop运行时依赖的jar包,Hadoop在执行时会把lib目录下面的jar全部加到classpath中;logs:该目录存放的是Hadoop运行的日志,查看日志对寻找Hadoop运行错误非常有帮助;include:对外提供的编程库头文件(具体动态库和静态库在lib目录中),这些头文件均是用C++定义的,通常用于C++程序访问HDFS或者编写MapReduce程序;libexec:各个服务对用的shell配置文件所在的目录,可用于配置日志输出、启动参数(比如JVM参数)等基本信息;share:Hadoop各个模块编译后的jar包所在的目录;启动关闭上传下载(自定义shell脚本启动与关闭集群各组件:) # shell_name:myHadoop

# path of this shell file:/home/hadoop/bin

#!/bin/bash

# $#表示传给脚本的参数的个数,Linux中的空格是非常重要的存在,一定要注意取舍

if [ $# -ne 1 ]

then

echo "Input error..."

exit;

fi

case $1 in

"start")

echo " =================== 启动 hadoop集群 ==================="

echo " --------------- 启动 hdfs ---------------"

ssh hadoop101 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"

echo " --------------- 启动 yarn ---------------"

ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"

echo " --------------- 启动 historyserver ---------------"

ssh hadoop101 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start his

;;

"stop")

echo " =================== 关闭 hadoop集群 ==================="

echo " --------------- 关闭 historyserver ---------------"

ssh hadoop101 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop hist

echo " --------------- 关闭 yarn ---------------"

ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"

echo " --------------- 关闭 hdfs ---------------"

ssh hadoop101 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"

;;

*)

echo "Input Error..."

;;

esac

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。