• 搭建hadoop伪分布式环境


    伪分布式就是只有一台机器,既是namenode又是datanode。一台阿里云服务器(centos)即可完成。

    Java环境

    首先需要安装Java环境,下载jdk的安装包,解压到/usr/java/,然后配置环境变量。

    vim /etc/profile
    
    #set java environment
    export JAVA_HOME=/usr/java/jdk1.8.0_151
    export PATH=$JAVA_HOEM/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    

    建立信任关系

    ssh-keygen -t rsa  #一路回车
    

    这个命令的作用是生成公钥和私钥,并且在该用户的根目录下生成.ssh目录。-t type rsa是一种加密算法。

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

    将生成的公钥添加到当前用户的认证文件中,ssh localhost 不需要输入密码则为成功。

    安装hadoop

    下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/

    tar -zvxf hadoop-2.6.5.tar.gz
    mv hadoop-2.6.5/ /usr/local/
    cd /usr/local/hadoop-2.6.5/
    

    配置hadoop环境变量

    #set hadoop environment 
    export HADOOP_HOME=/usr/local/hadoop-2.6.5
    export HADOOP_INSTALL=$HADOOP_HOME
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export YARN_HOME=$HADOOP_HOME
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    

    在hadoop中配置Java环境变量,这里不配置会报错。把里面的JAVA_HOME替换成本机真实的jdk路径。

    vim ./etc/hadoop/hadoop-env.sh
    
    # export JAVA_HOME=${JAVA_HOME}
    export JAVA_HOME=/usr/java/jdk1.8.0_151
    

    然后是配置hdfs和yarn。配置前先进到hadoop的根目录。

    cd /usr/local/hadoop-2.6.5/
    vim ./etc/hadoop/core-site.xml 
    vim ./etc/hadoop/hdfs-site.xml 
    vim ./etc/hadoop/yarn-site.xml 
    vim ./etc/hadoop/mapred-site.xml
    

    core-site.xml 配置文件内容如下:

    <configuration>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/usr/local/hadoop/tmp</value>
            <description>Abase for other temporary directories.</description>
        </property>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
            <description>NameNode URI</description>
        </property>
    </configuration>
    

    hdfs-site.xml 配置文件如下:

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
    </configuration>
    

    yarn-site.xml 配置文件如下:

    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    

    mapred-site.xml配置文件如下:

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    

    配置完成之后输入jps,应该有6个Java进程,缺一不可。

    8002 NameNode
    15624 Jps
    7449 ResourceManager
    7546 NodeManager
    7306 SecondaryNameNode
    8415 DataNode
    

    hadoop启动与关闭

    start-dfs.sh        #开启hdfs
    start-yarn.sh       #开启YARN
    start-all.sh        #开启所有服务
    stop-all.sh         #关闭所有服务
    

    遇到的问题

    datanode进程起不来问题,就是jps查看进程之后少一个datanode。

    rm -rf /usr/local/hadoop/tmp/
    

    这个路径是在前面core-site.xml 配置文件中对应的路径。然后重新启动。

    namenode进程起不来。

    rm -rf /usr/local/hadoop/tmp/
    hadoop namenode -format
    

    重新格式化namenode之后再重新启动。

    有问题先去日志文件中看,$HADOOP_HOME/logs 各个模块都对应不同的日志文件。

  • 相关阅读:
    在线网络考试系统源码
    zabbix通过api 批量自动添加主机
    python 连接数据库 区分线上和测试环境
    python 获取本机ip win or linux
    redis常用参数以及redis内存淘汰机制
    nginx常用配置
    Linux基础命令(之一)详解
    linux系统重要子目录介绍
    Linux系统根目录结构介绍
    Linux 基础优化配置
  • 原文地址:https://www.cnblogs.com/hello-daocaoren/p/8186299.html
Copyright © 2020-2023  润新知