zoukankan      html  css  js  c++  java
  • hadoop本地模式安装及配置

    创建普通用户

    #仅测试环境使用
    hostnamectl set-hostname centos-hadoop01
    chmod 777 /opt/
    chmod 777 /etc/profile
    #仅测试环境使用
    sudo su -
    useradd centos
    echo "centos:centos" | chpasswd
    su - centos
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cd ~/.ssh
    cat id_rsa.pub >> authorized_keys
    chmod 755 authorized_keys
    ssh localhost
    

    下载jdk

    jdk-8u201-linux-x64.tar.gz
    下载目录
    https://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html
    https://www.oracle.com/java/technologies/javase-java-archive-javase8-downloads.html


    可复制标红处链接下载

    wget https://download.oracle.com/otn/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz?AuthParam=1575547827_c9c9f7cea2ec927a68265154d5dd9325
    

    正常解压即可

    tar xf jdk-8u201-linux-x64.tar.gz
    echo -e '
    #配置java环境变量' >> /etc/profile
    echo -e 'export JAVA_HOME=/opt/jdk1.8.0_201' >> /etc/profile
    echo -e 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
    source /etc/profile
    java -version
    

    下载hadoop

    hadoop下载地址
    https://archive.apache.org/dist/hadoop/common
    https://www.apache.org/dyn/closer.cgi/hadoop/common/

    wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
    tar xf hadoop-3.2.1.tar.gz
    

    安装配置hadoop

    core-site.xml

    vim /opt/hadoop-3.2.1/etc/hadoop/core-site.xml

    <configuration>
        <!--指定HDFS中NameNode的址-->
        <property>
        <name>fs.defaultFS</name>
        <value>hdfs://s101:9000</value>
        </property>
        
        <!--指定hadoop运行产生文件(DataNode)的存储目录-->
        <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop/data/tmp</value>
        </property>
    </configuration>
    

    添加变量

    echo -e '
    #配置hadoop环境变量' >> /etc/profile
    echo -e 'export HADOOP_HOME=/opt/hadoop-3.2.1' >> /etc/profile
    echo -e 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile
    echo -e 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile
    source /etc/profile
    

    core-site.xml

    vim /opt/hadoop/etc/hadoop/core-site.xml

    <configuration>
        <!--指定HDFS中NameNode的址-->
        <property>
        <name>fs.defaultFS</name>
        <value>hdfs://s101:9000</value>
        </property>
        
        <!--指定hadoop运行产生文件(DataNode)的存储目录-->
        <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop/data/tmp</value>
        </property>
    </configuration>
    

    hdfs-site.xml

    vim /opt/hadoop-3.2.1/etc/hadoop/hdfs-site.xml

    <configuration>
    <!--指定HDFS副本数量,这里只设置了一个节点(hadoop01)副本数量为1)-->
            <property>
                    <name>dfs.replication</name>
                    <value>1</value>
            </property>
    </configuration>
    

    hadoop-env.sh

    vim /opt/hadoop-3.2.1/etc/hadoop/hadoop-env.sh

    echo 'export JAVA_HOME=/opt/jdk1.8.0_201' >> /opt/hadoop-3.2.1/etc/hadoop/hadoop-env.sh
    

    mapred-site.xml

    vim /opt/hadoop-3.2.1/etc/hadoop/mapred-site.xml

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

    yarn-site.xml

    vim /opt/hadoop-3.2.1/etc/hadoop/yarn-site.xml

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

    hadoop逻辑格式化

    hdfs namenode -format
    

    测试hadoop

    启动namenode:

    start-all.sh
    

    检查里程

    jps
    

    浏览器打开检查

    http://ip:50070/
    

    错误

    Starting namenodes on [s101]
    ERROR: Attempting to operate on hdfs namenode as root
    ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
    Starting datanodes
    ERROR: Attempting to operate on hdfs datanode as root
    ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
    Starting secondary namenodes [s101]
    ERROR: Attempting to operate on hdfs secondarynamenode as root
    ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
    

    出现以上问题,表明不接受root用户启动hdfs。把sbin/start-dfs.sh和sbin/stop-dfs.sh在文件头部追加以下内容

    HDFS_DATANODE_USER=root
    HADOOP_SECURE_DN_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    
  • 相关阅读:
    Stacks And Queues
    Programming Assignment 5: Burrows–Wheeler Data Compression
    Data Compression
    Regular Expressions
    Programming Assignment 4: Boggle
    Oracle 查询表的索引包含的字段
    pycharm
    Java文件:追加内容到文本文件
    okhttp 使用response.body().string()获取到的数据是一堆乱码
    彻底解决unable to find valid certification path to requested target
  • 原文地址:https://www.cnblogs.com/anyux/p/11995275.html
Copyright © 2011-2022 走看看