您的位置:首页 > 编程语言 > PHP开发

Zend Studio提供zend studio教程、zend studio下载等相关资源的公益性站点。

2011-03-04 13:06 423 查看
最近在linux下配置了hadoop,现将配置过程总结如下,欢迎讨论,欢迎交流!
一、配置ssh服务
    由于MapReduce程序在运行时namenode要和datanode不断地进行通信。所以必须使得namenode能够无密码自动登录到各个datanode上。
     1、在namenode上,执行ssh-keygen-t rsa -P '' -f ~/.ssh/id_rsa,直接回车,完成后会在~/.ssh/生成两个文 件:id_rsa和id_rsa.pub,这两个文件相当于钥匙(id_rsa)和锁(id_rsa.pub),把锁(id_rsa.pub)追加到授权key(authorized_keys文件)里面。完成后可以实现无密码登陆本机:ssh localhost
     2、将namenode 上的authorized_keys文件传输到各datanode中的同一目录下(~/.ssh/目录),然后可以实现namenode无密码登录到任何datanode上。输入如下命令测试:ssh 用户名@datanode的IP地址。

二、hadoop的配置
    1、hadoop-env.sh的配置
           配置jdk所在的根目录,在hadoop-env.sh中添加:export JAVA_HOME=你的JDK根目录 即可。
    2、hadoop-site.xml的配置
           根据本人不断地实验,要想确保集群的稳定运行,在hadoop-site文件中必须配置如下的属性
            <property>
                <name>fs.default.name</name>
              <value>hdfs://namenode的IP地址:四位的端口号< /value>
            </property>
            <property>
                <name>dfs.datanode.handler.count</name>
                <value>1< /value>  
            </property>            
            <property>
                <name>dfs.replication</name>
                <value>1< /value>
            </property>
            <property>
                <name>mapred.job.tracker</name>
                <value>namenode的IP地址:四位的端口号(和上面不同)< /value>
            </property>
            <property>
                <name>hadoop.tmp.dir</name>
                <value>路径1</value>
            <property>
            <property>
               <name>dfs.name.dir</name>
               <value>路径2</value>
            <property>
            <property>
               <name>dfs.data.dir</name>
               <value>路径3</value>
            <property>
            <property>
               <name>mapred.local.dir</name>
               <value>路径4</value>
            <property>
   3、hadoop传输
         将配置好的hadoop由namennode上传输到各个datanode上,即执行:"scp -rp  hadoop-0.19.0  用户名@datanode的IP地址:特定目录"
         需要注意的是,hadoop在各个机器上的目录结构,必须完全一致。
三、集群的测试
     在namenode上,进入hadoop的主目录,依次执行如下命令进行测试
     1、 bin/hadoop namenode -format :格式化操作
     2、bin/start-all.sh  :开启集群,启动jobtracker,tasktracker,namenode,datanode,secondnamenode守护进程
     3、jps :查看守护进程是否已经启动,如果配置无任何问题的话,以上的五个守护进程已经启动成功了。
     4、运行示例程序wordcount
           创建目录:mkdir input
           进入目录:cd input
           创建两个文件:echo "hello world,hello hadoop">a.txt;echo "hello world,hello hadoop">b.txt
           上传input目录:bin/hadoop fs -copyFromLocal input input
           执行程序:bin/hadoop jar hadoop-0.19.0-examples.jar wordcount /user/你的用户名/input /user/你的用户名/output
           下载结果:bin/hadoop fs -copyToLocal output output
           查看结果 cat output/*
     5、通过Web UI查看集群的状态:
            jobtraker的情况: http://namenode的ip地址:50030;             hdfs的情况:http://namenode的ip地址:50070;
            tasktracker的情况:http://datanode的ip地址:50060.
     6、bin/stop-all.sh:关闭集群,停止守护进程.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: