网赢中国专注大数据营销 [会员登录][免费注册][网赢中国下载]我要投稿|加入合伙人|设为首页|收藏|RSS
网赢中国是大数据营销代名词。
大数据营销
当前位置:网赢中国 > 行业资讯 > 技术文章 > 大数据营销技术文章 > Hadoop入门进阶课程1--Hadoop1.X伪分布式安装-Hadoop
Hadoop入门进阶课程1--Hadoop1.X伪分布式安装-Hadoop
编辑:石山园 发布时间: 2015-7-8    文章来源:博客园
大数据营销

【注】该系列所使用到安装包、测试文件和代码可以在百度网盘下载,具体地址为 http://pan.baidu.com/s/10PnDs ,下载该PDF文件


 


1    Hadoop介绍


1.1  Hadoop简介


Apache Hadoop软件库是一个框架,允许在集群服务器上使用简单的编程模型对大数据集进行分布式处理。Hadoop被设计成能够从单台服务器扩展到数以千计的服务器,每台服务器都有本地的计算和存储资源。Hadoop的高可用性并不依赖硬件,其代码库自身就能在应用层侦测并处理硬件故障,因此能基于服务器集群提供高可用性的服务。


1.2  Hadoop生态系统


经过多年的发展形成了Hadoop1.X生态系统,其结构如下图所示:


clip_image002[1]


lHDFS--Hadoop生态圈的基本组成部分是Hadoop分布式文件系统(HDFS)。HDFS是一种数据分布式保存机制,数据被保存在计算机集群上,HDFSHBase等工具提供了基础。


lMapReduce--Hadoop的主要执行框架是MapReduce,它是一个分布式、并行处理的编程模型,MapReduce把任务分为map(映射)阶段和reduce(化简)。由于MapReduce工作原理的特性, Hadoop能以并行的方式访问数据,从而实现快速访问数据。


lHbase--HBase是一个建立在HDFS之上,面向列的NoSQL数据库,用于快速读/写大量数据。HBase使用Zookeeper进行管理,确保所有组件都正常运行。


lZookeeper--用于Hadoop的分布式协调服务。Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。


lPig--它是MapReduce编程的复杂性的抽象。Pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin)。其编译器将Pig Latin翻译成MapReduce程序序列。


lHive--Hive类似于SQL高级语言,用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。像Pig一样,Hive作为一个抽象层工具,吸引了很多熟悉SQL而不是Java编程的数据分析师。


lSqoop是一个连接工具,用于在关系数据库、数据仓库和Hadoop之间转移数据。Sqoop利用数据库技术描述架构,进行数据的导入/导出;利用MapReduce实现并行化运行和容错技术。


lFlume提供了分布式、可靠、高效的服务,用于收集、汇总大数据,并将单台计算机的大量数据转移到HDFS。它基于一个简单而灵活的架构,并提供了数据流的流。它利用简单的可扩展的数据模型,将企业中多台计算机上的数据转移到Hadoop


1.3  Apache版本衍化


Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。第一代Hadoop包含三个大版本,分别是0.20.x0.21.x0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x0.22.x包含NameNode HA等新的重大特性。第二代Hadoop包含两个版本,分别是0.23.x2.x,它们完全不同于Hadoop 1.0,是一套全新的架构,均包含HDFS FederationYARN两个系统,相比于0.23.x2.x增加了NameNode HAWire-compatibility两个重大特性。


clip_image003[1]


2    Hadoop1.X伪分布安装


Hadoop安装有如下三种方式


l单机模式:安装简单,几乎不用作任何配置,但仅限于调试用途;


l伪分布模式:在单节点上同时启动NameNodeDataNodeJobTrackerTaskTrackerSecondary Namenode5个进程,模拟分布式运行的各个节点;


l完全分布式模式:正常的Hadoop集群,由多个各司其职的节点构成


由于实验环境的限制,本节课程将讲解伪分布模式安装,并在随后的课程中以该环境为基础进行其他组件部署实验。以下为伪分布式环境下在CentOS6中配置Hadoop-1.1.2,该配置可以作为其他Linux系统和其他版本的Hadoop部署参考。


 


2.1  软硬件环境说明


所有节点均是CentOS系统,防火墙和SElinux禁用,所有节点上均创建了一个shiyanlou用户,并在系统根目录下创建/app目录,用于存放Hadoop等组件运行包。因为该目录用于安装hadoop等组件程序,用户对shiyanlou必须赋予rwx权限(一般做法是root用户在根目录下创建/app目录,并修改该目录拥有者为shiyanlou(chown R shiyanlou:shiyanlou /app)。


Hadoop搭建环境:


l  虚拟机操作系统: CentOS6.6  64位,单核,1G内存


l  JDK1.7.0_55 64


l  Hadoop1.1.2


2.2  环境搭建(实验楼虚拟机已设置,以下提供参考)


实验环境的虚拟机已经完成的安装环境的配置,其他环境部署时可以参考该章节进行环境搭建。


2.2.1配置本地环境


该部分对服务器的配置需要在服务器本地进行配置,配置完毕后需要重启服务器确认配置是否生效,特别是远程访问服务器需要设置固定IP地址。


2.2.1.1设置IP地址


1.    点击System-->Preferences-->Network Connections,如下图所示:


clip_image005[1]


2.    修改或重建网络连接,设置该连接为手工方式,设置如下网络信息:


      IP地址:    192.168.42.11


      子网掩码: 255.255.255.0


      网关:    192.168.42.1


      DNS    221.12.1.227 (需要根据所在地设置DNS服务器)


      Domain:  221.12.33.227


      注意:网关、DNS等根据所在网络实际情况进行设置,并设置连接方式为'Available to all users',否则通过远程连接时会在服务器重启后无法连接服务器


clip_image007[1]


3.    在命令行中,使用ifconfig命令查看设置IP地址信息,如果修改IP不生效,需要重启机器再进行设置(如果该机器在设置后需要通过远程访问,建议重启机器,确认机器IP是否生效)


2.2.1.2设置机器名


使用sudo vi /etc/sysconfig/network 打开配置文件,根据实际情况设置该服务器的机器名,新机器名在重启后生效


clip_image009[1]


2.2.1.3设置Host映射文件


1.    设置IP地址与机器名的映射,设置信息如下:


sudo vi /etc/hosts


l    192.168.42.8 b393a04554e1 hadoop


clip_image011[1]


2.    使用如下命令对网络设置进行重启


sudo /etc/init.d/network restart


3.    使用ping命令验证设置是否成功


2.2.2设置操作系统环境


2.2.2.1关闭防火墙


Hadoop安装过程中需要关闭防火墙和SElinux,否则会出现异常


1.    使用sudo service iptables status 查看防火墙状态,如下所示表示iptables已经开启


clip_image013[1]


2.    root用户使用如下命令关闭iptables


chkconfig iptables off


clip_image015[1]


2.2.2.2关闭SElinux


1.    使用sudo getenforce命令查看是否关闭,如果显示Enforcing表示没有关闭


2.    修改/etc/selinux/config 文件


SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器


clip_image017[1]


2.2.2.3JDK安装及配置


1.    下载JDK1.7 64bit安装包


打开JDK1.7 64bit安装包下载链接为:


http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html


打开界面之后,先选中 Accept License Agreement ,然后下载 jdk-7u55-linux-x64.tar.gz,如下图所示:


clip_image019[1]


2.    创建/app目录,把该目录的所有者修改为shiyanlou


sudo mkdir /app


sudo chown -R shiyanlou:shiyanlou /app


clip_image021[1]


3.    创建/app/lib目录,使用命令如下:


mkdir /app/lib


clip_image023[1]


4.    把下载的安装包解压并迁移到/app/lib目录下


cd /home/shiyanlou/install-pack


tar -zxf jdk-7u55-linux-x64.tar.gz


mv jdk1.7.0_55/ /app/lib


ll /app/lib


clip_image025[1]


5.    使用sudo vi /etc/profile命令打开配置文件,设置JDK路径


export JAVA_HOME=/app/lib/jdk1.7.0_55


export PATH=$JAVA_HOME/bin:$PATH


export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


clip_image027[1]


6.    编译并验证


source /etc/profile


java -version


clip_image029[1]


2.2.2.4更新OpenSSL


CentOS自带的OpenSSL存在bug,如果不更新OpenSSLAmbari部署过程会出现无法通过SSH连接节点,使用如下命令进行更新:


yum update openssl


clip_image031[1]


 


clip_image033[1]


2.2.2.5SSH无密码验证配置


1.    使用sudo vi /etc/ssh/sshd_config打开sshd_config配置文件,开放三个配置,如下图所示:


RSAAuthentication yes


PubkeyAuthentication yes


AuthorizedKeysFile .ssh/authorized_keys


clip_image035[1]


2.    配置后重启服务


sudo service sshd restart


clip_image037[1]


3.    使用shiyanlou用户登录使用如下命令生成私钥和公钥;


ssh-keygen -t rsa


clip_image039[1]


4.    进入/home/shiyanlou/.ssh目录把公钥命名为authorized_keys,使用命令如下:


cp id_rsa.pub authorized_keys


clip_image041[1]


5.    使用如下设置authorized_keys读写权限


chmod 400 authorized_keys


clip_image043[1]


6.    测试ssh免密码登录是否生效


2.3  Hadoop变量配置


2.3.1解压并移动hadoop安装包


Apache的归档目录中下载hadoop-1.1.2-bin.tar.gz安装包,也可以在/home/shiyanlou/install-pack目录中找到该安装包,解压该安装包并把该安装包复制到/app目录中


cd /home/shiyanlou/install-pack


tar -xzf hadoop-1.1.2-bin.tar.gz


mv hadoop-1.1.2 /app


clip_image045[1]


2.3.2hadoop-1.1.2目录下创建子目录


cd /app/hadoop-1.1.2


mkdir tmp


mkdir hdfs


mkdir hdfs/name


mkdir hdfs/data


ls


clip_image047[1]


hdfs/data设置为755,否则DataNode会启动失败


clip_image049[1]


2.3.3配置hadoop-env.sh


1.    进入hadoop-1.1.2/conf目录,打开配置文件hadoop-env.sh


cd /app/hadoop-1.1.2/conf


vi hadoop-env.sh


clip_image051[1]


2.    加入配置内容,设置了hadoopjdkhadoop/bin路径


export JAVA_HOME=/app/lib/jdk1.7.0_55


export PATH=$PATH:/app/hadoop-1.1.2/bin


clip_image053[1]


3.    编译配置文件hadoop-env.sh并确认生效


source hadoop-env.sh


hadoop version


clip_image055[1]


2.3.4配置core-site.xml


1.    使用如下命令打开core-site.xml配置文件


cd /app/hadoop-1.1.2/conf


sudo vi core-site.xml


2.    在配置文件中,按照如下内容进行配置 


<configuration>


  <property>


    <name>fs.default.name</name>


    <value>hdfs://hadoop:9000</value>


  </property>


  <property>


    <name>hadoop.tmp.dir</name>


    <value>/app/hadoop-1.1.2/tmp</value>


  </property>


</configuration>


clip_image057[1]


2.3.5配置hdfs-site.xml


1.    使用如下命令打开hdfs-site.xml配置文件


cd /app/hadoop-1.1.2/conf


sudo vi hdfs-site.xml


2.    在配置文件中,按照如下内容进行配置


<configuration>


  <property>


    <name>dfs.replication</name>


    <value>1</value>


  </property>


  <property>


    <name>dfs.name.dir</name>


    <value>/app/hadoop-1.1.2/hdfs/name</value>


  </property>


  <property>


    <name>dfs.data.dir</name>


    <value>/app/hadoop-1.1.2/hdfs/data</value>


  </property>


</configuration>


clip_image059[1]


2.3.6配置mapred-site.xml


1.    使用如下命令打开mapred-site.xml配置文件


cd /app/hadoop-1.1.2/conf


sudo vi mapred-site.xml


2.    在配置文件中,按照如下内容进行配置


<configuration>


  <property>


    <name>mapred.job.tracker</name>


    <value>hadoop:9001</value>


  </property>


</configuration>


clip_image061[1]


2.3.7配置mastersslaves文件


1.    设子主节点


cd /app/hadoop-1.1.2/conf


vi masters


设置hadoop机器为master节点


clip_image063[1]


2.    设置从节点


cd /app/hadoop-1.1.2/conf


vi slaves


设置hadoop机器为slaves节点,即本身即是master也是slaves节点


clip_image063[2]


2.3.8格式化namenode


hadoop机器上使用如下命令进行格式化namenode


cd /app/hadoop-1.1.2/bin


./hadoop namenode -format


clip_image065[1]


2.3.9启动hadoop


cd /app/hadoop-1.1.2/bin


./start-all.sh


clip_image067[1]


2.3.10  jps检验各后台进程是否成功启动


使用jps命令查看hadoop相关进程是否启动


clip_image069[1]


这时我们发现少了一个DataNode进程,到$HADOOP_HOME/logs目下,使用cat hadoop-shiyanlou-datanode-5****.log***表示所在机器名)查看日志文件,可以看到在日志中提示:Invalid directory in dfs.data.dir:Incorrect permission for /app/hadoop-1.1.2/hdfs/data, expected:rwxr-xr-x, while actual: rwxrwxr-x


clip_image071[1]


sudo chmod 755 /app/hadoop-1.1.2/hdfs/data


重新启动hadoop集群,可以看到DataNode进程。


大数据营销
编辑推荐
图片行业资讯
  • 雷军隔空喊话董明珠:格力 小米欢迎你
  • 杨元庆:Moto在华上市一周预定量超100万
  • 小米洪锋谈O2O布局:做商城不做具体服务
  • 盖茨向不知名实体捐赠15亿美元微软股票 持股降至3%
  • 刘强东:允许我获取数据 冰箱免费送给你
营销资讯搜索
大数据营销
推荐工具
    热点关注
    大数据营销
    大数据营销
    大数据营销
    大数据营销
     

    大数据营销之企业名录

    网络营销之邮件营销

    大数据营销之搜索采集系列

    大数据营销之QQ号采集

    大数据营销之QQ精准营销

    大数据营销之QQ消息群发

    大数据营销之空间助手

    大数据营销之QQ联盟

    大数据营销之QQ群助手
     
    设为首页 | 营销资讯 | 营销学院 | 营销宝典 | 本站动态 | 关于网赢中国 | 网站地图 | 网站RSS | 友情链接
    本站网络实名:网赢中国  国际域名:www.softav.com  版权所有 2004-2015  深圳爱网赢科技有限公司
    邮箱:web@softav.com 电话:+86-755-26010839(十八线) 传真:+86-755-26010838
    在线咨询:点击这里给我发消息 点击这里给我发消息 点击这里给我发消息  点击这里给我发消息  点击这里给我发消息

    深圳网络警
    察报警平台
    公共信息安
    全网络监察
    经营性网站
    备案信息
    不良信息
    举报中心
    中国文明网
    传播文明
    分享