Hadoop安装与与初次使用

797 查看

1. 在CentOS中安装Hadoop2.7

1.1 设置静态IP

        vim /etc/sysconfig/network-script/ifcfg-eth0
        service network restart
        验证:执行ifconfig
        

1.2 修改主机名

        修改当前会话中的主机名,执行命令hostname hadoop
        修改配置文件中的主机名,执行命令 vim /etc/sysconfig/network
        验证:重启

1.3 把hostname与ip绑定

        vim /etc/hosts,增加如下一行
        192.168.0.110  hadoop
        验证:ping hadoop

1.4 关闭防火墙

        关闭防火墙:service iptables stop
        验证:service iptables status

1.5 关闭防火墙的自动运行

        chkconfig iptables off
        验证:chkconfig --list 

1.6 SSH(Secure Shell)免密码登录

    <1>执行“ssh-keygen -t rsa:产生密钥,位于~/.ssh文件夹中
    <2>执行命令 cp id_rsa.pub authorized_keys
    验证:ssh localhost

1.7 安装jdk

    <1>rm -rf /opt/*(不用这步)
    <2>使用工具winscp把文件从win复制到/opt/目录下
    <3>chmod u+x jdk-6u24.bin
    <4>解压缩 ./jdk-6u24.bin
    <5>重命名为 mv jdk-6u24 jdk
    <6>设置环境变量,执行命令 vim /etc/profile 增加两行内容
        export JAVA_HOME=/opt/jdk
        export PATH=.:$JAVA_HOME_/bin:$PATH
    source /etc/profile,让设置立即生效
    验证:java -version

1.8 安装hadoop

    <1> 解压缩 tar -xzvf hadoop-2.6.3.tar.gz 
    <2> 执行命令 mv hadoop-2.6.3 hadoop
    <3> 执行命令 vim /etc/profile 设置环境变量,增加了一行内容
            export HADOOP_HOME=/opt/hadoop
        修改了一行内容
            export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
    source /etc/profile
    <4> 修改hadoop的配置文件,位于$HADOOP_HOME/conf目录下
        分别是 hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml
        具体修改内容见
        【hadoop-env.sh修改内容如下】
             
            export JAVA_HOME=/opt/jdk
        
        【core-site.xml的修改内容如下】            
            <configuration>
                <property>
                    <name>fs.default.name</name>
                    <value>hdfs://hadoop:9000</value>

                </property>
                <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/opt/hadoop/tmp</value>
                </property>
            </configuration>
        【hdfs-site.xml的修改内容如下】
            <configuration>
                <property>
                    <name>dfs.replication</name>
                    <value>1</value>
                </property>
                <property>
                    <name>dfs.permissions</name>
                    <value>false</value>
                </property>
            </configuration>
        【mapred-site.xml的修改内容如下】
            <configuration>
                <property>
                    <name>mapred.job.tracker</name>
                    <value>hadoop:9001</value>
                    <description>change your own hostname</description>
                </property>
            </configuration>
        <5> 执行命令 hadoop namenode -format 对hadoop进行格式化 
        <6> 执行命令 start-all.sh启动
    验证:
    <1>执行命令jps,发现5个java进程,分别是                                                       NameNode,SecondaryNameNode,DataNode,JobTracker,TaskTracker
    <2>通过浏览器http://hadoop:50070 和 http://hadoop:50030

1.9 常见问题

    NameNode进程没有启动成功
        (1)没有格式化
        (2)配置文件 *
        (3)hostname与ip没有绑定
        (4)SSH免密码登录没有配置成功

1.10 多次格式化hadoop也是错误的

    解决方法:删除/opt/hadoop/tmp文件夹,重新格式化

2. Hadoop初步使用

Hadoop的使用一般分为三种方式,web客户端(简单),下面只讲命令行方式和HadoopAPI方式操作Hadoop

2.1 命令行方式

首先启动Hadoop,执行start-all命令
常用命令如下
2.1.1 hadoop fs -ls / 列出根目录下文件
2.1.2 hadoop fs -ls 列出用户目录下文件
2.1.3 hadoop fs -lsr 递归列出目录文件
2.1.4 hadoop fs -mkdir -P /user/sheldonwong 递归创建文件
2.1.5 hadoop fs -rm -R /tmp/* 递归删除文件

2.2 API方式