当前位置: 首页 > 编程日记 > 正文

搭建Hadoop集群步骤

——基于三台机器

一、前提

1、  首先要有三台已联网机器,假设为A,B1,B2。其中A:192.168.81.91;B1:192.168.81.92;B2:192.168.81.93。机器装有Ubuntu10.04服务器版64位操作系统。

2、  对三台机器做相同的处理。为Hadoop集群的使用新增一个专门的用户,假设用户名和密码均为hadoop。然后使用hadoop用户账户登录到系统。具体操作步骤为:

?
$sudo useradd hadoop
$sudo passwd hadoop
$sudo groupadd hadoop
$sudo usermod -g hadoop hadoop
$sudo mkdir /home/hadoop
$sudo chown hadoop: hadoop /home/hadoop

3、  修改hostname和hosts文件。首先修改各机器上的/etc/hostname文件。我们假设A机器作为master,B1和B2作为slaver。则修改A机器的hostname文件内容为master。修改B1机器上的hostname文件内容为slaver1,修改B2机器上的hostname文件内容为slaver2。操作步骤为:

?
$sudo vim /etc/hostname
%进入了vim编辑器编辑hostname文件,假设为master
%完成后退出vim编辑器
$sudo hostname master
$hostname                     %查看是否成功

三台机器的hosts文件都相同,类似于以下内容,进入编辑方法与hostname文件编辑一致。

?
192.168.81.191    master
192.168.81.192    slaver1
192.168.81.193    slaver2

4、  在各机器上安装JDK1.6或者更高版本。在Ubuntu10.04服务器上自带openJDK,但这对于安装Hadoop不适用,必须安装sun-java JDK。安装方式如下:

?
$sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse"
$sudo apt-get update
$sudo apt-get install sun-java6-jdk
%然后弹出java安装界面,以此选择yes和ok可以完成sun-java6-jdk的安装。
%但是此时系统使用的JDK还是默认的open JDK,需要我们修改为已经安装的JDK
$sudo update-alternatives --config java

输入代表所安装sun-java6-JDK的数字,回车。OK,设置完成。可以用java –version命令验证。如果出现以下结果,则表明sun JDK已经安装完成。

5、  配置master用SSH免密码登录到所有slaver。使用ssh –version检查系统是否安装ssh。如果显示如下结果吗,则表明系统已安装SSH。

如果没有安装,请使用下面命令安装:

?
$sudo apt-get install ssh

系统安装ssh完成后就开始配置无密码登录了。需要对每台slaver都做相同的处理。以下操作是在master机器上对slaver1进行操作的步骤,slaver2类似。

?
$ls –al /home/hadoop
%看是否存在.ssh这个隐藏文件夹,一般情况下安装了ssh后会自动创建,如果没有可以使用命令mkdir /home/hadoop/.ssh创建。
$ssh-keygen -t -dsa -P ‘’ -f ~/.ssh/id_dsa
%以上命令是生成密钥,-t表示指定密钥类型(注意要小写),此处生成的是dsa密钥认证;-P用于提供密语(注意要大写),此处为空;-f指定生成的密钥文件,此处指定为 /home/hadoop/.ssh/id_dsa。
$cd ~/.ssh
$scp id_dsa.pub hadoop@slaver1:/home/hadoop/.ssh/ id_dsa.pub
%可能拷贝之前需要输入远程机器的密码,提示输入密码的时候输入slaver1的登录密码就行。OK,此时已经把master公钥拷贝到远程机器slaver1上了。下面到slaver1上进行操作:
$cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
%这句命令的意思是把公钥加到用于认证的公钥文件中。至此无密码登录slaver1已经设置完成。可以使用下面命令检验(在master下使用命令):
$ssh slaver1

二、安装hadoop(以下以hadoop-0.20.2为例)

?
%以下所有操作可以只在master上进行配置,配置完成后将hadoop-0.20.2目录整体复制到所有slaver机器,复制目录的命令为:
$scp -r ~/hadoop-0.20.2 hadoop@slaver1:~/

1、  首先下载hadoop,使用如下命令:

?
$cd ~
$wget http://mirror.bjtu.edu.cn/apache/hadoop/common/hadoop-0.20.2/ hadoop-0.20.2.tar.gz

2、  解压下载的hadoop压缩包,使用ls命令可以查看是否已下载并在当前目录,命令如下:

?
$ls –al
$tar –zxvf hadoop-0.20.2.tar.gz

3、  解压后可以在当前目录得到一个hadoop-0.20.2子目录。配置需要修改的文件全部位于该目录的子目录conf下面。使用cd hadoop-0.20.2/conf进入conf目录。修改文件使用vim编辑器。

(1)     修改hadoop-env.sh

添加内容:

(2)     修改core-site.xml

(3)     修改hdfs-site.xml

(4)     修改mapred-site.xml

(5)     修改masters

?
master

(6)     修改slaves

?
slaver1
slaver2

4、  为了方便hadoop使用,我们将hadoop的安装路径加到系统path中。使用如下命令:

?
$sudo vim ~/.bashrc

在文本编辑器下对.bashrc进行如下修改:

转载于:https://www.cnblogs.com/wuxi/archive/2013/01/05/2845823.html

相关文章:

使用DCloud+Framework7制作移动APP应用(一)

http://my.oschina.net/kenblog/blog/516201转载于:https://www.cnblogs.com/NodeStudy/p/5223273.html

nsq php,Nsq从入门到实践

当nsq跑起来之后, 我们可能会遇到以下问题分布式部署处理错误(何时requeue)如何使用golang lib抱着不应该只停留在入门的态度, 笔者粗浅的研究了一下这几个问题, 希望也对有同样疑问的人有帮助.部署由于NSQ的分布式网络结构, NSQD必须广播(到lookup)自己的地址并让消费者连接, …

Java单元测试之JUnit4详解

2019独角兽企业重金招聘Python工程师标准>>> Java单元测试之JUnit4详解 与JUnit3不同,JUnit4通过注解的方式来识别测试方法。目前支持的主要注解有: BeforeClass 全局只会执行一次,而且是第一个运行Before 在测试方法运行之前运行…

Java 学习笔记 ------第二章 从JDK到IDE

本章学习目标: 了解与设定PATH了解与指定CLASSPATH了解与指定SOURCEPATH使用package与import管理类别初步认识JDK与IDE的对应关系一、第一个Java程序 工具:使用Windows自带记事本或下载其他编辑器(推荐NotePad和Sublime) //第一个…

Delphi中的容器类(二)

TStrings类 出于效率的考虑,Delphi并没有象C和Java那样将字符串定义为类,因此TList本身不能直接存储字符串,而字符串列表又是使用非常广泛的,为此Borland提供了TStrings类作为存储字符串的基类,应该说是它除了TList…

Java怎么把数组怎么放入set,如何将数组转换为Java中的Set

回答(16)2 years ago我从上面的建议中写下了以下内容 - 偷了它......真好!/*** Handy conversion to set*/public class SetUtil {/*** Convert some items to a set* param items items* param works on any type* return a hash set of the input items*/public s…

vue组件定义、组件的切换、组件的通信、渲染组件的几种方式(标签、路由、render)...

vue中全局的概念是什么?---就是全局定义的功能,所有实例化的vm都可以使用, 全局定义的是挂在构造函数Vue上面的,所以实例化出的对象都可以使用这个功能 1、什么是组件?---从UI的角度把页面拆分成不同的部分&#xff0…

JS九九乘法表

来一个老生常谈的话题--九九乘法表&#xff0c;哈哈&#xff0c;好久不写了呢 <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title></title><style>th{border: #ccc 1px solid;font-weight: n…

Php Fatal error: Allowed memory size of 33554432 bytes exhausted 的解决办法

Php Fatal error: Allowed memory size of 33554432 bytes exhausted 的解决办法 在 php.ini 配置文档里面&#xff0c;默认的memory_limit 属性值为32M &#xff0c;值设置得太小了而导致这个问题的出现。 解决这个问题&#xff0c;我们一般有三种方式&#xff1a; 1、修改PHP…

php 自加 性能,对于数据库的自增、自减心得

系统研发过程中会有很多地方涉及到自增、自减操作 如&#xff1a;加入版块时&#xff0c;用户版块数自增1&#xff0c;版块用户数自增1&#xff1b;退出版块时&#xff0c;用户版块数要减1&#xff0c;版块用户数也要减1这里推荐&#xff1a;1.自增可以用2.自减不要用&#xff…

Linux rsync目录同步功能实现

实现目标:A 服务器上 /opt/web 目录,与B服务器上 /opt/web目录实现同步。即&#xff1a;B主动与A进行同步。OS: Reaht AS4A Server 192.168.1.2 /opt/webB Server 192.168.1.3 /opt/web一. A Server config1.rsync 系统自带, 需要使用 --deamon 方式进行启动,服务端口是 TCP …

宏定义的布局约束

*自适应向布局约束的转化关闭*/ #define PREPCONSTRAINTS(VIEW) [VIEW setTranslatesAutoresizingMaskIntoConstraints:NO] #define CONSTRAIN(PARENT, VIEW, FORMAT) [PARENT addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:(FORMAT) options:0 metrics:nil…

项目中WebService使用Spring容器的配置

<context:component-scan base-package"com.huawei.support"> <context:include-filter type"annotation" expression"org.aspectj.lang.annotation.Aspect" /> </context:component-scan> 扫描采用注解…

java 静态代码块 多线程,Java多线程编程笔记10:单例模式

立即加载&#xff1a;“饿汉模式”立即加载就是指使用类的时候已经将对象创建完毕&#xff0c;常见的实现方法就是直接new实例化。也就是在调用方法前&#xff0c;实例就被创建了。示例代码如下所示&#xff1a;class MyObject{private static MyObject myObjectnew MyObject()…

创业笔记-Node.js入门之阻塞与非阻塞

阻塞与非阻塞 正如此前所提到的&#xff0c;当在请求处理程序中包括非阻塞操作时就会出问题。但是&#xff0c;在说这之前&#xff0c;我们先来看看什么是阻塞操作。 我不想去解释“阻塞”和“非阻塞”的具体含义&#xff0c;我们直接来看&#xff0c;当在请求处理程序中加入阻…

vs 添加ico图 到资源

有时候想用自己做的ico 文件作为程序的图标来取代VS 程序默认的图标&#xff1b;在VS2005 资源视图中&#xff0c;打开Icon 上右击-->Add resource -->Import -->选择自己的ico 文件会跳出个错误框&#xff0c;说VS不支持32 位彩色图片&#xff1b; 网上搜索说VS不支…

HIVE QL 杂记

最近要处理用户访问日志&#xff0c;需要从HIVE中取数据&#xff0c;写了一些HIVE QL&#xff0c;有一点小感想&#xff0c;记录在此。 1. 临时表 在HIVE中进行多表连接时&#xff0c;可以给一些临时表命名&#xff0c;这样有助于理清查询语句之间的逻辑&#xff0c;格式为&…

java和内存交互,java内存模型-内存间交互操作

前言本文是阅读周志明大佬的《深入理解Java虚拟机&#xff1a;JVM高级特性与最佳实践(第3版)》第12章&#xff0c;12.3节Java内存模型得来的读书笔记。阅读告警&#x1f602;&#x1f602;&#x1f602;&#xff0c;本文可能会有点枯燥&#xff0c;大部分内容都是对书中内容做一…

文件读写io操作范例

系统io读写&#xff0c;copy int main(int argc, char **argv) { if(argc ! 3) { printf("Usage: %s <src> <dst>\n", argv[0]); exit(0); } int fd1, fd2; fd1 open(argv[1], O_RDONLY); fd2 open(argv[2], O_CREAT | O_TRUNC | O_WRONLY); if(…

一步步教你编写redactor的插件

Redactor是一款JQuery框架下的所见即所得在线HTML编辑器&#xff0c;具有常用的功能如图片/文件上传、表格、格式化等等&#xff0c;不仅轻量级和跨浏览器&#xff0c;还支持各种平台如PC、Mac、iPad, iPhone、Android、Refrigerators&#xff0c;更重要的它能够自动保存、自动…

windows系统杀掉explorer.exe进程后黑屏

使用“Ctrl Shift ESC”打开任务管理器 文件----> 运行新任务---->运行explorer即可 转载于:https://www.cnblogs.com/mrnx2004/p/11065573.html

php 自动返回,PHP实现自动识别Restful API的返回内容类型

如题&#xff0c;PHP如何自动识别第三方Restful API的内容&#xff0c;自动渲染成 json、xml、html、serialize、csv、php等数据&#xff1f;其实这也不难&#xff0c;因为Rest API也是基于http协议的&#xff0c;只要我们按照协议走&#xff0c;就能做到自动化识别 API 的内容…

WebKit、Gecko使用图形库

2008年11月30日 星期日 上午 01:20阅读了之后&#xff0c;觉得作为浏览器内核WebKit、Gecko&#xff0c;为了能高效美观的显示页面的内容&#xff0c;选择适当的图形库非常重要。如果图形库选择不当&#xff0c;往往会导致页面上显示的文字、图片不美观&#xff0c;看起来总让人…

office使用技巧

Word绝招:一、 输入三个“”&#xff0c;回车&#xff0c;得到一条双直线&#xff1b;二、 输入三个“~”&#xff0c;回车&#xff0c;得到一条波浪线&#xff1b;三、 输入三个“*”或 “-”或 “#”&#xff0c;回车&#xff0c;惊喜多多&#xff1b;在单元格内输入now&…

怎样用matlab打开mw文,C# matlab混合编程 MWArray使用笔记

C# matlab混合编程徐凯Email&#xff1a;xukai19871105http://www.doczj.com/doc/1a6e191fff00bed5b9f31dbf.html这几天突然想搞一搞以前没有搞定的MATLABC#混合编程&#xff0c;今天把原来编写的代码拿出来看看&#xff0c;然后结合网上一些正确的和一些错误的代码看看&#x…

【Android OpenGL ES】阅读hello-gl2代码(二)Java代码

AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"com.android.gl2jni"><applicationandroid:label"string/gl2jni_ac…

activiti任务TASK

一、概要 设计TASK的表主要是&#xff1a;ACT_RU_TASK&#xff0c;ACT_HI_TASKINST&#xff08;见参考-activiti表&#xff09;&#xff1b;任务主要有&#xff1a;人工任务&#xff08;usertask&#xff09;,服务任务&#xff08;servicetask&#xff09;等&#xff1b;候选人…

matlab数值分析拟合实例,数值分析函数拟合matlab代码.doc

数值分析函数拟合matlab代码.doc 第一题MATLAB代码用SPLINE作图XI0204060810YI098092081064038X10012Y1NEWTON3XI,YI,X源代码见M文件Y2SPLINEXI,YI,XPLOTXI,YI, O ,X,Y1, R ,X,Y2, K 用CSAPE作图XI0204060810YI098092081064038X10012Y1NEWTON3XI,YI,X源代码见M文件PPCSAPEXI,YI…

ArrayList Iterator remove java.lang.UnsupportedOperationException

在使用Arrays.asList()后调用add&#xff0c;remove这些method时出现 java.lang.UnsupportedOperationException异常。这是由于Arrays.asList() 返回java.util.Arrays$ArrayList&#xff0c; 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList&#xff0c;rem…

android中方法调用super(..)的相关知识

java中的多态有重写 方法被子类重写后 父类的原方法就会被隐藏 当你又需要调用父类所定义的原方法 这个时候就可以用super来调用super调用指向了父类&#xff0c;在一些调用里可以很巧妙的利用&#xff0c;比如监听返回键了在onKeyDown的方法里&#xff0c;如果想让系统对back…