你好,游客 登录
背景:
阅读新闻

Hadoop分布式文件系统架构部署

[日期:2014-04-15] 来源:Linux社区  作者:yangcan918 [字体: ]

  hadoop是Apache开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用,如亚马逊、Facebook和Yahoo等等。对于我来说,最近的一个使用点就是服务集成平台的日志分析。服务集成平台的日志量将会很大,而这也正好符合了分布式计算的适用场景(日志分析和索引建立就是两大应用场景)。

  今天我们来实际搭建一下Hadoop 2.2.0版,实战环境为目前主流服务器操作系统CentOS 5.8系统。

  一、实战环境

  系统版本:CentOS 5.8x86_64

  JAVA版本:JDK-1.7.0_25

  Hadoop版本:hadoop-2.2.0

  192.168.149.128namenode  (充当namenode、secondary namenode和ResourceManager角色)

  192.168.149.129datanode1  (充当datanode、nodemanager角色)

  192.168.149.130datanode2  (充当datanode、nodemanager角色)

  二、系统准备

  1、Hadoop可以从Apache官方网站直接下载最新版本Hadoop2.2。官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独下载src 源码自行编译。(如果是真实线上环境,请下载64位hadoop版本,这样可以避免很多问题,这里我实验采用的是32位版本)

  1234 Hadoop下载地址

  http://apache.claz.org/hadoop/common/hadoop-2.2.0/

  Java 下载下载

  http://www.Oracle.com/technetwork/java/javase/downloads/index.html

  2、我们这里采用三台CnetOS服务器来搭建Hadoop集群,分别的角色如上已经注明。

  第一步:我们需要在三台服务器的/etc/hosts里面设置对应的主机名如下(真实环境可以使用内网DNS解析)

  [root@node1 hadoop]# cat /etc/hosts

  # Do not remove the following line, or various programs

  # that require network functionality will fail.

  127.0.0.1localhost.localdomain localhost

  192.168.149.128node1

  192.168.149.129node2

  192.168.149.130node3

  (注* 我们需要在namenode、datanode三台服务器上都配置hosts解析)

  第二步:从namenode上无密码登陆各台datanode服务器,需要做如下配置:

  在namenode 128上执行ssh-keygen,一路Enter回车即可。

  然后把公钥/root/.ssh/id_rsa.pub拷贝到datanode服务器即可,拷贝方法如下:

  ssh-copy-id -i .ssh/id_rsa.pub root@192.168.149.129

  ssh-copy-id -i .ssh/id_rsa.pub root@192.168.149.130

  三、Java安装配置

  tar  -xvzf  jdk-7u25-linux-x64.tar.gz &&mkdir -p  /usr/java/  ; mv  /jdk1.7.0_25    /usr/java/ 即可。

  安装完毕并配置java环境变量,在/etc/profile末尾添加如下代码:

  export JAVA_HOME=/usr/java/jdk1.7.0_25/

  export PATH=$JAVA_HOME/bin:$PATH

  export CLASSPATH=$JAVE_HOME/lib/dt.jar:$JAVE_HOME/lib/tools.jar:./

  保存退出即可,然后执行source  /etc/profile 生效。在命令行执行java -version 如下代表JAVA安装成功。

  [root@node1 ~]# java -version

  java version "1.7.0_25"

  Java(TM) SE Runtime Environment (build 1.7.0_25-b15)

  Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

  (注* 我们需要在namenode、datanode三台服务器上都安装Java JDK版本)

  四、Hadoop版本安装

  官方下载的hadoop2.2.0版本,不用编译直接解压安装就可以使用了,如下:

  第一步解压:

  tar  -xzvf  hadoop-2.2.0.tar.gz &&mv hadoop-2.2.0/data/hadoop/

  (注* 先在namenode服务器上都安装hadoop版本即可,datanode先不用安装,待会修改完配置后统一安装datanode)

  第二步配置变量:

  在/etc/profile末尾继续添加如下代码,并执行source /etc/profile生效。

  export HADOOP_HOME=/data/hadoop/

  export PATH=$PATH:$HADOOP_HOME/bin/

  export JAVA_LIBRARY_PATH=/data/hadoop/lib/native/

  (注* 我们需要在namenode、datanode三台服务器上都配置Hadoop相关变量)

  五、配置Hadoop

  在namenode上配置,我们需要修改如下几个地方:

  1、修改vi /data/hadoop/etc/hadoop/core-site.xml 内容为如下:

  <?xml version="1.0"?>

  <?xml-stylesheet type="text/xsl"href=\'#\'"  Put site-specific property overrides inthisfile. -->

  <configuration>

  <property>

  <name>fs.default.name</name>

  <value>hdfs://192.168.149.128:9000</value>

  </property>

  <property>

  <name>hadoop.tmp.dir</name>

  <value>/tmp/hadoop-${user.name}</value>

  <description>A base forother temporary directories.</description>

  </property>

  </configuration>

  2、修改vi /data/hadoop/etc/hadoop/mapred-site.xml内容为如下:

  <?xml version="1.0"?>

  <?xml-stylesheet type="text/xsl"href=\'#\'"  Put site-specific property overrides inthisfile. -->

  <configuration>

  <property>

  <name>mapred.job.tracker</name>

  <value>192.168.149.128:9001</value>

  </property>

  </configuration>

  3、修改vi /data/hadoop/etc/hadoop/hdfs-site.xml内容为如下:

  <?xml version="1.0"encoding="UTF-8"?>

  <?xml-stylesheet type="text/xsl"href=\'#\'" /name>

  <value>/data/hadoop/data_name1,/data/hadoop/data_name2</value>

  </property>

  <property>

  <name>dfs.data.dir</name>

  <value>/data/hadoop/data_1,/data/hadoop/data_2</value>

  </property>

  <property>

  <name>dfs.replication</name>

  <value>2</value>

  </property>

  </configuration>

  4、在/data/hadoop/etc/hadoop/hadoop-env.sh文件末尾追加JAV_HOME变量:

  echo "export JAVA_HOME=/usr/java/jdk1.7.0_25/">> /data/hadoop/etc/hadoop/hadoop-env.sh

  5、修改 vi /data/hadoop/etc/hadoop/masters文件内容为如下:

  192.168.149.128

  6、修改vi /data/hadoop/etc/hadoop/slaves文件内容为如下:

  192.168.149.129

  192.168.149.130

  如上配置完毕,以上的配置具体含义在这里就不做过多的解释了,搭建的时候不明白,可以查看一下相关的官方文档。

  如上namenode就基本搭建完毕,接下来我们需要部署datanode,部署datanode相对简单,执行如下操作即可。

  1 fori  in`seq 129130` ; doscp -r  /data/hadoop/  root@192.168.149.$i:/data/  ; done

  自此整个集群基本搭建完毕,接下来就是启动hadoop集群了。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款