一、大数据 大数据:解决海量数据问题的技术。大数据由巨型数据集组成,把数据集合并进行分析可得出许多额外的信息和数据关系性。 大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。 大数据技术是指从各种各样类型的数据中,快速获得有价值信息的能力,适用于大数据的技术,包括大数据技术包括大规模并行处理数据库,数据挖掘电网,分布式文件系统,分布式数据库,云计算平台,互联网和可扩展的存储系统。

大数据的特性: 大体量:可从数百TB到数十数百PB、甚至EB的规模 多样性:大数据包括各种形式的形态的数据 时效性:需要在一定的时间限度下得到及时的处理 准确性:处理的结果要保证一定的准确性 大价值:大数据包含很多深度的价值,大数据分析挖掘和利用将带来巨大的商业价值

二、Hadoop hadoop是一种分析和处理海量数据的软件平台,是一款开源软件,使用Java开发,可以提供一个分布式基础架构

hadoop特点:高可靠性、高扩展性、高效性、高容错性、低成本

hadoop常用组件: -HDFS(Hadoop分布式文件系统) -Mapreduce(分布式计算框架) -Zookeeper(分布式协作服务) -Hbase(分布式列存数据库) -Hive(基于Hadoop的数据仓库) -Sqoop(数据同步工具) -Pig(基于Hadoop的数据流系统) -Mahout(数据挖掘算法库) -Flume(日志收集工具)

hadoop核心组件: -HDFS:分布式文件系统 -Yarn:集群资源管理系统 -MapReduce:分布式计算框架

HDFS角色及概念 -NameNode:Master节点,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理所有客户端请求。 -Secondary NameNode:定期合幵 fsimage 和fsedits,推送给NameNode,紧急情况下,可辅助恢复NameNode -DataNode:数据存储节点,存储实际的数据,汇报存储信息给NameNode。 -Client:切分文件,访问HDFS,与NameNode交互,获取文件位置信息,与DataNode交互,读取和写入数据。

Hadoop的部署模式有三种: -单机 -伪分布式(所有角色装一台机器上) -完全分布式(不同角色装不同机器)

三、单机模式: 1.获取软件 http://hadoop.apache.org 下载:hadoop-2.7.6.tar.gz 解压:tar -xf hadoop-2.7.6.tar.gz 安装:mv hadoop-2.7.6

2.安装java环境,jps工具 yum -y install java-1.8.0-openjdk yum -y install java-1.8.0-openjdk-devel

3.设置环境变量 vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre" export HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop"

分析单词出现的次数 ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount oo xx

四、完全分布式: -分布式文件系统:是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络节点相连,分布式文件系统的设计基于客户机/服务器模式;分布式文件系统可以有效解决数据的存储和管理难题,将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络,每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。

集群组建条件:

  • ALL: 能相互 ping 通 (配置 /etc/hosts)
  • ALL: 安装 java-1.8.0-openjdk-devel
  • NN1: 能 ssh 免密登录所有集群主机,包括自己(不能提示输入 yes) ssh 免密登录:部署 sshkey 不输入 yes:修改 /etc/ssh/ssh_config 60行添加 StrictHostKeyChecking no

配置文件格式 <property> <name></name> <value></value> <description></description> </property>

配置文件参考网址http://hadoop.apache.org cd /usr/local/hadoop/etc/hadoop

1.配置环境变量文件hadoop-env.sh(参见三、3) 2.核心配置文件core-site.xml vim core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs:///nn01:9000</value> <description></description> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/hadoop</value> <description></description> </property> </configuration> 在所有主机上创建/var/hadoop

2.完全分布式配置hdfs-site.xml vim hdfs-site.xml <configuration> <property> <name>dfs.datanode.http-address</name> <value>nn01:50070</value> <description></description> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>nn01:50090</value> <description></description> </property> <property> <name>dfs.replication</name> <value>2</value> <description></description> </property> </configuration>

3.配置slaves vim slaves node01 node02 node03

4.同步配置到所有主机

5.格式化 namenode (nn01上操作) ./bin/hdfs namenode -format

6.启动集群 (nn01上操作) ./sbin/start-dfs.sh 停止集群可以使用 ./sbin/stop-dfs.sh

7.验证角色 jps (所有主机操作)

8.验证集群是否组建成功 (nn01上操作) ./bin/hdfs dfsadmin -report

服务启动日志路径 /usr/local/hadoop/logs