一、大数据
大数据:解决海量数据问题的技术。大数据由巨型数据集组成,把数据集合并进行分析可得出许多额外的信息和数据关系性。
大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。
大数据技术是指从各种各样类型的数据中,快速获得有价值信息的能力,适用于大数据的技术,包括大数据技术包括大规模并行处理数据库,数据挖掘电网,分布式文件系统,分布式数据库,云计算平台,互联网和可扩展的存储系统。
大数据的特性:
大体量:可从数百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
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/193082.html