美文网首页
Hadoop单机模式(伪分布式)

Hadoop单机模式(伪分布式)

作者: andrewliu20 | 来源:发表于2024-03-11 09:42 被阅读0次

    一: Hadoop前置工作

    1. 设置主机名,添加配置文件中的信息
    vi /etc/sysconfig/network
    
    NETWORKING=YES
    HOSTNAME=node1
    
    1. 映射主机名称
    vi /etc/hosts
    
    192.168.191.131 node1
    
    1. 关闭防火墙和开启自启动
    sevice  iptables stop
    chkconfig iptables off
    vi /etc/selinux/config
    SELINUX=disabled
    
    1. 服务器时间同步
    yum install ntp -y
    vi /etc/ntp.conf
    #文件中添加
    server ntp1.aliyun.com
    #启动
    service  ntpd start
    #开机自启动
    chkconfig ntpd on
    
    1. 设置各个服务器间免密登陆
    #验证本机否开启免密
    ssh localhost
    #生成秘钥对
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    #本服务器免加密,如果需要其他机器免加密,就需要吧公钥发给其他机器目录下
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    

    二: Hadoop配置

    1. Hadoop包部署,创建文件存放目录,解压hadoop文件到该目录(下载包地址:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.6/hadoop-3.3.6-src.tar.gz)
    mkdir /opt/bigdata
    tar -xf  hadoop-3.3.6-src.tar.gz
    
    1. 配置hadoop可执行文件全局执行
    vi /etc/profile
    export HADOOP_HOME=/opt/bigdata/hadoop-3.3.6
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
    1. 配置hadoop的角色/环境配置
    cd $HADOOP/etc/hadoop/
    #给hadoo配置java环境
    vi  hadoop-env.sh
    export JAVA_HOME=/usr/java/jdk-11.0.18
    
    vi core-site.xml
    #给NN角色在哪里启动
    <property>
            <name>fs.defaultFS</name>
            <value>hdfs://node1:9000</value>
      </property>
    #hdfs 副本/块的副本
    vi  hdfs-site.xml
    <configuration>
          <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
     #修改namenode元数据存放地址
      <property>
            <name>dfs.namenode.name.dir</name>
            <value>/var/bigdata/local/dfs/name</value>
        </property>
     #修改datanode block块存放地址
      <property>
            <name>dfs.datanode.data.dir</name>
            <value>/var/bigdata/local/dfs/data</value>
        </property>
     #修改datanode 启动的http-address
      <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>node1:50090</value>
        </property>
    #修改namesecondary 目录位置
      <property>
            <name>dfs.namenode.checkpoint.dir</name>
            <value>/var/bigdata/local/dfs/namesecondary</value>
        </property>
    </configuration>
    
    #在某台机器启动datanode
    vi  workers
    node1
    
    1. 初始化&启动hadoop
    # 格式化 创建一个目录,创建了fsimages空文件
    hdfs namenode -format
    
    #启动
    start-dfs.sh 
    

    注意:如果以下报错,需要在/etc/profile中添加

    #启动报错信息
    ERROR: Attempting to operate on hdfs namenode as root
    ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
    
    #需要在profile中添加
    export HDFS_NAMENODE_USER=root
    export HDFS_DATANODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root
    export YARN_RESOURCEMANAGER_USER=root
    export YARN_NODEMANAGER_USER=root
    
    
    1. 访问hadoop前端页面 http://192.168.191.131:(50070)9870/ 你是Hadoop3.x以上的版本,需要将端口号50070改成9870.

    2. 在Hadoop的hdfs中创建一个目录,在前端http://node1:9870/explorer.html#/中可以看到文件目录(namenode)

    hdfs dfs -mkdir /bigdata
    
    1. 上传数据到Hadoop中(namenode)
     hdfs dfs -put file.log /user/root
    
    1. Hadoop的dataNode的数据存放路径
    /var/bigdata/local/dfs/data/current/BP-2129942362-127.0.0.1-1709004244410/current/finalized/subdir0/subdir0
    

    相关文章

      网友评论

          本文标题:Hadoop单机模式(伪分布式)

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