hadoop多台机器集群的配置 【百科全说】-凯发k8官方旗舰厅

腾讯视频/爱奇艺/优酷/外卖 充值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 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
< 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 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文件

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. 系统配置检查完成后,运行下一步
网站地图