感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!
如果转载,请保留作者信息。
hadoop系列之hadoop基础环境调试
hadoop简介
什么是Apache Hadoop?
Apache Hadoop为可靠的,可扩展的分布式计算开发开源软件。
Apache Hadoop是一个分布式基础框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集。它旨在从单个服务器扩展到数千台机器,每台机器提供本地计算和存储。该库本身不是依靠硬件来提供高可用性,而是设计用于在应用层检测和处理故障,从而在一组计算机之上提供高可用性服务,每个计算机都可能出现故障。
Hadoop是一个由Apache基金会所开发开源项目,该项目包括这些模块:
Hadoop Common:支持其他Hadoop模块的常用工具。
Hadoop分布式文件系统(HDFS):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。
Hadoop YARN:作业调度和集群资源管理的框架。
Hadoop MapReduce:一种用于并行处理大型数据集的基于YARN的系统。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。
高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
低成本。hadoop可部署于普通的商用机上,硬件成本较低,另外,hadoop是开源的,软件成本因此也大大降低。
Hadoop其他生态系统包括:
Ambari:一种用于供应,管理和监控Apache Hadoop集群的基于Web的工具,其中包括对Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari还提供了一个用于查看群集运行状况的仪表板,例如热图和可以直观地查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。
Avro:数据序列化系统。
Cassandra:无单点故障的可扩展多主数据库。
Chukwa:管理大型分布式系统的数据收集系统。
HBase:可扩展的分布式数据库,支持大型表格的结构化数据存储。
Hive:提供数据汇总和即席查询的数据仓库基础架构。
Mahout:可扩展的机器学习和数据挖掘库。
Pig:用于并行计算的高级数据流语言和执行框架。
Spark:用于Hadoop数据的快速和通用计算引擎。Spark提供了一个简单而富有表现力的编程模型,它支持广泛的应用程序,包括ETL,机器学习,流处理和图计算。
Tez:一种基于Hadoop YARN的通用数据流编程框架,它提供了一个强大且灵活的引擎,可执行任意DAG任务来处理批处理和交互式用例的数据。Hado™,Pig™和Hadoop生态系统中的其他框架以及其他商业软件(例如ETL工具)正在采用Tez来替代Hadoop™MapReduce作为底层执行引擎。
ZooKeeper:分布式应用程序的高性能协调服务。
本文的目的
Hadoop在大数据技术体系中的地位至关重要,Hadoop是大数据技术的基础,对Hadoop基础知识的掌握的扎实程度,会决定在大数据技术道路上走多远。这是一篇入门文章,Hadoop的学习方法很多,网上也有很多学习路线图。就学习方法而言,个人认为适合自己的才是最好的,本文的思路是:以安装部署Hadoop2.x版本为主线,来介绍Hadoop2.x的架构组成、各模块协同工作原理、技术细节。安装不是目的,通过安装认识Hadoop、学习hadoop才是目的。
本文为基础调试部分,对linux6.4系统进行调试,为安装hadoop做准备
第一步修改主机名:
hostnamehadoop.bigdata.com 临时修改主机名,系统重启后失效
[root@localhost ~]#cat /etc/sysconfig/network 永久生效方式
NETWORKING=yes
HOSTNAME=hadoop.bigdata.com
第二步配置ip地址:
[root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
#UUID=57d4c2c9-9e9c-48f8-a654-8e5bdbadafb8
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=eth1
HWADDR=00:0c:29:ce:fd:21
IPADDR=10.20.30.75
NETMASK=255.255.255.0
GATEWAY=10.20.30.40
PEERDNS=yes
DNS1=10.20.30.40
PEERDNS=yes
PEERROUTES=yes
LAST_CONNECT=1386682585
第三步配置hosts文件,添加主机映射关系
[root@localhost ~]#vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4localhost4.localdomain4
::1 localhost localhost.localdomainlocalhost6 localhost6.localdomain6
10.20.30.75 hadoop.bigdata.com
第四步关闭防火墙:
关闭iptables
[root@localhost ~]#service iptables stop 临时关闭
[root@localhost ~]#service iptables status
iptables: Firewallis not running.
[root@localhost ~]#chkconfig iptables off 永久关闭
关闭selinux
[root@localhost ~]#setenforce 0 临时关闭
[root@localhost ~]#getenforce 查看是否关闭
Permissive
[root@localhost ~]# vi/etc/selinux/config 永久关闭
# This file controlsthe state of SELinux on the system.
# SELINUX= can takeone of these three values:
# enforcing - SELinux security policy isenforced.
# permissive - SELinux prints warningsinstead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can takeone of these two values:
# targeted - Targeted processes areprotected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
建议:关闭防火墙后重启系统
第五步安装jdk
[root@hadoop ~]# java -version 查看是否已经安装了javaJDK
java version "1.7.0_09-icedtea"
OpenJDK Runtime Environment(rhel-2.3.4.1.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixedmode)
注意:已经安装了jdk
[root@hadoop ~]# rpm-qa|grep jdk
java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
[root@hadoop ~]# rpm-e java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 --nodeps 下载jdk
[root@hadoop ~]# rpm-e java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64 –nodeps
[root@hadoop ~]#java -version 卸载成功
-bash: /usr/bin/java:No such file or directory
安装java jdk
去下载Oracle版本Java JDK:jdk-7u79-linux-x64.tar.gz
注意:Hadoop机器上的JDK,最好是Oracle的Java JDK,不然会有一些问题,比如可能没有JPS命令。
如果安装了其他版本的JDK,卸载掉。
1、创建解压目录和软件包存放目录
[root@hadoop ~]# mkdir -p /opt/{modules,softwares}
2、将jdk-7u79-linux-x64.tar.gz解压到/opt/modules目录下
tar -zxvf jdk-7u79-linux-x64.tar.gz -C /opt/modules/
3、设置环境变量:
vi /etc/profile ,底部追加
exportJAVA_HOME="/opt/modules/jdk1.7.0_79"
export PATH=$JAVA_HOME/bin:$PATH
[root@hadoop softwares]# source/etc/profile 修改完毕后,执行 source /etc/profile
[root@hadoop softwares]# java -version 查看jdk是否安装成功
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build24.79-b02, mixed mode)
至此,hadoop安装环境已经调试完成