windows子系统(wsl) Ubuntu16.04 下安装hadoop

本文详细介绍如何在Ubuntu系统上安装配置Hadoop伪分布式环境,包括系统准备、Java环境搭建、Hadoop安装与配置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用命令查看系统版本

sudo lsb_release -a

1.准备工作

1.1 创建hadoop用户

01:先打开终端(Ctrl+Alt+T)

键入指令:

sudo useradd -m hadoop -s /bin/bash

02:设置用户hadoop的登录密码

sudo passwd hadoop

提示会要求输入两次密码(键入密码不会显示),这里我就用的hadoop。

03:为用户hadoop增加管理员权限

sudo adduser hadoop sudo

(虽然增加了管理员权限,但后面有些地方还是需要进入root用户进行操作)

1.2 更新apt

接下来注销,登录到hadoop用户下。

为了安装一些软件,我们需要更新apt

sudo apt-get update 

1.3 安装SSH并配置SSH无密码登录

之前配置过hadoop的同学们,肯定是知道这个的。

网上是说Ubuntu已经自带了SSH client,还需要安装SSH server

sudo apt-get install openssh-server

这里安装完后如果重启了wsl下并不会启动sshd,必须手动启动

sudo service ssh restart

这里可用添加到 vi /etc/profile  里启动时可以自动运行

使用命令登录本机

这样做了,我们每次登录还是会需要输入密码。

接下来配置SSH无密码登录

SSH设置和密钥生成

SSH设置需要在集群上执行不同的操作,如启动,停止和分布式守护shell操作。进行身份验证不同的Hadoop用户,需要一种用于Hadoop的用户提供的公钥/私钥对,并用不同的用户共享。

以下的命令被用于生成使用SSH密钥值对。复制公钥从id_rsa.pub为authorized_keys,并提供所有者,读写权限到authorized_keys文件。

# su hadoop

$ ssh-keygen -t rsa

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

$ chmod 0600 ~/.ssh/authorized_keys

验证ssh

ssh localhost

接下来可以再次尝试ssh localhost,如若无需再次输入密码,既成功。

1.4 安装Java环境

01:下载和安装jdk

这里选择的版本是1.8.0_161

JDK1.8.0_161 64bit下载

下载好后,找到文件所在位置(以我的为例,在下载目录下)

  1. cd ~/下载

  2. mv ~/下载/jdk-8u161-linux-x64.tar.gz /usr/java //若提示权限不够,则进入root下操作

  3. tar -xvf /usr/java/jdk-8u161-linux-x64.tar.gz


可以在对应的路径下找到解压好的jdk文件

02:配置环境变量

 vi /etc/profile 


将如下环境变量写入文件的最后(i键,对文档开始编辑)

export JAVA_HOME=/usr/java/jdk1.8.0_161/
export CLASSPATH=/usr/java/jdk1.8.0_161/lib/*

保存,退出。(Esc--:wq)

接下来需要让环境变量生效:

source /etc/profile

检查是否配置正确:

java -version

还有一种安装方法可以参考:

Ubuntu 安装 JDK8 的两种方式 - 幕三少 - 博客园

这里安装完 java 在 /usr/lib/jvm/java-8-oracle 里

export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
export CLASSPATH=/usr/lib/jvm/java-8-oracle/lib/*

2.安装Hadoop

到这里可以找最新的hadoop

Index of /apache/hadoop/common

Apache Hadoop

cd /usr/local/

wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-3.1.0/hadoop-3.1.0.tar.gz

tar -vzxf hadoop-3.1.0.tar.gz

mv hadoop-3.1.0  hadoop

cd hadoop

./bin/hadoop version

可以通过附加下面的命令在 vi /etc/profile文件中以设置 Hadoop 环境变量。

export HADOOP_HOME=/usr/local/hadoop
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_INSTALL=$HADOOP_HOME

现在,应用所有更改到当前正在运行的系统。

source /etc/profile

3.Hadoop伪分布式配置

01. 配置core-site.xml

core-site.xml文件中包含,如:用于Hadoop实例的端口号,分配给文件系统,存储器限制用于存储数据存储器和读/写缓冲器的大小的信息。

vim /usr/local/hadoop/etc/hadoop/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>
        </property>
</configuration>

02. 配置hadoop-env.sh

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

找到被注释掉的JAVA_HOME

03. 配置hdfs-site.xml

hdfs-site.xml文件中包含,如:复制数据的值,NameNode的路径,本地文件系统,要存储Hadoop基础架构的Datanode路径的信息。

vi /usr/local/hadoop/etc/hadoop/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>

注:上面的文件,所有的属性值是用户定义的,可以根据自己的Hadoop的基础架构进行更改。

配置完成后,执行NameNode的格式化

/usr/local/hadoop/bin/hdfs namenode -format

验证Hadoop安装

下面的步骤是用来验证Hadoop的安装。

第1步 - 名称节点设置

设置名称节点使用“hdfs namenode -format”命令如下

$ /usr/local/hadoop/bin/hdfs namenode -format

预期的结果如下。

10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to
retain 1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/ 

第2步 - 验证Hadoop DFS

下面的命令用来启动DFS。执行这个命令将启动Hadoop文件系统。

这里不能再root下运行,切换到 hadoop用户下运行

#su hadoop
sudo /usr/local/hadoop/sbin/start-dfs.sh

这里如果出现权限问题

运行命令

sudo chown -R hadoop:root /usr/local/hadoop

把hadoop目录所有用户改到hadoop上

再次运行命令

 /usr/local/hadoop/sbin/start-dfs.sh

就是成功了

至此,完成配置,可通过jps查看是否启动成功。

访问Hadoop上的浏览器

访问Hadoop的默认端口号为50070。使用以下网址,以获取Hadoop服务在浏览器中。

http://localhost:50070

若发现404问题

1. 手动修改hdfs-site.xml 添加如下:

<property>
  <name>dfs.http.address</name>
  <value>127.0.0.1:50070</value>
</property>

127.0.0.1是对应的localhost地址

yarn-site.xml

此文件用于配置成yarn在Hadoop中。打开yarn-site.xml文件,并在<configuration><configuration>标签之前添加以下属性到这个文件中。

vi /usr/local/hadoop/etc/hadoop/yarn-site.xml

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

mapred-site.xml

此文件用于指定MapReduce框架以使用。默认情况下Hadoop包含yarn-site.xml模板。首先,它需要从mapred-site.xml复制模板到mapred-site.xml文件,使用下面的命令来。

vi /usr/local/hadoop/etc/hadoop/mapred-site.xml

如果存在不存在 mapred-site.xml 文件 
$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

打开 mapred-site.xml 文件,并在<configuration> 和 </configuration>标签之间添加以下属性。

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

 验证Yarn脚本

下面的命令用来启动yarn脚本。执行此命令将启动yarn守护进程。

$ sudo /usr/local/hadoop/sbin/start-yarn.sh

验证集群中的所有应用程序

访问群集的所有应用程序的默认端口号为8088。使用以下URL访问该服务。

http://localhost:8088/

部分转载 : Ubuntu16.04 安装hadoop伪分布式1_国美学弟的博客-优快云博客 

之后如果要启动hadoop可以用以下命令批量启动

/usr/local/hadoop/sbin/start-all.sh

### 如何在 Windows Subsystem for Linux (WSL)安装和配置 Hadoop #### 安装 WSLUbuntu 为了能够在 WSL 中运行 Hadoop,首先需要确保已正确安装并启用了 WSL 功能以及其默认的 Linux 发行版(如 Ubuntu)。可以通过以下命令启用 WSL安装 Ubuntu: ```powershell # 启用 WSL 特性 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 下载并安装 Ubuntu wsl --install -d Ubuntu ``` 完成上述操作后,启动 Ubuntu 并更新包管理器以获取最新软件版本。 #### 配置 Java 环境 Hadoop 运行依赖于 Java 环境。因此,在安装 Hadoop 前需先安装 OpenJDK 或 Oracle JDK。以下是基于 Ubuntu安装方法: ```bash sudo apt update && sudo apt upgrade -y sudo apt install openjdk-11-jdk -y java -version # 检查 Java 是否成功安装 ``` 设置 JAVA_HOME 环境变量以便后续使用: ```bash echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc source ~/.bashrc ``` #### 下载与解压 Hadoop 下载适合系统的 Hadoop 版本,并将其解压缩到指定目录下: ```bash wget https://downloads.apache.org/hadoop/common/stable/hadoop-3.3.1.tar.gz tar -xzvf hadoop-3.3.1.tar.gz -C ~/opt/ mv ~/opt/hadoop-3.3.1/ ~/hadoop rm hadoop-3.3.1.tar.gz ``` 编辑环境变量文件 `.bashrc` 来添加 Hadoop 路径至 PATH 变量中: ```bash echo 'export HADOOP_HOME=~/hadoop' >> ~/.bashrc echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc source ~/.bashrc ``` #### 修改 Hadoop 配置文件 进入 `~/hadoop/etc/hadoop` 文件夹并对核心配置文件进行修改。主要涉及以下几个文件的内容调整: ##### core-site.xml 定义 HDFS 默认存储路径以及其他基础参数: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` ##### hdfs-site.xml 设定 NameNode 数据节点位置及相关副本策略: ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` ##### mapred-site.xml 更改 MapReduce 使用框架为 YARN: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` ##### yarn-site.xml YARN 相关资源配置如下所示: ```xml <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` #### 初始化 HDFS 文件系统 执行以下命令初始化 HDFS 名字空间结构: ```bash hdfs namenode -format ``` #### 启动 Hadoop 服务 依次启动 HDFS 和 YARN 服务组件: ```bash start-dfs.sh start-yarn.sh ``` 验证集群状态是否正常工作: ```bash jps # 应显示 NameNode, DataNode, ResourceManager, NodeManager 等进程 ``` 如果一切顺利,则表明已在 WSL 环境下的 Ubuntu 成功搭建单机模式 Hadoop[^1]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值