Hadoop的安装与配置和集群的搭建,Hadoop的定义与作用
Hadoop的定义与作用
hadoop是什么?Hadoop是一种分析和处理大数据的软件平台,是Appach的一个用Java语言所实现的开源软件的框架,在大量计算机组成的集群当中实现了对于海量的数据进行的分布式计算。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
HDFS(Hadoop Distributed File System):Hadoop的分布式文件系统。
MapReduce:Hadoop为每一个input split创建一个task调用Map计算,在此task中依次处理此split中的一个个记录(record),map会将结果以key–value 的形式输出,hadoop负责按key值将map的输出整理后作为Reduce的输入,Reduce Task的输出为整个job的输出,保存在HDFS上.
Hadoop的集群主要由 NameNode,DataNode,Secondary NameNode,JobTracker,TaskTracker组成:
NameNode中记录了文件是如何被拆分成block以及这些block都存储到了那些DateNode节点。NameNode同时保存了文件系统运行的状态信息.。DataNode中存储的是被拆分的blocks。Secondary NameNode帮助NameNode收集文件系统运行的状态信息。JobTracker当有任务提交到Hadoop集群的时候负责Job的运行,负责调度多个TaskTracker。TaskTracker负责某一个map或者reduce任务.
Hadoop的安装与配置
Hadoop的安装
这里选的是2.6的版本:hadoop-2.6.0-cdh5.14.2.tar.gz
,可自行百度搜索
虚拟机安装的LINUX的64为系统,
jdk,安装的是jdk-8u221-linux-x64.tar.gz
,
上面的配置如果没有处理号,可以在下方链接先去配置linux系统和jdk
Linux环境安装及jdk安装
解压安装
[root@localhost software]# tar -zxf hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt
重命名
[root@localhost opt]# mv hadoop-2.6.0-cdh5.14.2/ hadoop
Hadoop的配置
1,免密登录
生成密钥(在家目录下操作)
[root@localhost ~]# ssh-keygen -t rsa -P ""
复制密钥到公钥
[root@localhost ~]# cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
开启远程免密登录(@自己的主机地址)
[root@localhost ~]# ssh-copy-id -i .ssh/id_rsa.pub -p22 root@192.168.211.101
2,修改主机名和主机列表
[root@localhost ~]# vi /etc/hostname
[root@localhost ~]# vi /etc/hosts
让主机名修改即时生效
hostnamectl set-hostname hadoop101
3,配置hadoop-evn.sh运行环境
[root@localhost hadoop]# cd /opt/hadoop/etc/hadoop
[root@localhost hadoop]# vi hadoop-env.sh
到25行,修改java_home路径
4,配置core-site.xml
[root@localhost hadoop]# vi core-site.xml
在configration中加入以下内容
<!-- Put site-specific property overrides in this file. -->
<configuration>
<!-- 默认节点(写自己主机的ip)端口,端口默认为9000 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.211.101:9000</value>
</property>
<!-- hdfs的临时文件的目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>