• Hadoop安装配置(ubuntu-12.04.2-server-amd64)


    环境如下:

    ubuntu-12.04.2-server-amd64

    hadoop-1.0.4

    VirtualBox

    1、在VBox中安装Ubuntu Server,用户名和密码都是hadoop,安装完成后,克隆两份,这样就有三台机器,一台master,两台slave。克隆后的slave打开不能上网,原因是克隆的时候,“重新初始化所有网卡的MAC地址”,而Ubuntu系统中网卡缓存中的MAC地址也新的MAC地址不一致,解决方法是在克隆后的机器中删除一个文件,使用如下命令:

    sudo rm /etc/udev/rules.d/70-persistent-net.rules

    然后重启,机器就能连网了。

    2、安装jdk,使用如下命令:

    sudo apt-get install openjdk-6-jdk

    master和slave都要安装。

    3、修改机器名称,编辑/etc/hostname,把master机器修改成master.Hadoop,slave机器修改成slave1.Hadoop和slave2.Hadoop。

    4、修改机器网络配置,编辑/etc/network/interfaces。master的网络配置如下:

    复制代码
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # The primary network interface
    auto eth0
    #iface eth0 inet dhcp
    iface eth0 inet static
    address 192.168.0.40
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-nameservers 8.8.8.8
    复制代码

    slave1和slave2的配置只需要修改IP地址,分别是192.168.0.41和192.168.0.42。

    5、配置master和slave的hosts文件,编辑/etc/hosts,在文件中追加如下内容:

    192.168.0.40    master.Hadoop
    192.168.0.41    slave1.Hadoop
    192.168.0.42    slave2.Hadoop

    三台机器的hosts配置相同。

    6、配置master无密码登录所有slave

    在master上执行:

    ssh-keygen -t rsa -P ''

    这个命令用于生成无密码密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对为id_rsa和id_rsa.pub,默认存储在/home/hadoop/.ssh目录下。接着在master上做如下配置,把id_rsa.pub追加到授权的key里:

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

    修改权限:authorized_keys的权限和.ssh目录的权限,使用如下命令:

    chmod 600 .ssh/authorized_keys
    chmod 700 .ssh

    在slave机器上创建.ssh目录,使用如下命令:

    mkdir .ssh

    把authorized_keys复制到slave1机器的/home/hadoop/.ssh中,使用如下命令:

     scp .ssh/authorized_keys slave1.Hadoop:/home/hadoop/.ssh/authorized_keys

    修改权限,同master上的权限配置,在slave2上做同样的操作。

    7、在master上安装hadoop

    解压hadoop-1.0.4.tar.gz:

    tar -zxvf hadoop-1.0.4.tar.gz

    8、配置hadoop

    编辑conf/hadoop-env.sh,修改JAVA_HOME的值:

    export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64/

    编辑conf/mapred-site.xml,添加内容:

    复制代码
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
    
            <property>
                    <name>mapred.job.tracker</name>
                    <value>http://master.hadoop:9001</value>
            </property>
    
    </configuration>
    复制代码

    编辑conf/hdfs-site.xml,添加内容:

    复制代码
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
    
            <property>
                    <name>dfs.name.dir</name>
                    <value>/home/hadoop/name</value>
            </property>
    
            <property>
                    <name>dfs.data.dir</name>
                    <value>/home/hadoop/data</value>
            </property>
    
            <property>
                    <name>dfs.replication</name>
                    <value>2</value>
            </property>
    </configuration>
    复制代码

    编辑conf/core-site.xml,添加内容:

    复制代码
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
    
            <property>
                    <name>fs.default.name</name>
                    <value>hdfs://master.Hadoop:9000</value>
            </property>
    
            <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/home/hadoop/hadoop-1.0.4/tmp</value>
            </property>
    </configuration>
    复制代码

    编辑conf/masters,删除localhost,添加内容:

    master.Hadoop

    编辑conf/slaves,删除localhost,添加内容:

    slave1.Hadoop
    slave2.Hadoop

    9、把master的hadoop-1.0.4拷贝到slave

    在master上执行:

    scp -r hadoop-1.0.4 slave1.Hadoop:/home/hadoop/
    scp -r hadoop-1.0.4 slave2.Hadoop:/home/hadoop/

    10、在master上格式化HDFS文件系统,使用如下命令:

    hadoop-1.0.4/bin/hadoop namenode -format

    11、启动所有结点

    在master上执行:

    hadoop-1.0.4/bin/start-all.sh

    在master上执行jps命令,输出如下:

    1974 JobTracker
    2101 Jps
    1602 NameNode
    1893 SecondaryNameNode

    说明master上hadoop正常启动。

    在slave上执行jps命令,输出如下:

    2007 Jps
    1423 DataNode
    1636 TaskTracker

    说明slave上hadoop正常启动。

    也可以在浏览器中打开192.168.0.40:50030或者192.168.0.40:50070查看master和slave是否正常启动。

    12、关闭所有节点

    在master上执行:

    hadoop-1.0.4/bin/stop-all.sh
  • 相关阅读:
    【转】 C++模板详解
    【转】 memcmp源码实现
    【转】 C++的精髓——虚函数
    【转】 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测
    【转】 优秀代码所具备的5大品质
    爬取贴吧中的html,并保存到相对应的文件夹中
    urllib模块通过post请求获取数据
    django,uwsgi, nginx部署项目
    Django中Ajax处理
    Django中的session于cookie的用法
  • 原文地址:https://www.cnblogs.com/xzjf/p/7171114.html
Copyright © 2020-2023  润新知