硬件环境:

安装一个Hadoop集群时,需要专门指定一个服务器作为主节点。

三台虚拟机搭建的集群:(搭建集群时主机名不能一样,主机名在/etc/hostname修改)

master机器:集群的主节点,驻留NameNode和JobTracker守护进程)

dbrg1  192.168.0.102

slaves机器:(集群的从节点,驻留DataNode和TaskTracker守护进程)

dbrg2  192.168.0.112

dbrg3  192.168.0.113

这三台机器都安装好了hadoop-0.20.2,JDK和ssh。

安装方法参考上一篇博文。

共有3台机器,均使用的linux系统,Java使用的是sun
jdk1.7.0。

1. 修改主机名和IP地址

vi /etc/hostname(分别给每一台主机指定主机名)

vi /etc/hosts(分别给每一台主机指定主机名到IP地址的映射)

这里有一点需要强调的就是,务必要确保每台机器的主机名和IP地址之间能正确解析。一个很简单的测试办法就是ping一下主机名,比如在dbrg1上pingdbrg2,如果能ping通就OK!若不能正确解析,可以修改/etc/hosts文件,如果该台机器作Namenode用,则需要在hosts文件中加上集群中所有机器的IP地址及其对应的主机名;如果该台机器作Datanode用,则只需要在hosts文件中加上本机IP地址和Namenode机器的IP地址。

1.   三台机器都要修改/etc/hosts。

在dbrg1中添加:

192.168.0.102 dbrg1  dbrg1

192.168.0.112  dbrg2  dbrg2

192.168.0.113  dbrg3  dbrg3

在dbrg2中添加:

192.168.0.102 dbrg1 dbrg1

192.168.0.112 dbrg2 dbrg2

在dbrg3中添加:

192.168.0.102 dbrg1 dbrg1

192.168.0.113 dbrg3 dbrg3

2.免密码SSH设置

(1) 在三台机器上安装ssh,启动ssh-server。

sudo apt-get install openssh-server

sudo /etc/init.d/ssh start

ps -e|grep ssh       //这个是检验命令

(2)在dbrg1上生成密钥对。

ssh-keygen  -t  -rsa //然后一直enter,按照默认的选项生成的密钥对保存在.ssh/id_rsa文件中

进入.ssh目录,输入

cp id_rsa.pub authorized_keys

执行 ssh localhost 看看需不需要输入命令

(3)远程拷贝

生成好后,需要将该文件传到dbrg2和3上

在dbrg1中的.ssh目录中,输入

scp authorized_keys dbrg2:/home/dbrg/.ssh/

scp authorized_keys dbrg3:/home/dbrg/.ssh/

说明:如果提示在dbrg2和3上没有此目录,记得创建。此处是需要输入密码的。

(4)修改权限。在dbrg2和dbrg3上对该文件进行权限修改

打开.ssh,输入

chmod 644 authorized_keys

(5)配置修改

在三台服务器上对sshd服务进行配置,都需要修改。在sudo vi /etc/ssh/sshd_config中

修改:PasswordAuthentictation  no

AuthorizedKeyFile  /home/dbrg/.ssh/authorized_keys

(6)检验

在dbrg1上,ssh dbrg2,输入yes,这样以后访问都不需要输入密码了

同样ssh dbrg3,输入yes。

之后再检验下,看看需不需要输入密码

3.Hadoop环境配置

在dbrg1中,打开hadoop目录,ls下,发现了conf文件夹,这个里面全是配置,打开

(1)修改hadoop_env.sh,输入:

export HADOOP_HOME=/home/dbrg/HadoopInstall/hadoop

export JAVA_HOME=/usr/java/jdk1.7.0

说明:根据实际的安装路径来,这是我机子上的

(2) 修改masters

删除localhost,改为dbrg1

(3)修改slaves

删除,改为dbrg2、dbrg3

(4)修改core-site.html  //N啊么node IP地址及端口

在configuration之间加入:

<property>

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

<value>hdfs://dbrg1:9000</value>

<description>The name and URI of the default FS.</description>

</property>

(5)修改mapred-site.html      //Jobtracker 调度并记录任务的执行情况

在configuration之间加入:

<property>

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

<value>dbrg1:9001</value>

<description>Map Reduce jobtracker</description>

</property>

(6)修改hdfs-site.html     //block的文件副本数

在configuration之间加入:

<property>

<name>dfs.replication</name>

<value>2</value>

<description>Default block replication</description>

</property>

(7)环境配置的拷贝

利用scp命令将上面修改的文件,替代dbrg2和dbrg3中的相应文件

4.HDFS的运行

在dbrg1中初始化namenode,在hadoop目录下,输入

bin/hadoop namenode -format

然后再三台机器上都要bin/start-all.sh下,启动了

在dbrg1上可以查看,输入jps;或者可以通过http://dbrg1:50070查看

4. mapduce程序实例

参考网址:

http://blog.csdn.net/moodytong/article/details/6862020

http://www.cnblogs.com/welbeckxu/archive/2011/12/30/2306887.html

http://puxuanling.blog.163.com/blog/static/87476635201210704825265/

http://wenku.baidu.com/view/91e0240b52ea551811a68706.html

问题解决篇:

http://lwjlaser.iteye.com/blog/1443147

Hadoop分布式集群配置的更多相关文章

  1. CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  2. 超快速使用docker在本地搭建hadoop分布式集群

    超快速使用docker在本地搭建hadoop分布式集群 超快速使用docker在本地搭建hadoop分布式集群 学习hadoop集群环境搭建是hadoop入门的必经之路.搭建分布式集群通常有两个办法: ...

  3. 大数据系列之Hadoop分布式集群部署

    本节目的:搭建Hadoop分布式集群环境 环境准备 LZ用OS X系统 ,安装两台Linux虚拟机,Linux系统用的是CentOS6.5:Master Ip:10.211.55.3 ,Slave ...

  4. Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04

    前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...

  5. Hadoop分布式集群搭建

    layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...

  6. 暑假第二弹:基于docker的hadoop分布式集群系统的搭建和测试

    早在四月份的时候,就已经开了这篇文章.当时是参加数据挖掘的比赛,在计科院大佬的建议下用TensorFlow搞深度学习,而且要在自己的hadoop分布式集群系统下搞. 当时可把我们牛逼坏了,在没有基础的 ...

  7. 使用Docker在本地搭建Hadoop分布式集群

    学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟 ...

  8. 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)

    1)集群规划:主机名        IP      安装的软件                     运行的进程master    192.168.199.130   jdk.hadoop      ...

  9. hadoop分布式集群的搭建

    电脑如果是8G内存或者以下建议搭建3节点集群,如果是搭建5节点集群就要增加内存条了.当然实际开发中不会用虚拟机做,一些小公司刚刚起步的时候会采用云服务,因为开始数据量不大. 但随着数据量的增大才会考虑 ...

随机推荐

  1. ueditor显示内容末尾有多余标记的解决

    问题: 最近用了百度的ueditor文本编辑器,出现一个问题,用ueditor存数据到数据库都正常,但是重新读取后赋值到ueditor却会在末尾多出 "> 这两个符号.赋值方式如下: ...

  2. re模块与正则表达式

    一.正则表达式概念 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科 ...

  3. 服务器开发之CGI后门

    1.html代码 <form id = "form" name="form" method="post" action=". ...

  4. 淘宝地址爬取及UI展示

    淘宝地址爬取及UI展示 淘宝国家省市区街道获取 参考 foxiswho 的 taobao-area-php 部分代码,改由c#重构. 引用如下: Autofac MediatR Swagger Han ...

  5. WEB消息推送-框架篇

    WEB消息推送-comet4j 一.comet简介: comet :基于 HTTP长连接的“服务器推”技术,是一种新的 Web 应用架构.基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程 ...

  6. ABP官方文档翻译 6.3 本地化

    本地化 介绍 应用程序语言 本地化源 XML文件 注册XML本地化源 JSON文件 注册JSON本地化源 资源文件 自定义源 当前语言是如何决定的 ASP.NET Core ASP.NET MVC 5 ...

  7. Jquery里面种的 JSON.parse() 与JSON.stringify() 的区别

    JSON.parse()与JSON.stringify()的区别   JSON.parse()[从一个字符串中解析出json对象] Demo: //定义一个字符串 var data='{"N ...

  8. Kibana安装配置

    Kibana 是一个开源的分析和可视化平台,是ELK的重要部分.Kibana提供搜索.查看和与存储在 Elasticsearch 索引中的数据进行交互的功能.开发者或运维人员可以轻松地执行高级数据分析 ...

  9. xftp上传失败之解决办法

    修改/usr/local 文件夹权限 rwx 为不可读不可写第三方不可访问 报错 传输状态 恢复文件夹/usr/local 读写第三方访问权限 成功上传

  10. opencv-python与c++ opencv中的一些区别和基础的知识

    使用opencv-python一段时间了,因为之前没有大量接触过c++下的opencv,在网上看c++的一些程序想改成python遇到了不少坑,正好在这里总结一下. 1.opencv 中x,y,hei ...