ITPub博客

首页 > 大数据 > Hadoop > Redhat6下hadoop集群环境搭建

Redhat6下hadoop集群环境搭建

Hadoop 作者:刘宝的故事 时间:2013-07-15 18:49:06 0 删除 编辑


1基础环境

1.1背景

         过去一个多月的时间里,本人利用业余时间努力,认真的学习hadoop,前阵子我利用虚拟机搭建了一个伪分布环境,今天,我将这基础上搭建一个全分布式环境。

1.2软硬件环境

         硬件:虚拟机两个,都安装redhat-enterprise 6-i386 系统(有虚拟机就是好,多益我们这群穷L丝),机器名称分别取为master,node1。注:如果安装系统后需修改主机名称可以

通过修改/etc/sysconfig/network档案来完成。

         软件:安装JDK1.6.0_45,安装SSH(安装系统的时候已默认安装)。

1.3网络环境

         在搭建集群环境的过程中,必须保证两台虚拟机能彼此通信,所以,在安装虚拟机的时选择网络连接方式的时候选择Bridge方式,这样可以保证两台虚拟机被分配的Ip属在同一局域网内。下面是两台虚拟机的Ip:

master的Ip:192.168.1.102

node1的Ip:     192.168.1.104

         确定好两台机器的ip后,接下来修改两台机器的/etc/hosts档案,修改后的内容如下:

192.168.1.102         master

192.168.1.104     node1

1.4创建hadoop用户

         在两台机器上都创建一个名为hadoop的用户 和 组。

         $ groupadd hadoop

         $ useradd hadoop -g hadoop

1.5 SSH 访问设置

         该步骤是目的是生成无密码公钥(即在master端无需输入密码进可以通过SSH进去到node1下),预知更多请学习SSH相关知识, 设置步骤如下:

#在mater机器下切换到Hadoop 用户

su hadoop

cd  /home/hadoop/

 

#生成公钥和私钥

ssh-keygen  -t  rsa  #执行这句的时候一路敲enter键

cd  .ssh

cat  id_rsa.pub > authorized_keys 

chmod  go-wx  authorized_keys

#把公钥拷贝到node1的/home/hadoop/下

scp  id_rsa.pub node1@192.168.1.104:~/

 

#进入到node1的hadoop用户下

cd /home/hadoop/.ssh

cat ../id_rsa.pub> authorized_keys

 

通过上面的操作,SSH无密码登录设置就完成了,可以在master hadoop用户下执行

ssh node1 #如果能进入到node1的hadoop用户那说明就ok!

        

2集群配置

2.1集群总体概况图

         在本次集群配置中,master机器用来运行namenode 和 jobtracker这两个守护进程,同时也运行datanode(因为我只搞了两台虚拟机),node1用来运行datanode 和 tasktracker。

Redhat6下hadoop集群环境搭建

hadoop目录结构:

hadoop安装目录:/opt/modules/hadoop/hadoop-1.1.2/

name目录:/opt/data/hadoop/hdfs/name/

data目录:/opt/data/hadoop/hdfs/data/

namesecondary目录:/opt/data/hadoop/hdfs/namesecondary/

mapred目录:/opt/data/hadoop/hdfs/mapred/

 

2.2配置

把master上的整个hadoop安装目录拷贝到node1上。

在master上修改hadoop_install/conf/masters档案,修改后的内容如下:

master

在master上修改hadoop_install/conf/slaves档案,修改后的内容如下:

master

node1

分别在master和node1上完成下面操作,且保证修改内容一致:

修改hadoop-env.xml文件,设置JAVA_HOME的路径;

修改core-site.xml文件,内容如下:

 <!--

        

        

                   fs.default.name

                   hdfs://master:9000

        

        

                   fs.checkpoint.dir

                   /opt/data/hadoop/hdfs/namesecondary

        

        

                   fs.checkpoint.period

                   1800

             

        

                   fs.checkpoint.size

                   33554432

        

        

        

                   io.compression.codecs

         org.apache.hadoop.io.compress.DefaultCodec,org.apache.haddoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec

        

        

                   fs.trash.interval

                   1440

        

-->

修改hdfs-site.xml文件,内容如下:

<!--

        

                   dfs.name.dir

                   /opt/data/hadoop/hdfs/name

        

        

                   dfs.data.dir

                   /opt/data/hadoop/hdfs/data

        

        

                   dfs.http.address

                   master:50070

        

        

                   dfs.replication

                   2

        

        

                   dfs.block.size

                   67108864

        

        

                   dfs.permissions

                   false

        

 -->

修改mapred-site.xml文件,内容如下:

<!--

        

                   mapred.job.tracker

                   master:9001

        

        

                   mapred.local.dir

                   /opt/data/hadoop/mapred/mrlocal

                   true

        

        

                   mapred.system.dir

                   /opt/data/hadoop/mapred/mrsystem

                   true

        

        

                   mapred.tasktracker.map.tasks.maxinum

                   4

                   true

        

        

                   mapred.tasktracker.reduce.tasks.maxinum

                   2

                   true

        

        

                   io.sort.mb

                   32

                   true

        

        

                   mapred.child.java.opts

                   -Xmx64M

        

        

                   mapred.compress.map.output

                   true

        

 -->

2.3格式化namenode

         在master 执行:hadoop namenode -format,如无异常则打印如下日志:

 

Redhat6下hadoop集群环境搭建

         注:由于我是在之前的伪分布式环境基础上搭建此环节的,在master上已经format过namenode了,如果再次执行,会报错了。解决办法是把dfs.name.dir的配置目录删除掉再执行format就可以了。

2.4在master启动hdfs守护进程

[hadoop@master bin]$ start-dfs.sh

Redhat6下hadoop集群环境搭建

在master上查看hdfs守护进程启动结果:

Redhat6下hadoop集群环境搭建

在node1上查看datanode的启动结果:

Redhat6下hadoop集群环境搭建

2.5在master启动jobtrakcer守护进程

[hadoop@master bin]$ start-mapred.sh

Redhat6下hadoop集群环境搭建

在master上查看jobtrakcer守护进程启动结果:

Redhat6下hadoop集群环境搭建

 

在node1查看tasktracker启动结果:

Redhat6下hadoop集群环境搭建

 

到这里,就基本搭建好了一个两个节点的hadoop集群环境啦!开心吗?

 

2.6关闭hadoop

Redhat6下hadoop集群环境搭建

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21995998/viewspace-1120248/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-06-28