Hadoop 01:伪分布式安装

介绍伪分布式安装Hadoop步骤。

  1. 操作系统:CentOS-7-x86_64-Everything-1611
  2. 切换到root用户

    1
    2
    $ su
    Password:
  3. 开启SSH远程登录

  4. 关闭防火墙和禁用SELinux

    1
    2
    3
    4
    5
    6
    # service iptables stop   // 暂时关闭
    # chkconfig iptables off // 永久关闭
    # systemctl stop firewalld.service // 关闭firewall
    # systemctl disable firewalld.service // 禁止firewall开机启动
    # service iptables status // 查看防火墙状态
    # vim /etc/sysconfig/selinux // 设置SELINUX=disabled
  5. 设置静态IP地址

    1
    2
    3
    4
    5
    6
    # vim /etc/sysconfig/network-scripts/ifcfg-eth0
    ONBOOT=yes
    IPADDR=10.211.55.11
    GATEWAY=10.211.55.1

    # service network restart
  6. 修改HostName

    1
    2
    3
    4
    # hostname hadoop.o.cn  // 当前生效
    # vim /etc/sysconfig/network // 下次启动生效
    NETWORKING=yes
    HOSTNAME=hadoop.o.cn
  7. IP与HostName绑定

    1
    2
    # vim /etc/hosts
    10.211.55.11 hadoop.o.cn hadoop // 用tab分隔,不用空格
  8. 安装JDK

    1
    2
    3
    4
    5
    6
    7
    8
    安装目录 /opt/modules/jdk1.8.0_121
    # sudo vim ~/.bashrc // 文件末尾添加以下内容
    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH

    # source ~/.bashrc
  9. 设置系统默认jdk版本

    1
    2
    3
    4
    5
    6
    7
    8
    # update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_121/bin/java 300  
    # update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_121/bin/javac 300
    # update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_121/bin/jar 300
    # update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.8.0_121/bin/javah 300
    # update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.8.0_121/bin/javap 300
    # update-alternatives --config java
    # java -version
    java version "1.8.0_121"
  10. hadoop安装目录:/opt/modules/

  11. 解压TAR包

    1
    # tar -zxvf hadoop-2.8.0.tar.gz -C /opt/modules/
  12. 进入hadoop文件夹

    1
    # cd /opt/modules/hadoop-2.8.0
  13. 修改配置文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    # cd /opt/modules/hadoop-2.8.0/etc/hadoop

    # vim hadoop-env.sh // 如下修改JAVA_HOME
    export JAVA_HOME=/opt/modules/jdk1.8.0_121

    # vim yarn-env.sh // 添加以下内容
    export JAVA_HOME=/opt/modules/jdk1.8.0_121

    # vim mapred-env.sh // 添加以下内容
    export JAVA_HOME=/opt/modules/jdk1.8.0_121

    # vim core-site.xml // 配置NameNode和缓存文件夹
    <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop.o.cn:8020</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/modules/hadoop-2.8.0/data/tmp</value>
    </property>
    </configuration>

    # vim hdfs-site.xml // 设置hdfs副本数为1
    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    </configuration>

    # vim yarn-site.xml // 配置yarn
    <configuration>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    </configuration>

    # cp mapred-site.xml.template mapred-site.xml // 复制模板
    # vim mapred-site.xml // mapreduce运行于yarn框架中
    <configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    </configuration>
  14. 退回Hadoop根目录

    1
    2
    # cd /opt/modules/Hadoop-2.8.0  // 退回Hadoop根目录
    # mkdir -p data/tmp // 创建core-site.xml中的tmp目录
  15. 启动HDFS

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # bin/hdfs namenode -format  // NameNode格式化
    扩展:
    * 指定Cluster ID为yarn-cluster
    # bin/hdfs namenode -format -clusterid yarn-cluster

    # sbin/hadoop-daemon.sh start namenode // 启动NameNode
    # sbin/hadoop-daemon.sh start datanode // 启动DataNode
    # sbin/hadoop-daemon.sh start secondarynamenode // 启动SecondaryNameNode
    # jps // 查看进程
    5751 DataNode
    11114 Jps
    5098 NameNode
    11051 SecondaryNameNode
  16. 创建File system

    1
    2
    3
    4
    # bin/hdfs dfs -mkdir /data01
    # bin/hdfs dfs -ls / // 查看
    Found 1 items
    drwxr-xr-x - root supergroup 0 2017-04-06 14:41 /data01
  17. 登录hadoop.o.cn:50070
    Utilities -> Browser the file system 可看到data01

  18. 日志文件:$HADOOP_HOME/logs
    .log :通过log4j记录的大部分应用程序的日志
    .out :记录标准输出和标准错误日志,少量
    命名规则:框架名称 - 用户名 - 进程名 - 主机名 - 日志格式后缀

分享到