zoukankan      html  css  js  c++  java
  • Hadoop伪分布模式简易安装手册

    那本《Hadoop权威指南》入手了漫长时间,一直处于看了小半的状态。最近晚上有点空闲时间,准备重新开看。时间过了蛮久,机器都重装过了,hadoop当然需要重新安装,写个简化安装手册,免得以后每次都要去看我写在书上的小抄。

    0. 上下文环境

    操作系统: Fedora18 x86_64

    Java环境: 1.7.0_17 设置环境变量JAVA_HOME和bin在

    Hadoop: 1.1.2 (下的那个hadoop-1.1.2-bin.tar.gz包,2.x因为还在alpha版本就暂时算了,其实书上说的还在0.x版本)

    1. 创建用户hadoop 设置密码

    在hadoop用户的主目录解压hadoop-1.1.2-bin.tar.gz,在hadoop用户主目录创建目录hadoop-data用做hadoop的数据目录

    给hadoop的程序目录和数据目录及它们的子目录设定为hadoop所有(chown -R)

    修改hadoop主目录的~/.bash_profile文件,添加HADOOP_HOME指向hadoop的程序目录,以及将$HADOOP_HOME/bin添加到path里面(因为是hadoop用户的主目录 就没有必要加到/etc/profile里面了),之后注销重新登陆hadoop用户

    2. 修改配置文件

    修改$HADOOP_HOME/conf/hadoop-env.sh 将其中的export JAVA_HOME改为本机的JAVA_HOME路径,(光靠在profile里面添加JAVA_HOME并不能正常启动Hadoop)

    修改$HADOOP_HOME/conf/core-site.xml 添加两个配置项fs.default.name和hadoop.tmp.dir指定到刚才创建的数据目录上(默认是/tmp目录,Linux重启会会清空它所以一定要改)

    <property><name>fs.default.name</name><value>hdfs://localhost/</value></property>
    <property><name>hadoop.tmp.dir</name><value>/home/hadoop/hadoop-data</value></property>

    修改$HADOOP_HOME/conf/hdfs-site.xml 添加两个配置项dfs.replication和dfs.http.address

    <property><name>dfs.replication</name><value>1</value></property>
    <property><name>dfs.http.address</name><value>localhost:50070</value></property>

    修改$HADOOP_HOME/conf/mapred-site.xml 添加配置项mapred.job.tracker

    <property><name>mapred.job.tracker</name><value>localhost:8021</value></property>

    3. 修改好上述文件后,执行命令初始化namenode,执行成功后可以看到数据目录下会产生相应的文件

    hadoop namenode -format

    运行$HADOOP_HOME/bin/start-all.sh 输入hadoop用户的密码启动,运行jps可以看到hadoop的TaskTracker,JobTracker,DataNode,NameNode,SecondaryNameNode都已经启动了,执行如下命令返回正常,这样基本的配置就完成了。

    hadoop fs -ls ~

    4. 修改ssh配置,让hadoop启动时不需要输入密码(本节参考网上文章)

    在hadoop用户下执行命令

    ssh-keygen -t rsa -f ~/.ssh/id_rsa

    直接回车使用空密码,这样就生成了id_rsa和对应的公钥id_rsa.pub文件。再将公钥添加到对应用户(这里其实还是hadoop用户)的~/.ssh/authorized_keys中

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    赋予.ssh文件夹权限711,authorized_keys的权限644

    然后启动ssh-agent

    eval `ssh-agent -s`

    然后添加公钥

    ssh-add

    这样我们用hadoop用户执行start-all.sh和stop-all.sh命令都不需要再输入密码了。为了以后每次登陆都让ssh-agent启动,我们在/etc/profile.d/下添加一个文件ssh-agent.sh,内容如下:

    #!/bin/sh
    if [ -f ~/.agent.env ]; then
            . ~/.agent.env >/dev/null
            if ! kill -0 $SSH_AGENT_PID >/dev/null 2>&1; then
                    echo "Stale agent file found. Spawning new agent..."
                    eval `ssh-agent |tee ~/.agent.env`
                    ssh-add
            fi
    else
            echo "Starting ssh-agent..."
            eval `ssh-agent |tee ~/.agent.env`
            ssh-add
    fi

    5. 在系统公用的目录创建start-hadoop和stop-hadoop文件为开关hadoop进程

    #!/usr/bin/bash
    # start-hadoop
    sudo -i -u hadoop start-all.sh
    #!/usr/bin/bash
    # stop-hadoop
    sudo -i -u hadoop stop-all.sh

    这样hadoop的简易环境配置完毕。

  • 相关阅读:
    弹出框背景色透明滚动条滚动仍然居中
    日常css和js小知识点记录
    手机端上传未知图片大小,js设置宽高比例
    IE6兼容透明背景图
    css考核点整理(七)-css sprites技术的使用心得
    css考核点整理(六)-水平居中定位的几种方式
    css考核点整理(五)-css3新增的常用属性
    css考核点整理(四)-css盒模型
    css考核点整理(三)-css选择器的使用
    css考核点整理(二)-css层叠机制
  • 原文地址:https://www.cnblogs.com/shishuifox/p/2967063.html
Copyright © 2011-2022 走看看