Linux环境Hadoop完全分布模式安装详解

完全分布模式:正常的Hadoop集群,由多个各司其职的节点构成。

安装环境

操作平台:VM

操作系统:CentOS6.4(关闭防火墙)

软件版本:Hadoop-0.20.2、JDK7  

集群架构:3个节点--一个Mater,二个Slave。

准备工作

JDK安装与配置

详情请见:http://www.cnblogs.com/zhangwenjing/p/3580726.html

安装步骤

一、配置hosts文件

  修改所有节点的/ect/hosts,使彼此之间都能把主机名解析为ip.

  vi /ect/hosts

  192.168.1.53 master

  192.168.1.113 node1

  192.168.1.145 node2

二、建立hadoop运行账号

  在所有的节点创建hadoop运行账号

  groupadd hadoop

  useradd -g hadoop grid

  id grid

  passwd grid

三、配置ssh免密码连接

  在三个节点中,均以grid用户登录,在grid用户的主目录下进行操作:

   ssh-keygen -t rsa -P ""

   cd ~.ssh

   ls

  完成以上步骤,把各个节点的authorized_keys的内容互相拷贝加入到对方的此文件中,我们这里采取的措施是:然后就可以免密码彼此ssh连入

  以master为例:

   cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys

   ssh node1 cat /grid/hadoop/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys

   ssh node2 cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys

四、Hadoop安装

  1、Hadoop下载与安装

解压缩:tar -zxvf hadoop-0.20.2.tar.gz

    重命名:mv hadoop-0.20.2 hadoop

    #vi ect/profile

    HADOOP_PREFIX=/home/grid/hadoop

    PATH=$HADOOP_PREFIX/bin:$PATH

    export HADOOP_PREFIX PATH

    执行环境配置:source /etc/profile

    验证:hadoop -version

  (注意:三台服务器Hadoop安装目录要保持一致。)

  2、Hadoop配置

    Hadoop配置在~/hadoop/conf下,作如下修改:

    hadoop-env.sh

export JAVA_HOME=/usr/local/java/jdk1.7.0_51(JDK安装目录)

修改内存大小:export HADOOP_CLIENT_OPTS="-Xmx512m $HADOOP_CLIENT_OPTS"

    core-site.xml,做如下配置:

    <configuration>

    <property>

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

    <value>hdfs://master:9000</value>

    </property>

    </configuration>

    hdfs-site.xml,做如下配置:

  <configuration>

    <property>

     <name>dfs.replication</name>

     <value>2</value>

    </property>

       <property>

        <name>dfs.permissions</name>

        <value>false</value>

       </property>

  </configuration>

    mapred-site.xml,做如下配置:    

      <configuration>

    <property>

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

     <value>master:9001</value>

    </property>

  </configuration>

    masters,做如下配置:

    namenode节点主机名或IP,如果有多个,则用回车分隔

    vi masters

    master

    slaves,做如下配置:

    datanode节点主机名或IP,如果有多个,则用回车分隔

    vi slaves

    node1

    node2

   3、复制hadoop到各节点

      scp -r 原文件目录 目标文件目录

   4、在NameNode节点格式化HDFS

     在Hadoop安装目录下运行:bin/hadoop namenode –format

   5、在NameNode启动Hadoop

      在Hadoop安装目录下运行:bin/start-all.sh

   6、在各个节点检查进程是否启动,执行如下命令

      jps

五、实例运行

切换到安装目录,建立要上传到hadoop的两个文件 test1.txt、test2.txt

mkdir input

cd input

echo "hello world" > test1.txt

echo "hello hadoop" > test2.txt

运行hadoop自带的wordcount实例可以统计一批文本文件中单词出现的次数

bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output

查看结果:

cat output/*

六、通过web检查Hadoop

  通过浏览器监控jobstracker:http://192.168.1.53:50030

  通过浏览器监控集群:http://192.168.1.53:50070

附:

如何添加节点?(准备工作JDK安装和配置)

①配置host文件

②建立hadoop运行账号

③设置ssh免密码进出该节点

④在新的节点安装好hadoop(安装目录和其他节点保持一致)

⑤把namenode的有关配置文件复制到该节点

⑥修改所有节点masters和slaves文件,增加该节点

⑦单独启动该节点上的datanode和tasktracker(hadoop-daemon.sh start datanode/tasktracker)

⑧运行start-balancer.sh进行数据负载均衡