zoukankan      html  css  js  c++  java
  • hadoop配置(个人总结)

    实验机器:

            namenode: 192.168.120.63 - centos5

            datanode: 192.168.120.64  -centos5

            datanode: 192.168.120.65 -centos5


    配置目标:

             63机器作为namenode, secondarynamenode

            64和65机器作为datanode和tasknode

             每台机器使用hadoop账户来管理和运行hadoop


    配置步骤:

            1. 准备文件,包括 jdk 和 hadoop

                 jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk6u37-downloads-1859587.html,下载如jdk-6u13-linux-i586.bin

                hadoop下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-1.0.3/ 或者当前更高版本

                  这里jdk使用:jdk1.6.0_13

                 hadoop使用:hadoop-1.0.3


           2.安装jdk

                以root登录三个机器,执行jdk-6u13-linux-i586.bin,会得到一个jdk文件夹,将其放入预定位置(如/usr/program/jdk/)下

                将JAVA_HOME添加到/etc/profile文件下

    [plain] view plaincopy
    1. [root:]#vi /etc/profile  

    添加如下内容

    [plain] view plaincopy
    1. #add by Jim for jdk  
    2. #set java envrionment  
    3. export JAVA_HOME=/usr/program/jdk/jdk1.6.0_13  
    4. export JRE_HOME=/usr/program/jdk/jdk1.6.0_13/jre  
    5. export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  
    6. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH  
           3. 在/etc/hosts文件中为三台机器添加名称映射

    [plain] view plaincopy
    1. 192.168.120.63 hadoop.master  
    2. 192.168.120.64 hadoop.slave.a  
    3. 192.168.120.65 hadoop.slave.b  

              4. 安装hadooop

              4.1 添加hadoop账户

    [plain] view plaincopy
    1. [root]# useradd -m hadoop  
    2. [root]# passwd hadoop  
    如果是ubuntu, 最好使用adduser添加,因为useradd貌似默认配置不太好

               4.2 将下载的hadoop-1.0.3.tar.gz解压到hadoop家目录下, 并修改权限

    [plain] view plaincopy
    1. [root]# tar -xzf hadoop-1.0.3.tar.gz -C /home/hadoop/  
    2. [root]# chown -R hadoop:hadoop /home/hadoop/hadoop-1.0.3  

               4.3 配置hadoop, 配置文件在/home/hadoop/hadoop-1.0.3/conf/目录下

                4.3.1在hadoop-env.sh文件中添加JAVA_HOME

    [plain] view plaincopy
    1. #added by Jim for JDK_HOME  
    2. export JAVA_HOME=/usr/program/jdk/jdk1.6.0_13  

                4.3.2在core-site.xml文件中添加配置信息

    [html] view plaincopy
    1. <configuration>  
    2.    <property>  
    3.      <name>fs.default.name</name>  
    4.      <value>hdfs://hadoop.master:50091/</value>  
    5.    </property>  
    6.    <property>  
    7.      <name>hadoop.tmp.dir</name>  
    8.      <value>/home/hadoop/hadooptmp</value>  
    9.    </property>  
    10. </configuration>  
    其中fs.default.name为namenode的交互端口,注意不要使用已经占用的端口就好

    hadoop.tmp.dir是用来存储其他临时目录的根目录

                  4.3.3在hdfs-site.xml文件中添加配置信息

    [html] view plaincopy
    1. <configuration>  
    2.   <property>  
    3.      <name>dfs.name.dir</name>  
    4.      <value>/home/hadoop/hdfs/name</value>  
    5.   </property>  
    6.   <property>  
    7.      <name>dfs.data.dir</name>  
    8.      <value>/home/hadoop/hdfs/data</value>  
    9.   </property>  
    10.   <property>  
    11.      <name>dfs.replication</name>  
    12.      <value>2</value>  
    13.   </property>  
    14.   <property>  
    15.      <name>dfs.http.address</name>  
    16.      <value>hadoop.master:50070</value>  
    17.   </property>  
    18. </configuration>  

    dfs.name.dir:存贮在本地的名字节点数据镜象的目录,作为名字节点的冗余备份

    dfs.data.dir:datanode存储数据的根目录

    dfs.replication:冗余数量,备份的数据量

    dfs.http.address:namenode的http协议访问地址与端口

                     4.3.4在mapred-site.xml文件中添加配置信息

    [html] view plaincopy
    1. <configuration>  
    2.   <property>  
    3.      <name>mapred.job.tracker</name>  
    4.      <value>hadoop.master:50092</value>  
    5.   </property>  
    6.   <property>  
    7.      <name>mapred.local.dir</name>  
    8.      <value>/home/hadoop/mapred/local</value>  
    9.   </property>  
    10.   <property>  
    11.      <name>mapred.system.dir</name>  
    12.      <value>/tmp/hadoop/mapred/system</value>  
    13.   </property>  
    14.   <property>  
    15.     <name>mapred.compress.map.output</name>  
    16.     <value>true</value>  
    17.   </property>  
    18. </configuration>  

    mapred.job.tracker:jobTracker的交互端口

    mapred.local.dir: map中间数据存放位置

    mapred.system.dir: mapred控制文件存放位置

    mapred.compress.map.output: 是否压缩输出

                      4.3.5在master文件中写入hadoop  namenode节点

    [plain] view plaincopy
    1. hadoop.master  

                      4.3.6在slaves文件中写入hadoop datanode数据节点

    [plain] view plaincopy
    1. hadoop.slave.a  
    2. hadoop.slave.b  

                      4.3.7配置完毕,将/home/hadoop/hadoop-1.0.3拷贝到其他站点

    [plain] view plaincopy
    1. scp -r /home/hadoop/hadoop-1.0.3/ hadoop@hadoop.slave.a:/home/hadoop/  
    2. scp -r /home/hadoop/hadoop-1.0.3/ hadoop@hadoop.slave.b:/home/hadoop/  

                   5.格式化hadoop,在hadoop.master站点上执行

    [plain] view plaincopy
    1. hadoop namenode -format  

                  6.启动关闭hadoop,显示hdfs状态等

    [plain] view plaincopy
    1. [hadoop]$ start-all.sh#由于已经将hadoop-bin目录加入path路径,应当可以直接访问  
    2. [hadoop]$ stop-all.sh  
    3. [hadoop]$ hadoop dfsadmin -report  
  • 相关阅读:
    CSS练习
    关于进度模型和进度计划
    信息管理系统/记录管理系统/配置管理系统
    分析技术在PMP中的应用
    渐进明细的几个点
    android手机内的通讯录数据库
    用FileExplorer查看android手机中的数据库
    VCard介绍
    org.apache.http.client.methods.HttpGet 转到定义找不到源代码
    Android : Your APK does not seem to be designed for tablets.
  • 原文地址:https://www.cnblogs.com/java20130722/p/3207033.html
Copyright © 2011-2022 走看看