zoukankan      html  css  js  c++  java
  • 在ubuntu部署分布式hadoop

    安装一个Hadoop集群时,需要专门指定一个服务器作为主节点。

    三台虚拟机搭建的集群:(搭建集群时主机名不能一样,主机名在/etc/hostname修改)

    master机器:(集群的主节点,驻留NameNode和JobTracker守护进程

    IP:10.61.1.21        机器名:wangwei1

    slaves机器:(集群的从节点,驻留DataNode和TaskTracker守护进程

    IP:10.61.1.22        机器名:wangwei2

    IP:10.61.1.23        机器名:wangwei3

    这三台机器都安装好了hadoop-1.0.3,JDK和ssh。

    这三台机器都要编辑/etc/hosts

    增加:

    10.61.1.21    wangwei1
    10.61.1.22    wangwei2
    10.61.1.23    wangwei3
    SSH Access

    master必须能以passless ssh访问slaves

    wangwei@wangwei1:~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub wangwei@wangwei2
    wangwei@wangwei1:~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub wangwei@wangwei3

    执行以上的命令都需要输入对方的密码。

    完成后,可以在master上分别运行:

    wangwei@wangwei1:~$ ssh wangwei2
    wangwei@wangwei1:~$ ssh wangwei3

    看是否不需要输入密码,如果不需要则设置正确。

    配置

    只对于master机器(wangwei1):

    更新conf/masters文件如下:

    wangwei1

    更新conf/slaves文件如下:

    wangwei1

    wangwei2

    wangwei3

    对于这三台机器

    更新三个配置文件的相关属性

    复制代码
    <!-- In: conf/core-site.xml -->
    <property>
    <name>fs.default.name</name>
    <value>hdfs://wangwei1:9000</value> ------定位文件系统的NameNode
    </property>

    <!-- In: conf/mapred-site.xml -->
    <property>
    <name>mapred.job.tracker</name>
    <value>wangwei1:9001</value> --------定位JobTrecker所在主节点
    </property>

    <!-- In: conf/hdfs-site.xml -->
    <property>
    <name>dfs.replication</name>
    <value>3</value> -----------增大HDFS备份参数
    </property>
    复制代码

     

    第一次运行

    首先需要Format namenode

    (格式化之前最好在所有机器上清空hdfs/data,hdfs/name,以免造成冲突)

    在wangwei1上运行:

    wangwei@wangwei1:~/hadoop$ bin/hadoop namenode -format
    开启集群
    开启 HDFS daemons

    在wangwei1上运行:

    wangwei@wangwei1:~/hadoop$ bin/start-dfs.sh

    开启后,可以在master和slave上运行jps命令,查看开启的daemons

    开启MapReduce daemons

    在wangwei1上运行:

    wangwei@wangwei1:~/hadoop$ bin/start-mapred.sh

    可以在master和slave上运行jps命令,查看开启的daemons

    运行MapReduce Job

    在wangwei1机器上运行WordCount:

    首先在dfs中创建input目录

    wangwei@wangwei1:~/hadoop$ bin/hadoop dfs -mkdir input

    将conf中的文件拷贝到dfs中的input:

    wangwei@wangwei1:~/hadoop$ bin/hadoop dfs -copyFromLocal conf/* input
    运行WordCount
    
    
    wangwei@wangwei1:~/hadoop$ bin/hadoop jar hadoop-1.0.3-examples.jar wordcount input output
    显示输出结果文件:
    
    
    wangwei@wangwei1:~/hadoop$ bin/hadoop dfs -cat output/*
    关闭集群
    关闭MapReduce daemons

    在master上运行:

    
    
    wangwei@wangwei1:~/hadoop$ bin/stop-mapred.sh

    关闭HDFS daemons

    在master上运行:

    
    
    wangwei@wangwei1:~/hadoop$ bin/stop-dfs.sh

     

  • 相关阅读:
    JavaScript 开发的45个经典技巧
    LINQ
    迭代器
    【工具篇】抓包中的王牌工具—Fiddler (1-环境搭建)
    浏览器本地数据库 IndexedDB 基础详解
    Python爬虫实践 -- 记录我的第二只爬虫
    美团App用户界面分析
    APP测试要点—UI、功能测试
    Emmagee--APP性能测试工具的基本使用
    APP测试工具与技术
  • 原文地址:https://www.cnblogs.com/ict-wangwei/p/3140497.html
Copyright © 2011-2022 走看看