• 搭建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 各个模块都对应不同的日志文件。

  • 相关阅读:
    重构之重新组织函数(Split Temporary Variable)
    HammperSpoon 不能 Focus Google Chrome 的问题
    如何让 vim 可以在命令行执行命令并且附加参数
    This bison version is not supported for regeneration of the Zend/PHP parsers
    php cURL library is not loaded
    aws linuxbrew GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2
    gen-cpp/.deps/ChildService.Plo: No such file or directory
    快速解码base64和utf-8的ASCII编码和URL解码
    英文版firefox显示中文字体丑的问题
    linux find 反转 查找没有被找到的结果
  • 原文地址:https://www.cnblogs.com/hello-daocaoren/p/8186299.html
Copyright © 2020-2023  润新知