hadoop多台机器集群的配置 【百科全说】-今日足球竞猜

腾讯视频/爱奇艺/优酷/外卖 充值4折起

以前也配置过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 [email protected]:~/ 注,ip之后的目录接着的是远程的目录(例:scp test.txt [email protected]:~ 是把text.txt 从本地传输到远程的主目录) 如果要传输目录到远程,则用scp -r foldername [email protected]:~/ . 这样准备工作就做好了。

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
< value>hdfs://master:49000
< /property>
< property>
< name>hadoop.tmp.dir
< value>/home/hadooper/hadooptmp
< /property>
< /configuration>
3.hdfs-site.xml
< configuration>
< property>
< name>dfs.replication
< value>2
< /property>
< /configuration>

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

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

master

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

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

slave1
slave2

同上

这样在一个机器上的hadoop文件夹就配置好了。现在就可以将这个文件夹用
scp -r hadoop-1.1.2 [email protected]:~ 来把整个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文件

12/08 23:59
一、corosync、pacemaker介绍 corosync是用于高可用环境中的提供通讯服务的,它位于高可用集群架构中的底层(message layer),扮演着为各节点(node)之间提供心跳信息传递这样的一个角色; pacemaker是一个开源的高可用资源管理器(crm),位于ha集群架构中资源管理、资源代理(ra)这个层次,它不能提供底层心跳信息传递的功能,它要想与对方节点通信需要借助底层的心跳传递服务,将信息通告给对方。通常它与corosync的结合方式有两种: pacemaker作为
06/17 10:41
日常无论测试环境还是生产环境,在进行多台服务器(集群)安装配置的时候,经常需要对集群内服务器ssh访问做免密码设置.比如hadoop.hbase等集群的安装配置,或者多台服务器为便于后续运维也需要做ssh免密配置. 结合近期搭建测试环境的过程,对如何快速给多台服务器做相互ssh访问免密配置做一个说明.主要分为几个步骤:修改主机名称.配置汇聚服务器的秘钥.汇聚其他服务器秘钥.拷贝汇聚秘钥文件.生成know_hosts文件.拷贝know_hosts文件. 1.集群规划 主机ip 主机名称 10.14
10/05 13:23
centos 7下怎么搭建高可用集群。高可用集群是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。那么新的centos下怎么来搭建高可用集群。 环境:本文以两台机器实现双集热备高可用集群,主机名node1的ip为192.168.122.168 ,主机名node2的ip为192.168.122.169 。 一、安装集群软件必须软件pcs,pacemaker,corosync,fence-
10/06 21:26
centos 7下怎么搭建高可用集群。高可用集群是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。那么新的centos下怎么来搭建高可用集群。 环境:本文以两台机器实现双集热备高可用集群,主机名node1的ip为192.168.122.168 ,主机名node2的ip为192.168.122.169 。 一、安装集群软件必须软件pcs,pacemaker,corosync,fence-agents
03/20 16:53
linux集群原理 linux集群系统包括集群节点和集群管理器两部分。集群节点有时简称为节点、服务器或服务器节点,是提供处理资源的系统,它进行集群的实际工作。一般来讲,它必须进行配置才能成为集群的一部分,也必须运行集群的应用软件。应用软件可以是专用于集群的软件,也可以是设计用于分布式系统的标准软件。linux集群管理器则是将节点捆绑在一起,以构成单一系统外观的逻辑结构,它用于将任务分解到所有的节点。 集群因多种不同的原因而有着不同的类型,建立linux集群的最直接原因是共享cpu资源,在多个机器
02/09 03:34
linux环境:centos6.4 hadoop版本:hadoop-1.1.2 master: 192.168.1.241 namenode jobtracker datanode tasktracker slave:192.168.1.242 datanode tasktracker 内容:想hadoop文件系统中上传一个大文件,验证文件分别分布在192.168.1.241节点和192.168.1.242节点上。 第一步: 前期工作:搭建hadoop集群, 在hdfs-site.xml中的配置
12/14 18:22
lvs集群有dr.tun.nat三种配置模式,可以对www服务.ftp服务.mail服务等做负载均衡,下面通过搭建www服务的负载均衡实例,讲述基于dr模式的lvs集群配置. 一. director server的配置 在director server上配置lvs负载均衡集群,有两种方法: a. 通过ipvsadm命令行进行配置 b. 通过redhat提供的工具piranha来配置lvs 通过ipvsadm命令行方式配置lvs 安装ipvs后,就可以配置lvs集群了,首先在director se
12/19 21:57
在vmware 中配置集群 1. 进入command 命令窗口执行以下命令,创建仲裁磁盘和共享数据磁盘 vmware-vdiskmanager.exe -c -s 200mb -a lsilogic -t 2 f:/vm/share/windows/sqlserver/quorum.vmdk vmware-vdiskmanager.exe -c -s 4gb -a lsilogic -t 2 f:/vm/share/windows/sqlserver/sharedisk.vmdk 2. 添加新磁
12/16 18:18
安装 sqlserver2005 集群 1. 安装msdtc ,打开控制面板,添加删除程序,添加删除windows 组件,选择应用服务器,选择启用网络dtc 访问 2. 安装完成后,在集群管理 器中添加资源msdtc 3. 选择所有的节点即可 4. 选择msdtc 依存关系,资源包括磁盘q( 仲裁盘) 和群集名 5. 在集群管理中,选中msdtc 后,点击右键进行联机 6. 安装sqlserver ,选择disk1 进行安装 7. 点击下一步 8. 下一步 9. 系统配置检查完成后,运行下一步