码迷,mamicode.com
首页 > 其他好文 > 详细

大数据之hadoop

时间:2018-08-30 22:45:51      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:site   创建   获得   副本   基础架构   example   des   pen   分布式数据库   

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

大数据的特性:
大体量:可从数百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

大数据之hadoop

标签:site   创建   获得   副本   基础架构   example   des   pen   分布式数据库   

原文地址:http://blog.51cto.com/13460306/2167064

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!