在WSL2内搭建伪分布式Hadoop

讨论 Nvv
Lv1 居士
发布在 大数据   1684   1
讨论 Nvv   1684   1

    在WSL2内搭建伪分布式Hadoop

    安装JDK

    1. 为了加快软件的下载安装,选择更换源,这里选择清华镜像
    2. 备份原来的source文件
      sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    3. 修改原来的source文件
      sudo vim /etc/apt/sources.list
    4. 更新软件列表
      sudo apt-get update
    5. 安装JDK/JRE-8
      sudo apt install openjdk-8-jre openjdk-8-jdk
    6. 查看JDK的版本
      java -version

    安装Hadoop

    1. 这里选择一个镜像
    2. 选择2.10.1版本进行下载
      mkdir /home/niejw/download
      wget -P /home/niejw/download http://mirrors.hust.edu.cn/apache/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz
    3. 安装Hadoop 根据Linux的文件目录设置规范,/opt主要用于存放第三方软件包和数据文件
      sudo mkdir /opt/hadoop
      sudo tar zxvf /home/niejw/download/hadoop-2.10.1.tar.gz -C /opt/hadoop
    4. 查看JDK安装的路径
      dpkg -L openjdk-8-jdk
    5. 配置Hadoop和JAVA的环境变量
      vim /home/niejw/.bashrc
      # hadoop path
      export HADOOP_HOME=/opt/hadoop/hadoop-2.10.1
      export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
      # java path
      export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
      source /home/niejw/.bashrc
    6. 查看Hadoop版本
      hadoop version
    7. 安装完毕!

    配置Hadoop

    1. 复制配置文件夹
      cp -r /opt/hadoop/hadoop-2.10.1/etc/hadoop /opt/hadoop/hadoop-2.10.1/etc/hadoop.bak
    2. 修改配置文件
      <?xml version="1.0"?>
      <!-- core-site.xml -->
      <configuration>
      <property>
       <name>fs.defaultFS</name>
       <value>hdfs://localhost/</value>
      </property>
      </configuration>
      
    
    ```xml
    <?xml version="1.0"?>
    <!-- hdfs-site.xml -->
    <configuration>
      <property>
      <name>dfs.replication</name>
      <value>1</value>
      </property>
    </configuration>
    cp /opt/hadoop/hadoop-2.10.1/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop-2.10.1/etc/hadoop/mapred-site.xml
    <?xml version="1.0"?>
    <!-- mapred-site.xml -->
    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
    </configuration>
    
    <?xml version="1.0"?>
    <!-- yarn-site.xml -->
    <configuration>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
      </property>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    </configuration>

    配置SSH

    1. 基于空口令生成一个SSH密钥
      ssh-keygen -t rsa
      cat /home/niejw/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
      chmod 600 ~/.ssh/authorized_keys
      rm /home/niejw/.ssh/id_rsa.pub
      如果修改了私钥文件名字,需要去 /etc/ssh/ssh_config 修改私钥名字 /etc/ssh/ssh_config 用于修改客户端 /etc/ssh/sshd_config 用于修改服务端
    1. 启动SSH服务
      sudo service ssh start
    2. 设置SSH免密登录
      sudo vim /etc/ssh/sshd_config
      PermitEmptyPasswords yes
      sudo service ssh restart
      ssh localhost

    格式化文件系统

    1. 首次使用Hadoop需要格式化文件系统
      hdfs namenode -format

    启动和终止守护进程

    1. 启动HDFS守护进程
      start-dfs.sh
      这里还是报错了,但是env和export都有设置JAVA_HOME
    localhost: Error: JAVA_HOME is not set and could not be found.

    进入 /opt/hadoop/hadoop-2.10.1/etc/hadoop/hadoop-env.sh 修改为

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

    再次启动HDFS守护进程

    start-dfs.sh
    1. 启动YARN守护进程
    start-yarn.sh
    1. 启动MapReduce守护进程

      mr-jobhistory-daemon.sh start historyserver
    2. 如果想终止守护进程

      mr-jobhistory-daemon.sh stop historyserver
      stop-yarn.sh
      stop-dfs.sh

    namenode查看 资源管理器查看 历史服务器查看

    这里有一个点,我是在WSL2内装的Hadoop,当时无法访问资源管理器,因为8088端口在tcp6上面,导致主机无法访问,需要做如下修改

    netstat -tnpl
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>0.0.0.0</value>
    </property>
    版权声明:作者保留权利,不代表意本站立场。如需转载请联系本站以及作者。

    参与讨论

    回复《 在WSL2内搭建伪分布式Hadoop

    EditorJs 编辑器

    沙发,很寂寞~
    反馈
    to-top--btn