美文网首页
【ubuntu】部署hadoop

【ubuntu】部署hadoop

作者: 一钱科技 | 来源:发表于2022-12-28 17:13 被阅读0次

       hadoop版本:3.3.4

    或者: 下载 3.3.4

    环境准备

    • Java 8环境
    sudo apt-get install openjdk-8-jdk
    java -version
    # 配置环境变量
    sudo echo export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" >> ~/.bashrc
    source ~/.bashrc 
    echo $JAVA_HOME
    
    • 其他软件
    sudo apt-get install ssh
    sudo apt-get install pdsh
    

    hadoop环境配置

    • 变量设置
    # 解压文件,如果出现文件名过长,则放在根目录下
    # 修改 etc/hadoop/hadoop-env.sh,设置java_home
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    
    # 运行命令,判断环境变量是否正确
    bin/hadoop
    

    单机节点

    # 单机简单示例,将配置xml文件拷贝到input文件夹,通过正则表达式,筛选文件放在output文件夹
    mkdir input
    cp etc/hadoop/*.xml input
    bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar grep input output 'dfs[a-z.]+'
    cat output/*
    

    伪集群节点

      单机伪集群部署

    • 变量设置
    # 修改etc/hadoop/core-site.xml
    <configuration>
       <property>
           <name>fs.defaultFS</name>
           <value>hdfs://localhost:9000</value>
       </property>
    </configuration>
    
    # 修改etc/hadoop/hdfs-site.xml
    <configuration>
       <property>
           <name>dfs.replication</name>
           <value>1</value>
       </property>
    </configuration>
    
    • 启动 passphraseless ssh
    # 检查本地环境
    ssh localhost
    
    # 如果不能免密登录,则执行命令:
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 0600 ~/.ssh/authorized_keys
    
    • 执行mapreduce任务
    # 格式化文件系统
    bin/hdfs namenode -format
    
    # 启动NameNode和DataNode
    sbin/start-dfs.sh
    
    # 查看NodeName
    http://localhost:9870/
    
    # 创建mapreduce任务所需hdfs目录
    bin/hdfs dfs -mkdir /home
    bin/hdfs dfs -mkdir /home/test
    
    # 拷贝文件的到input文件夹
    bin/hdfs dfs -mkdir input
    bin/hdfs dfs -put etc/hadoop/*.xml input
    
    # 执行样例
    bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar grep input output 'dfs[a-z.]+'
    
    # 计算结果
    bin/hdfs dfs -get output output
    cat output/*
    
    # 结束节点
    sbin/stop-dfs.sh
    

    如果使用root用户登录,则需要在start-dfs.sh,stop-dfs.sh中设置

    HDFS_DATANODE_USER=root
    HADOOP_SECURE_DN_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    

    相关文章

      网友评论

          本文标题:【ubuntu】部署hadoop

          本文链接:https://www.haomeiwen.com/subject/acinqdtx.html