原帖地址: http://blog.csdn.net/nsrainbow/article/details/36629741

接上一个教程:http://blog.csdn.net/nsrainbow/article/details/36629339

本教程是在 Centos6 下使用yum来安装 CDH5 版本号的 hadoop 的教程。 假设没有加入yum源的请參考上一个教程:http://blog.csdn.net/nsrainbow/article/details/36629339

Hadoop架构图

  1. NameNode、DataNode和Client
    NameNode能够看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。

    NameNode会将文件系统的Meta-data存储在内存中,这些信息主要包含了文件信息、每个文件相应的文件块的信息和每个文件块在DataNode的信息等。
    DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同一时候周期性地将全部存在的Block信息发送给NameNode。

    Client就是须要获取分布式文件系统文件的应用程序。

  2. 文件写入
    Client向NameNode发起文件写入的请求。

    NameNode依据文件大小和文件块配置情况。返回给Client它所管理部分DataNode的信息。
    Client将文件划分为多个Block,依据DataNode的地址信息。按顺序写入到每个DataNode块中。

  3. 文件读取
    Client向NameNode发起文件读取的请求
    NameNode返回文件存储的DataNode的信息。
    Client读取文件信息。

開始安装非HA模式

1. 加入库key

  1. $ sudo rpm --import http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera

2. 安装CDH5

2.1 安装Resource Manager host

  1. $ sudo yum clean all
  2. $ sudo yum install hadoop-yarn-resourcemanager -y

2.2 安装 NameNode host

  1. $ sudo yum clean all
  2. $ sudo yum install hadoop-hdfs-namenode -y

2.3 安装 Secondary NameNode host

  1. $ sudo yum clean all
  2. $ sudo yum install hadoop-hdfs-secondarynamenode -y

2.4 安装 nodemanager , datanode, mapreduce (官方说明是在除了 Resource Manager以外的机子上装这些,可是我们如今就一台机子。所以就在这台机子上装)

  1. $ sudo yum clean all
  2. $ sudo yum install hadoop-yarn-nodemanager hadoop-hdfs-datanode hadoop-mapreduce -y

2.5 安装 hadoop-mapreduce-historyserver hadoop-yarn-proxyserver (官方说是在cluster中挑一台做host,可是我们就一台,就直接在这台上装)

  1. $ sudo yum clean all
  2. $ sudo yum install hadoop-mapreduce-historyserver hadoop-yarn-proxyserver -y

2.6 安装 hadoop-client (用户连接hadoop的client,官方说在client装,我们就直接在这台上装)

  1. $ sudo yum clean all
  2. $ sudo yum install hadoop-client -y

3. 部署CDH

3.1 配置计算机名(默认是localhost)

先看看自己的hostname有没有设置

  1. $ sudo vim /etc/sysconfig/network
  2. HOSTNAME=localhost.localdomain

假设HOSTNAME是 localhost.localdomain的话就改一下
HOSTNAME=myhost.mydomain.com
然后再执行下,保证马上生效

  1. $ sudo hostname myhost.mydomain.com

检查一下是否设置生效

  1. $ sudo uname -a

3.2 改动配置文件

先切换到root用户。免得每行命令之前都加一个sudo,所以下面教程都是用root角度写的

  1. $ sudo su -
  2. $ cd /etc/hadoop/conf
  3. $ vim core-site.xml

在 <configuration>...</configuration> 中添加

  1. <property>
  2. <name>fs.defaultFS</name>
  3. <value>hdfs://myhost.mydomain.com:8020</value>
  4. </property>

编辑hdfs-site.xml

  1. $ vim hdfs-site.xml

在 <configuration>...</configuration> 中加入

  1. <property>
  2. <name>dfs.permissions.superusergroup</name>
  3. <value>hadoop</value>
  4. </property>

3.3 配置存储目录

在 namenode 机子上配置 hdfs.xml 用来存储name元数据(我们仅仅有一台机,所以既是namenode又是datanode)

  1. $ vim hdfs-site.xml

改动dfs.name.dir 为 dfs.namenode.name.dir(dfs.name.dir已经过时),并改动属性值,一般来说我们的 /data 或者 /home/data 都是挂载大硬盘数据用的,所以把存储目录指向这个路径里面的目录比較较好

  1. <property>
  2. <name>dfs.namenode.name.dir</name>
  3. <value>file:///data/hadoop-hdfs/1/dfs/nn</value>
  4. </property>

在 datanode上配置 hdfs.xml 用来存储实际数据(我们仅仅有一台机,所以既是namenode又是datanode)

  1. $ vim hdfs-site.xml

添加dfs.datanode.data.dir(dfs.data.dir已经过时)配置

  1. <property>
  2. <name>dfs.datanode.data.dir</name>
  3. <value>file:///data/hadoop-hdfs/1/dfs/dn,file:///data/hadoop-hdfs/2/dfs/dn</value>
  4. </property>

建立这些目录

  1. $ mkdir -p /data/hadoop-hdfs/1/dfs/nn
  2. $ mkdir -p /data/hadoop-hdfs/1/dfs/dn
  3. $ mkdir -p /data/hadoop-hdfs/2/dfs/dn

改动目录用户

  1. $ chown -R hdfs:hdfs /data/hadoop-hdfs/1/dfs/nn /data/hadoop-hdfs/1/dfs/dn /data/hadoop-hdfs/2/dfs/dn

改动目录权限

  1. $ chmod 700 /data/hadoop-hdfs/1/dfs/nn

3.4 格式化namenode

  1. $ sudo -u hdfs hdfs namenode -format

3.5 配置 Secondary NameNode

在hdfs-site.xml中加入

  1. <property>
  2. <name>dfs.namenode.http-address</name>
  3. <value>0.0.0.0:50070</value>
  4. <description>
  5. The address and the base port on which the dfs NameNode Web UI will listen.
  6. </description>
  7. </property>

3.6 启动hadoop

  1. $ for x in `cd /etc/init.d ; ls hadoop-*` ; do sudo service $x start ; done
  2. Starting Hadoop nodemanager: [ OK ]
  3. starting nodemanager, logging to /var/log/hadoop-yarn/yarn-yarn-nodemanager-xmseapp03.ehealthinsurance.com.out
  4. Starting Hadoop proxyserver: [ OK ]
  5. starting proxyserver, logging to /var/log/hadoop-yarn/yarn-yarn-proxyserver-xmseapp03.ehealthinsurance.com.out
  6. Starting Hadoop resourcemanager: [ OK ]
  7. starting resourcemanager, logging to /var/log/hadoop-yarn/yarn-yarn-resourcemanager-xmseapp03.ehealthinsurance.com.out
  8. Starting Hadoop datanode: [ OK ]
  9. starting datanode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-datanode-xmseapp03.ehealthinsurance.com.out
  10. Starting Hadoop namenode: [ OK ]
  11. starting namenode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-namenode-xmseapp03.ehealthinsurance.com.out
  12. Starting Hadoop secondarynamenode: [ OK ]
  13. starting secondarynamenode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-secondarynamenode-xmseapp03.ehealthinsurance.com.out
  14. ...

都成功后用jps看下

  1. $jps
  2. 17033 NodeManager
  3. 16469 DataNode
  4. 17235 ResourceManager
  5. 17522 JobHistoryServer
  6. 16565 NameNode
  7. 16680 SecondaryNameNode
  8. 17593 Jps

4 client測试

打开你的浏览器输入 http://<hadoop server ip>:50070
假设看到
Hadoop Administration
DFS Health/Status
这种字样就成功进入了hadoop的命令控制台

Alex 的 Hadoop 菜鸟教程: 第3课 Hadoop 安装教程 - 非HA方式 (一台server)的更多相关文章

  1. Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)

    原帖地址:http://blog.csdn.net/nsrainbow/article/details/36629339 我们这个教程是在 centos  上安装cdh的教程,并且使用的是yum方式. ...

  2. Docker和Docker-compose安装教程以及docker-elk,docker-storm安装教程

    此安装教程仅供我自己安装配置时查看,其他的人不可以偷看!!! 安装Docker 1. Update package information, ensure that APT works with th ...

  3. MySQL官方教程及各平台的安装教程和配置详解入口

    官方文档入口: https://dev.mysql.com/doc/ 一般选择MySQL服务器版本入口: https://dev.mysql.com/doc/refman/en/ 在右侧有版本选择: ...

  4. hadoop分布式集群完全安装(非HA)

    一.各节点基础环境配置(最好每台都配置) 先输入su获取root权限 1修改主机名 输入vim /etc/sysconfig/network 改成: NETWORKING=yes HOSTNAME=m ...

  5. 【Hadoop离线基础总结】Hive的安装部署以及使用方式

    Hive的安装部署以及使用方式 安装部署 Derby版hive直接使用 cd /export/softwares 将上传的hive软件包解压:tar -zxvf hive-1.1.0-cdh5.14. ...

  6. 2018超详细sublime text3+python3.x安装配置教程(附常用插件安装教程)

    导读 本文是关于2018年7月最新版sublime text3+pythin3.x下载及安装配置教程,sublime text3版本为3176,python版本为3.7,安装环境是基于windows1 ...

  7. PL/SQL Developer安装教程以及汉化包安装教程

    一.安装PL/SQL 1.百度下载plsql破解版软件,官网只能使用30天 2.双击plsqldev906.exe进行安装,点击 iagree 3.默认是安装在c盘,可以根据自己需要更改安装目录 4. ...

  8. WordPaster.exe安装教程

      安装教程: Firefox控件安装教程 Chrome控件安装教程 Chrome 45+控件安装教程 相关问题: 提示Runtime Error错误 360拦截 Chrome启用npapi Fire ...

  9. Redis安装教程及可视化工具RedisDesktopManager下载安装

    Redis安装教程: 1. Windows下安装教程: 下载:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要 ...

随机推荐

  1. (转)SSH批量分发管理&非交互式expect

    目录 1 SSH批量分发管理 1.1 测试环境 1.2 批量管理步骤 1.3 批量分发管理实例 1.3.1 利用sudo提权来实现没有权限的用户拷贝 1.3.2 利用sudo提权开发管理脚本 1.3. ...

  2. (转) CentOS 7添加开机启动服务/脚本

    CentOS 7添加开机启动服务/脚本 原文:http://blog.csdn.net/wang123459/article/details/79063703 一.添加开机自启服务 在CentOS 7 ...

  3. os.popen('python hello_out.py')中Python程序执行时默认的当前路径为MS-DOS CMD的默认路径

    >>> import os >>> os.getcwd() 'D:\\pythonCode\\pp4e' >>> os.chdir('Stream ...

  4. 06-struts2与ognl的结合

    1 参数接收 2 配置文件中 1 Demo2Action package www.test.c_config; import com.opensymphony.xwork2.ActionSupport ...

  5. STL:map用法总结

    一:介绍 map是STL的关联式容器,以key-value的形式存储,以红黑树(平衡二叉查找树)作为底层数据结构,对数据有自动排序的功能.命名空间为std,所属头文件<map> 二:常用操 ...

  6. 统一latext在vsc的markdown+math和有道云笔记里的出发方式

    起因 前段时间在有道云笔记上写笔记,里面使用latex来记录数学符号,有道云的latex行内触发模式为 `$ latex $`, 之后我在visual studio code里面使用markdown+ ...

  7. 深入理解JavaScript系列(37):设计模式之享元模式

    介绍 享元模式(Flyweight),运行共享技术有效地支持大量细粒度的对象,避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类). 享元模式可以避免大量非常相似类的开销,在程序设 ...

  8. 详解ASP.NET MVC Model验证

    ASP.NET mvc的最好的优点之一就是支持Model验证,这个特性很方便你可以选择在定义Model的时候在字段中采用特性进行注解约定,也可以在代码中自己进行手动验证.下面就来细说一下ASP.NET ...

  9. 如何给swing加上alt+x和ctrl+x快捷键

    1.给菜单栏上的菜单alt+x快捷键非常简单: private JMenu helpInfo = new JMenu("帮助"); helpInfo.setMnemonic(Key ...

  10. javascript12个你必须掌握的技能

    网站建设的时候,作为码农,总喜欢写一些高效且省事的代码,这里,dbestech为你提供关于JavaScript的使用技巧点. 1. 空(null, undefined)验证 当我们创建了一个新的变量, ...