首页 > 技术文章 > redhat 安装hadoop1.2.1伪分布式

houji 2016-03-11 16:22 原文

完整安装过程参考:http://www.cnblogs.com/shishanyuan/p/4147580.html

一、环境准备
    1、安装linux、jdk
      2、下载hadoop2.6.0,并解压

安装

    1、安装jdk

         下载jdk,最好使用较新版本,最低不能低于jdk1.6

         解压 :tar  -zxvf  jdk-7u40-linux-i586.tar.gz

          配置环境:          

          添加JAVA_HOME,CLASSPATH环境变量:

          使用vi /etc/profile命令编辑profile文件,在文件末尾加上以下内容:

          export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_74    {jdk安装目录}
          export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
          export PATH=$JAVA_HOME/bin:JAVA_HOME/jre/bin:$PATH
          然后保存退出,运行 source /etc/profile  使配置生效
          最后测试 java -version

         

          出现上图情况,配置成功

三丶hadoop的有关配置

        修改hadoop文件权限

        chown  -hR  +普通用户名  /usr/hadoop

        配置环境:

        使用vi /etc/profile命令编辑profile文件,在文件末尾加上以下内容:

        export HADOOP_PREFIX=/opt/hadoop-1.2.1
        export PATH=$PATH:$HADOOP_PREFIX/bin
        export HADOOP_HOME_WARN_SUPPRESS=0(如果没有这一行,会出现警告,如下:

            Warning: $HADOOP_HOME is deprecated

       )
       配置文件

       进入hadoop1.2.1/conf文件夹中

hadoop-env.sh文件:

      将jdk写入hadoop-env.sh文件中,找到JAVA_HOME将前面的#去掉,并在后面加上jdk安装目录

conf/core-site.xml文件:

     <configuration>
         <property>
             <name>fs.default.name</name>
             <value>hdfs://localhost:9000</value>     

              <description>localhost切换成本地的机器名</description>

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

              <value>/home/node/hadoop</value>

       </property>
    </configuration>

conf/hdfs-site.xml:

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
   </configuration>

<!—用来设置文件系统冗余备份数量,因为只有一个节点,所有设置为1,系统默认数量为3-->

conf/mapred-site.xml:

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

四配置ssh环境:

查询是否安装已经安装了ssh和sync 会有如下显示:

 hadoop1.2.1伪分布式安装-笔记
hadoop1.2.1伪分布式安装-笔记

如果没有请安装
hadoop1.2.1伪分布式安装-笔记

使用以下命令设置ssh无密码连接:

ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa

(解释一下上面这条命令, ssh-keygen  代表生成密钥; -t  表示指定生成的密钥 类型; dsa  是 dsa 密钥认证的意思; -P  用于提供密语(接着后面是两个单引号, 不要打错); -f  表示指定生成密钥文件)

这条命令完成后,会在当前文件夹下面的 .ssh 文件夹下创建 id_dsa 和 id_dsa.pub 两个文件,这是 SSH 的一对私钥和公钥,把 id_dsa.pub (公钥)追加到授权的 key 中去,输入如下命令:

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

出现下面命令

username@localhost ~ $ ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is 6e:6b:0f:2a:b8:91:3f:c8:f0:39:e4:df:b4:d8:16:6b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost (::1)' (RSA) to the list of known hosts.
username@localhost's password: 


仍然让我输入密码,这时应该修改一下.ssh的用户和权限

chmod 700 /home/node(以下node为usrname)

chmod 700 /home/node/.ssh

chmod 600 /home/node/.ssh/authorized_keys

测试ssh配置是否成功:

ssh localhost

 

可以看到配置成功了,连接无需使用密码了;

 

配置ssh无密码访问有很多种方法,以上只是其中一种,以下是另外一种方法:

cd ~

ssh-keygen -t rsa

cd .ssh

cp id_rsa.pub authorized_keys

ssh hostname  //测试连接hostname是否成功

五丶执行:

格式化一个新的分布式文件系统:
$ bin/hadoop namenode -format

启动hadoop进程:
$ bin/start-all.sh        (hadoop2.x 命令在sbin文件夹下 所以:   sbin/start-all.sh)

hadoop进程的日志输出目录是: ${HADOOP_LOG_DIR} directory (defaults to ${HADOOP_HOME}/logs).

通过网页来浏览Namenode和Jobtracker状态, 默认情况下它们的访问地址是:

NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
7.4测试hadoop:
把input中的文件拷贝到分布式系统:
$ bin/hadoop fs -put conf input

运行提供一些示例:
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'

检查输出:

从分布式系统中拷贝output中的文件到本地目录,并进行检测它们:
$ bin/hadoop fs -get output output
$ cat output/*

or

查看output下的分布式目录:
$ bin/hadoop fs -cat output/*

停止进程:
$ bin/stop-all.sh

至此,伪分布式安装hadoop完成。



 

 

推荐阅读