hadoop多台机器集群的配置

  以前也配置过hadoop集群,但是很久没有重新去倒腾配置的细节,导致这次走了不少弯路。为了让后来的人少走弯路,也给我自己留个提醒,于是就有了这篇文章。

  首先配置这个集群主要包括三个部分。三个部分各自都有自己的milestone,可以在配置完之后运行相关的测试来校验是否配置成功。

  1.准备工作

  这之前最好是预先有了几台相同用户名(要特别注意,对于用户名不同的话ssh的时候还需要用户名的信息。)的VM或者主机。我用的三台VM用户名都是hzm 机器的ip分别为192.168.28.130,192.168.28.132,192.168.28.133. 为了省去每次都输入IP的烦恼,可以先把一台机器的/etc/hosts文件添加以下几行:

  192.168.28.130 master

  192.168.28.132 slave1

  192.168.28.133 slave2

  添加完之后,把这个文件scp到其余的两台机器的/etc/目录下。这样从ip到机器名的映射就可以了。这里简单说下scp命令。scp命令是用来在多台机器之间传送文件的,主要是从本地传文件到远程机器。用法如下:

  scp filename username@ip:~/ 注,ip之后的目录接着的是远程的目录(例:scp test.txt hzm@192.168.28.130:~ 是把text.txt 从本地传输到远程的主目录) 如果要传输目录到远程,则用scp -r foldername username@ip:~/ . 这样准备工作就做好了。

  2.配置java

  配置java的过程比较简单。而且每台机器的配置都一样,可以只配一台机器,之后scp到其他的机器即可。先在网上下载对应的java压缩包,用tar -xzvf jre***.tar 解压缩到一个目录(我是解压到home目录)。解压之后还需要配置下/etc/profile 文件,是为了系统能够找到你所配置的java。

  在/etc/profile的文件开始处添加以下三行

  export JAVA_HOME=/home/hzm/jre1.7.0_17

  export PATH=$JAVA_HOME/bin:$PATH

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

  配置完之后把/etc/profile 和java的目录 分别用scp传输到其他的主机上。完成之后三台机器上都可以运行java -version了就表示配置成功了。

  3. 配置ssh

  这个步骤算是比较麻烦的步骤,没办法在一台机器上完成然后scp到其他的机器。

  先每台机器都运行ssh-keygen ,这样就会在每台机器的用户主目录生成.ssh 文件夹。ssh配置的目标是不用密码就可以ping 通其他的机器。达到这一个目的需要有一个包括所有机器的id_rsa.pub的名为authorized_keys的文件,并放置在.ssh 目录中。

  具体的步骤如下:

  1.先在每台机器上分别运行ssh-keygen

  2.从第一个机器开始,先 cat .ssh/id_rsa.pub>>authorized_keys 然后scp authorized_keys文件到第二台机器

  3.然后在第二台机器上接收到了authorized_keys文件后,再用cat .ssh/id_rsa.pub>>authorized_keys 把本机的id_rsa.pub内容追加到authorized_keys文件中。

  4. 依次方法做下去,直到authorized_keys包含了所有机器中的id_rsa.pub的内容。用scp 把这个文件复制到所有的机器。放在.ssh 目录下。

  5. 这个时候就应该配置完成了。可以在每台机器上试试,ssh ip 是不是可以无密码登陆了。用exit可以退出登陆。如果每台机器都可以不需要密码ssh 到其他的机器就表示这一步完成了。

4.配置hadoop
这次我配置的hadoop的版本是hadoop-1.1.2 。配置一点几的版本基本上都差不多。注意,配置hadoop在一台机器上配置好整个hadoop目录的内容,之后只需要将hadoop整个文件夹scp到其他的机器就可以了。
主要配置六个配置文件
1. hadoop-env.sh
将java home的目录配置好,这步不用多说。
2. core-site.xml
< configuration>
< property>
< name>fs.default.name</name>
< value>hdfs://master:49000</value>
< /property>
< property>
< name>hadoop.tmp.dir</name>
< value>/home/hadooper/hadooptmp</value>
< /property>
< /configuration>
3.hdfs-site.xml
< configuration>
< property>
< name>dfs.replication</name>
< value>2</value>
< /property>
< /configuration>

4.mapred-site.xml
< configuration>
< property>
< name>mapred.job.tracker</name>
< value>localhost:49001</value>
< /property>
< /configuration>

5. masters 文件
我的文件内容为

master

因为此前已经配置好hosts文件,把ip和机器名对应了起来。如果没有配置hosts文件,此处用对应的ip代替。

6. slaves 文件
我的文件内容为

slave1
slave2

同上

这样在一个机器上的hadoop文件夹就配置好了。现在就可以将这个文件夹用
scp -r hadoop-1.1.2 hzm@192.168.28.130:~ 来把整个hadoop文件夹复制到其他机器的用户主目录了。

复制完成之后,可以从master机器上启动hadoop。命令为
bin/hadoop namenode -format #格式化dfs
bin/start-all.sh #启动namenode datanode Jobstracker Taskstracker

不出意外的话,可以从 用浏览器master:50030 和master:50070上查看dfs和mapreduce的状态了。

5.其他
在配置的过程中,ssh的过程可能会遇到比较多的问题。这个时候除了以上介绍的方法外,可以去试着改变一下.ssh文件的目录。好像在一些系统下这个会导致.ssh 配置出现问题。如果在添加用户或者之类的文件出现了linux系统的问题,可以用recovery模式下更改权限等。另外尽量不要去直接编辑/etc/sudoers文件

时间: 2024-10-28 10:29:59

hadoop多台机器集群的配置的相关文章

spark streaming问题-六台机器集群,40M数据就报错,spark streaming运行例子程序wordcount

问题描述 六台机器集群,40M数据就报错,spark streaming运行例子程序wordcount 请大神帮忙解决一下:六台机器,SparkStreaming的例子程序,运行在yarn上四个计算节点(nodemanager),每台8G内存,i7处理器,想测测性能. 自己写了socket一直向一个端口发送数据,spark 接收并处理 运行十几分钟汇报错:WARN scheduler TaskSetManagerost task 0.1 in stage 265.0 :java.lang.Exc

【Big Data】HADOOP集群的配置(一)

                       Hadoop集群的配置(一) 1.    实验准备 1.1    目的: 在虚拟机环境下,让同学们学会从零开始配置Hadoop-2.2集群,并尝试在真实环境下搭建集群. 1.2    主要内容: 物理机器总共4台,想配置基于物理机的Hadoop集群中包括4个节点: 1 个 Master, 3个 Salve ,节点之间局域网连接,可以相互 ping通.IP的分布如表1所示.             表1        4个节点的IP地址分配及角色 Ma

Hadoop学习之ZooKeeper理论知识和集群安装配置

ZooKeeper集群安装配置和理论知识 1.   简介:zookeeper是Google的Chubby的一个开源实现,是hadoop的分布式协调服务 2.    Zookeeper(简称zk)包含一个简单的原语集,分布式应用程序可以给予它实现同步服务,配置维护和命名服务等 3.    Zk的设计目标 a)      简单化:通过共享体系的,命名空间进行协调,与文件系统相似,有一些数据寄存器组成,被称为Znode.Zk的数据是放在内存中的,zk可以达到高吞吐量.低延迟. Zk能用在大型.分布式的

完全分布模式hadoop集群安装配置之一安装第一个节点

  本系列文章讲述搭建完全分布模式hadoop的安装配置过程,还将讲述完全分布式模式的一些基本操作.准备采用先单机调通再加入节点的方式.本文只讲述单节点的安装和配置.   1. Namenode和JobTracker的安装       这是完全分布模式集群的第一台,也是很关键的一台.采用VMWARE虚拟的Ubuntu Linux 11.10  server版.安装Linux非本文重点就不说了. 默认建立了一个用户叫abc, 其有sudo权限.root的口令是随机的一个口令,只能用sudo命令暂时

完全分布模式hadoop集群安装配置之二 添加新节点组成分布式集群

前文说到如何搭建集群中第一个节点,这篇将说到如何向集群添加节点.这篇是基于前文的,没有看过前文的可以参考此链接:http://www.cnblogs.com/mikelij/archive/2012/03/06/2380937.html   2 向集群添加节点     前文已经建立了一个节点的hadoop集群.现在要做的添加节点.安装JDK, 创建hadoop用户等见前文.这里就不重复了.   2.1 检查主机名,修改/etc/hostname, /etc/hosts   新节点需要在这个集群里

【Big Data】HADOOP集群的配置(二)

Hadoop集群的配置(二) 2.8 节点之间的免密码通信 1.什么是SSH SSH是Secure Shell的缩写,由IETF的网络工作小组(Network Working Group)所制定:SSH为建立在应用层和传输层基础上的安全协议.SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用SSH协议可以有效防止远程管理过程中的信息泄露问题. 从客户端来看,SSH提供两种级别的安全验证. 第一种级别  基于口令的安全验证 只要知道自己的帐号和口令,就可以登录到远程主机.所有

《Hadoop集群与安全》一2.1 在Hadoop集群中配置操作系统

2.1 在Hadoop集群中配置操作系统 正如之前所提到的,Hadoop能够运行在几乎所有Linux版本的系统上.本章随后的讲解会将重点放在CentOS 6.x上,CentOS和Red Hat是Hadoop相关产品安装最为普及的平台.要掌握这些步骤并不难,对于Debian系统所有与配置Hadoop组件的步骤都是一致的,因此读者可以根据自身需求替换对应的包管理器. 2.1.1 选择和设置文件系统 现代Linux系统支持多种不同的文件系统:如EXT3.EXT4.XFS.BTRFS,等等.针对特定的工

集群安装配置Hadoop详细图解

集群安装配置Hadoop 集群节点:node4.node5.node6.node7.node8.具体架构: 操作系统为:CentOS release 5.5 (Final) 安装步骤 一.创建Hadoop用户组. 二.安装JDK.下载安装jdk.安装目录如下: 三.修改机器名,修改文件/etc/hosts.如下: 四.安装ssh服务.命令:yum install openssh-server. 五.建立ssh无密码登陆. (一)切换到hadoop用户.su – hadoop (二)创建ssh-k

[喵咪MQ(3)]RabbitMQ集群安装配置

[喵咪MQ(3)]RabbitMQ集群安装配置 w-blog博客 在各项生产环境使用中,容灾总是一个很重要的话题,如果单点故障会导致整个系统奔溃或者是丢失数据是不是好气好气的,领导会追着你问这是怎么了?你只能说是我们没有经验什么什么组件故障了,这个是低级玩法,高级玩法是配置好集群容灾,告诉老板死一两台机器宕机了没有事没有影响,所以我们今天就来讲讲RabbitMQ的集群模式... 附上: 喵了个咪的博客:w-blog.cn RabbitMQ官网 :http://www.rabbitmq.com/