HADOOP伪分布式配置

    此次配置为单机版的伪分布式,其中hadoop 的版本为2.2,系统为Fedora16,JDK 版本为 jdk1.7.0_51。

    昨天折腾了好半天,终于把hadoop给配置好了。一开始总是报错,说找不到类,后来发现是hadoop2.3的原因,换成2.2立马就好了。

    (但是好机油在Mac上配置2.3却没问题。怪哉!)


下面开始配置之旅吧~

     安装配置jdk7

          话说一开始直接用的fedora的openJDK,被人鄙视太low了。本来不打算换,由于不晓得是hadoop版本原因,我就换了jdk。

  • 到Oracle 官网下载最新版JDK,本次安装下载的是jdk-­7u51-­linux-­i586.tar.gz
  • 从终端cd 到下载目录,输入以下命令:
    tar ‐zxvf jdk-7u51-linux-i586.tar.gz
  • 将解压的目录移动到自己想放置的目录,在本项目中,执行了mv jdk1.7.0_51 /usr/lib/jvm

             其中jdk1.7.0_51 为解压后的文件目录名,我们将其移动到usr/lib/jvm 下了。(如果安装的是OpenJDK,安装路径在/usr/lib/jvm 下,不是手动安装JDK 的可以找找看)

  • 设置环境变量:
       sudo vim ~/.bashrc

       在bashrc后面添加:
       #Java properties
        export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
        export JRE_HOME=${JAVA_HOME}/jre
        export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
        export PATH=${JAVA_HOME}/bin:$PATH
       
        最后使其生效:
        source ~/.bashrc

  • 设置系统默认的JDK:

       sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_51 /bin/java 300
       sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_51 /bin/javac 300
       sudo update-alternatives --config java
       终端会出现系统已安装的JDK 以及编号,输入编号选择即可。(若是只有一个版本就不用选择了)

  • 检查是否安装成功:
    java -version

              若出现类似以下字样,则成功:    
              java version "1.7.0_51"

             Java(TM) SE Runtime Environment (build1.7.0_51-b13)

             Java HotSpot(TM) Server VM (build24.51-b03, mixed mode)



SSH无密码登录

  • 安装openssh-­server:

              yum  install openssh-­server

  • 实现无密码登录:

             ssh-­keygen -­t dsa -­P ''

 

            回车后输入保存key 的文件,会在文件下生成两个文件:id_dsa 和 id_dsa.pub。这两个是成对出现,类似钥匙和锁。

            然后可以将生成的 id_dsa.pub 里的内容加到用于认证的公钥文件中,转到刚才存放key 的目录下,输入命令:

            cat id_dsa.pub >> authorized_keys

 

  • 验证是否成功:输入ssh localhost。不用输入密码,并且最后显示Last login 则成功。首次登录,可能会不一样。


安装hadoop2.2

  • 下载hadoop2.2.0
  • 转到下载目录,解压缩tar 文件:tar -­xsvf hadoop2.2.0.tar.gz,并将解压后的文件夹改名为hadoop,移动到/home/用户名/cloud/下
  • 设置环境变量

      vim ~/.bashrc

     #Hadoop variables

     exportHADOOP_DEV_HOME=/home/cancy/cloud/hadoop

     #根据自己的hadoop 目录自行修改

     export PATH=$PATH:${HADOOP_DEV_HOME}/bin

     export PATH=$PATH:${HADOOP_DEV_HOME}/sbin

     exportHADOOP_MAPRED_HOME=${HADOOP_DEV_HOME}

     export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}

     export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}

     export HADOOP_YARN_HOME=${HADOOP_DEV_HOME}

     exportHADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop

     保存退出,并且输入source~/.bashrc 使改动生效

  • 编辑hadoop-­env.sh

             cd 到hadoop 的安装目录,本配置中即/home/cancy/cloud/hadoop

             vim etc/hadoop/hadoop-­env.sh

 

            在里面找到JAVA_HOME,并将它的值设置为你电脑jdk所在的绝对路径

              # The java implementation to use.

             export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51

  • 验证环境变量是否配置正确:hadoopversion。出现hadoop版本即正确。
  • 配置core-site.xml(由此开始需要编辑的文件都在etc/hadoop 下,另外所有存储的目录,都需要事先建好,或者存在

    <configuration>

        <property>

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

           <value>hdfs://localhost:8020</value>

         </property>

         <property>

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

            <value>file:/home/cancy/cloud/hadoop_space/tmp</value>

         </property>

    </configuration>

  • 编辑yarn-site.xml

      <configuration>

      <!-- Site specific YARN configurationproperties -->

          <property>

              <name>yarn.nodemanager.aux-services</name>

             <value>mapreduce_shuffle</value>

          </property>

          <property>

             <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

              <value>org.apache.hadoop.mapred.ShuffleHandler</value>

          </property>

          <property>

             <name>yarn.nodemanager.resource.memory-mb</name>

              <value>10240</value>

              <description>the amount ofmemory on the NodeManager in GB</description>

          </property>

      </configuration>

  • 配置mapred-site.xml(在etc/hadoop 下本来只有mapred-site.xml.template,可以用cp 命令复制一份命名为mapred-site.xml)

      <configuration>

          <property>

             <name>mapreduce.framework.name</name>

              <value>yarn</value>

          </property>

          <property>

             <name>mapreduce.cluster.temp.dir</name>

             <value>file:/home/cancy/cloud/hadoop_space/mapred/temp</value>

              <description>The temp dirfor map reduce</description>

              <final>true</final>

          </property>

          <property>

             <name>mapreduce.cluster.local.dir</name>

             <value>file:/home/cancy/cloud/hadoop_space/mapred/local</value>

              <description>The local dirfor map reduce</description>

              <final>true</final>

          </property>

      </configuration>

  • 配置hdfs-site.xml

      <configuration>

          <property>

             <name>dfs.replication</name>

              <value>1</value>

          </property>

          <property>

             <name>dfs.namenode.name.dir</name>

              <value>file:/home/cancy/cloud/hadoop_space/dfs/name</value>

          </property>

          <property>

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

              <value>file:/home/cancy/cloud/hadoop_space/dfs/data</value>

          </property>

      </configuration>

 

  • 格式化HDFS:hdfs namenode –format。会出现很多很多东西。。。
  • 启动一下你的Hadoop:

      sbin/start-dfs.sh

      sbin/start-yarn.sh

 

  • 查看是否安装好了Hadoop:在hadoop安装目录下,输入jps,如果出现NameNode、SecondaryNameNode、NodeManager、ResourceManager、DataNode 这五个进程,那就恭喜你了,你的Hadoop已经安装好了!
  • 关闭hadoop 各个服务:

      sbin/stop-dfs.sh

      sbin/stop-yarn.sh




给格式跪了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值