1 分布式计算的背景
由于网络中待处理的数据量越来越大,高性能单机处理的能力也无法满足海量处理的要求。此时,若将巨大的数据进行分割交由不同的机器各自进行处理,再将每个机器的计算结果进行汇总,进而提高了运算时间。此时,用性能较低的机器也有可能在计算能力上超过高性能的单机计算能力。

2 Hadoop
Apache Hadoop是大数据开发所使用的一个核心框架。使用Hadoop可以方便地管理分布式集群,将海量数据分布在集群之中,并使用分布式并行程序处理这些数据。在该集群中的每台计算机都提供本地计算和存储。其本身的设计目的不是依靠硬件来提供高可用性,二十在应用程检测和处理故障。
2.1 Hadoop架构
Hadoop的核心组件由HDFS,YARN以及MapReduce组成。其结构如图。

-
HDFS: HD表示Hadoop, FS表示FileSystem。在调用上,将其理解为一个抽象的单一计算机系统,所有的操作面向一个单一的文件系统,而实际上,其文件的内部切割和存储,都由Hadoop架构完成。比如,在HDFS系统中新建文件夹的命令为
hdfs dfs -mkdir /input/上述命令表示在hadoop的文件系统中新建了一个文件夹input,至于该input文件夹在集群间如何存储,对于用户而言是透明的。
-
Yarn: 中文为纺线。在Hadoop中进行穿针引线之作用。Yarn是资源管理和数据处理之间的层。
-
MapReduce:该单词表达了Map和Reduce两个行为。Map译为映射,即将待处理的数据分配到集群中的计算机并交由其进行计算。Reduce是将计算的结果进行汇总。
2.2 构建一个Hadoop集群
首先在VMWare中安装一台CentOS的服务器,将其IP地址设置为192.168.170.133。其具体过程可百度。
然后克隆两台一模一样的机器,并将其IP设置为192.168.170.134和192.168.170.135。
在CentOS中通过以下命令,将三台IP地址的主机进行命名
sudo vim /etc/hosts
192.168.170.133 centos01
192.168.170.134 centos02
192.168.170.135 centos03
这样,使用ssh进行登录的时候就不需要使用数字IP,而只需要填写hosts文件里的名称即可。
配置免密登录,以centos01与centos02通讯为例。
首先在home/你的用户/下新建(可能已有).ssh文件夹
mkdir .ssh
使用sshkeygen生成公钥和私钥
ssh-keygen -t rsa
将生成的公钥文件加入到authorized_keys文件中,这三台服务器之间互相加
cat id_rsa.pub >> authorized_keys #比如当前机器是134,id_rsa.pub是133上的文件,那么authroized_keys文件里就有133上的公钥,从133访问134可以免密访问
现在从133可以直接访问134
ssh user@centos01
2.3 安装JDK
使用yum安装JDK
sudo yum install java-1.8.0-openjdk-devel
安装此jdk的原因是可以调用jps程序查看当前的java进程。
然后指定环境变量,不会就查百度。
2.4 安装hadoop
从官网下载hadoop。
解压到自己喜欢的路径,按照《Hadoop大数据技术开发实战》是解压到以下路径
/opt/module/
2.5 配置hadoop环境
首先注意一点,如果你不会操作防火墙(我也不会),那么就把防火墙关了。
sudo systemctl stop firewalld #root权限
sudo systemctl di

最低0.47元/天 解锁文章
371

被折叠的 条评论
为什么被折叠?



