(主要参照http://os.51cto.com/art/201211/363116.htm)

一、概述

其实,网上关于Hadoop集群的配置的资料不可谓不少,但是,细细找来,多半是在有图形桌面的环境下搭建的。而我们知道,真正要运行Hadoop集群,我们想要更多的资源用来集中数据的处理与稳定,最理想的莫过于用类UNIX系统的服务器版本,更好面对要核心——要解决的问题,而不用浪费资源去做可视化,去显示什么。但是真正要用服务器版类UNIX的OS,面对无图形界面的操作系统,要想像平时用OS那么自然,可也绝非易事,好在网上资源不少,东找西凑,也算是最终完成了任务。

好了,言归正转,还是就核心要解决的问题来讲述吧

搭建Hadoop集群的大致步骤都一样;

1、      选择好虚拟机,下载并安装好,然后在用中熟悉下,虚拟机有很多:VirtualBox,KVM、VMare公司的一系列的,什么ESXi(自己还想去弄清楚的,目前还不清楚)、Workstation、vSphere(自己还想去弄清楚的,目前还不清楚)等等;在这里,我选择了VMware Workstation9.0,是出于与前辈的虚拟镜像兼容,个人也推祟VirtualBox,一是其开源,二是因为其体积比VMware Workstation小得多,对于硬件资源紧张的人来说,尤其如此。

2、      下载好客户机要用的OS,并用虚拟机装入和新建虚拟机。这里,我先选择的是最新的Ubuntu12.10服务器版(64位),因为个人PC上内存还算较大,主机OS也是64位版的。

3、      在装好的虚拟机的客户机OS中下载和安装好JDK和Hadoop的相应版本,安装JDK是因为Hadoop是用JAVA写的,运行肯定需要JAVA支持,至于JDK,用的最广的是Sun公司的JDK,但是据《Hadoop:The definitive guide》的附录A(page:656)所说,其它版本的JDK也行,所以,这里就直接用Ubuntu资源库里所提供的OpenJDK。

4、      配置好SSH、JAVA_HOME(指向JDK的路径)和Hadoop的几个核心文件的配置——在hadoop-env.sh中指出JDK的路径、配置好Hadoop的conf目录下的core-site.xml  和Hadoop的HDFS的配置(conf目录下的hdfs-site.xml)和Hadoop的MapReduce 的配置(conf目录下的mapred-site.xml)

5、      确认好这台客户机的所有环境配置好后,再将其复制(克隆)到其它客户机中,然后各机IP、/etc/hosts和/etc/hostname作相应的改动

6、      测试Hadoop集群是否运行正常

二、详细步骤

1、搭建环境前的准备、计划:

VM中虚拟了4台机子,分别起名为:

master        (ubuntu 12.10 64bit,内存:2G,硬盘:80G),

son-1         (ubuntu 12.10 64bit,内存:1G,硬盘:80G),

son-2         (ubuntu 12.10 64bit,内存:1G,硬盘:80G),

son-3         (ubuntu 12.10 64bit,内存:1G,硬盘:80G)。

修改本机的host文件,

sudo gedit /etc/hosts

在后面添加内容为:

192.168.200.104 master
192.168.200.105 son-1
192.168.200.106 son-2
192.168.200.107 son-3

当然,本机的hostname,即在/etc/hostname文件中,应是

master

2、选择虚拟机,下载并安装好。

这个一般是傻瓜式的,如果能汉化,就汉化吧,这样对于我们的工作也轻松多了,这里,我选择的是VMware Workstation9.0;

3、下载好客户机要用的OS,并用虚拟机装入。

这里,我先选择的是最新的Ubuntu12.10服务器版(64位)。这里,VMware对其设置网卡为采用NAT或Bridged,反正只要是为了使客户机OS能够连接外网,这样,我们的客户机的服务器OS就可以直接下载SSH、OpenJDK和Hadoop等相关资源;

4、为本机(master)和子节点(son..)分别创建hadoop用户和用户组,

其实ubuntu和centos下创建用户还多少还是有点区别的。

ubuntu下创建:

先创建hadoop用户组:

sudo addgroup hadoop

然后创建hadoop用户:

sudo adduser -ingroup hadoop hadoop

centos 和 redhat 下创建:

sudo adduser hadoop

注:在centos 和 redhat下直接创建用户就行,会自动生成相关的用户组和相关文件,而ubuntu下直接创建用户,创建的用户没有家目录。

给hadoop用户添加权限,打开/etc/sudoers文件;

sudo gedit /etc/sudoers

按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。

在root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL,

hadoop  ALL=(ALL:ALL) ALL

5、客户机OS中下载和安装好JDK、SSH和Hadoop的相应版本

(1)为本机(master)和子节点(son..)安装JDK环境。

ubuntu下一条命令即可:

sudo apt-get install openjdk-7-jre

centos和redhat建议下载源码安装。

详见:http://www.db89.org/post/2012-07-02/centosjava

(2) 修改 本机(master)和子节点(son..)机器名

打开/etc/hostname文件;

sudo gedit /etc/(相应的hostname)

分别修改为:master   son-1   son-2   son-3  son-4。这样有利于管理和记忆!

请参照http://os.51cto.com/art/201211/363116.htm中相应章节

6、客户机的所有环境配置好后,再将其复制(克隆)到其它客户机

先将这个客户OS——master克隆出son-1、son-2、son-3

要将master机器上的文件一一复制到datanode机器上(son-1,son-2,son-3都要复制):(这里以son-1为例子)

1. 公钥的复制

scp ~/.ssh/id_rsa.pub hadoop@son-1:~/.ssh/id_rsa.pub.master

2. hostname文件的修改

打开/etc/hostname,这时去掉原来的内容,填入:son-1

3. hadoop文件夹的复制,其中的配置也就一起复制过来了!

scp -r /home/hadoop/hadoop hadoop@son-1:~

并且要将所有节点的hadoop的目录的权限进行如下的修改:

sudo chown -R hadoop:hadoop hadoop

这些东西都复制完了之后,datanode机器还要将复制过来的公钥追加到收信任列表:

在每个子节点的自己种都要操作。

cat ~/.ssh/id_rsa.pub.master >>  ~/.ssh/authorized_keys

这样环境已经基本搭建好了,现在开始测试一下。

7、            测试Hadoop集群是否运行正常

检验Hadoop 集群的固定步骤是——

(1)       先运行hadoop version命名,看是否出现Hadoop的版本信息,如果未出现,一般是JDK没装好或者是指向JDK的路径错误,路径指向没错误的话,就看是不是你对应所属的用户和组有没有相应权限;

(2)       再运行hadoop namenode –format命令,这个如果不能运行,尤其是出现找不到main class类的话,最直接的办法就是换一个版本的Hadoop试试,因为有可能你的Hadoop源来自不太完备的版本;最后运行start-dfs.sh命令和start-mapred.sh命令,如果出现相应的问题,建议首先不要忙着去Google、百度,即使要去,也先要将问题定位清楚,即看看DataNode的 logs目录中的日志,再去找解决办法,比如我就碰到一种情况是:各namenode、datanode和tasktracker、jobtracker运行正常,但hadoop dfsadmin –report却报告没有datanode活着,最后看了日志后去找相应问题的解决办法

http://serverfault.com/questions/392733/hadoop-slave-nodes-not-connecting,原来,这种情况理多的是出自ip设置的问题(而不是Hadoop的配置问题),最后我将/etc/network/interfaces中相应的127.0.1.1 master注释掉即解决了,这些问题解决了基本就没问题了;

(3)       最后就是运行下wordcount而已

效果如图(命令也可参照)

转载于:https://blog.51cto.com/xiaoyao3857/1059353

VMware Workstation 9下基于Ubuntu 12.10服务器版本的Hadoop集群的配置相关推荐

  1. 安装 Ubuntu 9.10 服务器版本系统全过程

    安装 Ubuntu 9.10 服务器版本系统全过程 最近搭建 Oracle 服务器,先装了一个 Ubuntu 服务器版本 Linux 系统.这里总结一下安装 Ubuntu 9.10 服务器版本系统全过 ...

  2. 在Hyper-V下安装Ubuntu 12.10

    十多年没有碰过Linux,当然,十多年前也仅仅是安装过.略微体验一番然后干掉.因为Node.js项目的需要,其中论证性的任务是在linux下安装开发环境,目的是今后能够测试,项目在windows服务器 ...

  3. hyper-v安装linux系统,Hyper-V下安装Ubuntu 12.10教程 虚拟机下安装系统教程

    一.发行版本的选择: 2.Server版还是桌面版? 不打算安装桌面版,准备安装服务器版本,然后手动的安装GUI部分,以避免装office之类我不需要的内容. 3.哪一个版本? 下载x86 12.10 ...

  4. Ubuntu 12.10 安装JDK、Hadoop全过程

    目睹这头大象是怎么跳的舞.以下是我在Ubuntu 12.10下面安装JDK以及Hadoop的整个过程. 说明:在最开始时,我在网上各处搜比较妥当的安装hadoop的方法,过程比较纠结:后来才发现直接在 ...

  5. CentOS7.0基于hadoop集群安装配置Hive

    前言 安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可(需要再有的namenode上安装),可以不在datanode节点的 ...

  6. Centos7下部署ceph 12.2.1 (luminous)集群及RBD使用

    原创,本文地址http://www.cnblogs.com/pcxie/p/7799372.html 前言 本文搭建了一个由三节点(master.slave1.slave2)构成的ceph分布式集群, ...

  7. oVirt 4.4.10三节点超融合集群安装配置及集群扩容(三)

    本篇主要记录安装及使用过程中遇到的问题<包含4.4.x, 4.5.x> 设置engine管理页面可以通过IP访问 ssh连接engine服务器并在/etc/ovirt-engine/eng ...

  8. Secure CRT 7.0 通过 SSH服务登录 Vmware 下的Ubuntu 12.04服务器

    首先,为了避免来回的在主机与虚拟机之间切换:其次,通过SSH可以实现远程登录,只是一个终端,锻炼自己使用VI编辑器及适应无窗口环境,今天花了大概一下午的时间,虽然最后还有一点瑕疵,可已经可以满足使用的 ...

  9. centos7基于阿里云授时服务器进行本地ntp集群配置

    centos7部署ntp服务 本地集群server端配置 安装软件包 修改配置 重启服务 检查状态 本地其他节点配置 安装软件包 修改配置 启动服务 检查状态 引言: ​ 本地物理服务器集群搭建ntp ...

最新文章

  1. 计算机在我国开始被应用于,(),计算机在我国也开始被应用于会计工作,并由此引出了“会计电算化”这一具有强烈中国特色的专 - 试题答案网问答...
  2. Java类和对象的初始化顺序
  3. 什么样的数据适合缓存?
  4. 操纵自如--页面内的配合与通信
  5. 用java分组查elasticsearch
  6. expected dense_10_input to have shape (13,) but got array with shape (1,)
  7. block,inline,inline-block的区别
  8. VS2017打开低版本的VS MVC架构的项目的时候需要修改的地方
  9. SpringBoot 指定静态资源路径
  10. php 自动寻路算法,PHP树-不需要递归的实现方法
  11. mac weka连接mysql_weka连接mysqllinux
  12. html运行页面一直处在加载状态的解决
  13. 2022年全国职业院校技能大赛网络安全赛卷(中职组)卷1
  14. 阿正喜欢的演讲系列连载(一):大法官约翰·罗伯茨-我祝你不幸(I Wish You Bad Luck)
  15. 移动支付服务商加盟/微信支付宝扫码支付代理加盟
  16. 迷你MVVM框架 avalonjs 入门教程
  17. STM32F411核心板固件库开发(四) ADC配置
  18. 简易留言簿系统-ASP.NET MVC (后台基本完成)
  19. html source type mp4,html5 – 获取MediaSource.isTypeSupported的mime类型
  20. 【ChatGPT初体验与Android的集成使用】

热门文章

  1. SNDA(上海)招聘中、高级ASP.NET开发人员(2名)
  2. PPT文字怎样规划 哪里可以代做PPT
  3. Openshift创建Router和Registry
  4. openstack学习笔记五 多节点部署之 rabbitmq信息中枢与元数据
  5. Elasticsearch之CURL命令的PUT和POST对比
  6. 2006年大话IT数码新潮
  7. 基于Debian9.3安装OpenVAS9.0(kali源)
  8. Linux网络设置2——虚拟机中的Linux和Windows网络互通设置
  9. ASP.net:查找框设默认
  10. 【转】Java代码操作Redis的sentinel和Redis的集群Cluster操作