既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
(1) Java
虽然现在Java的长期支持版本(Long Term Support,LTS)有8、11、17三个,但是当前各大数据软件如Hadoop等,仍然停留在Java 8上,所以本次选用Java 8。
(2) Hadoop
Hadoop 2.x相对于1.x版本变化巨大,但是Hadoop 3.x引入的新特性不多,本实验选用2.10.1版本。
3. 安装前的准备工作
3.1 Linux基础系统安装
本文将不会详细介绍如何安装Linux操作系统,详细原文点击下方阅读学习
-> 说走就走的Linux之旅,一小时打造虚拟机上的Anolis系统!
3.2 Java(JDK安装)
在完成Linux(Anolis Linux)基础系统安装并配置好网络以后,JDK可以使用如下命令(具备sudo权限的用户),一键安装:
sudo yum install java-1.8.0-openjdk
sudo yum install java-1.8.0-openjdk-devel
安装完成以后,可以通过如下命令,检查java(jdk)是否安装成功
java -version
javac -version
如图1所示,如果显示出java/javac的版本号,说明已经安装成功。
图 1. 检查java(JDK)是否安装成功
3.3 添加操作Hadoop系统的用户
一般设置一个专用的用户,操作Hadoop系统(含安装、配置,提交计算任务等),一般给该用户配置sudo权限,便于配置过程中执行一些高权限的操作。以下设置该用户名为hadoop
操作命令如下:
sudo useradd -s /bin/bash -m hadoop
sudo passwd hadoop
sudo usermod -aG wheel hadoop
按照提示输入即可(注意虽然密码长度不足8位,会出现警告,但是仍然可以设置)
整个过程如图2所示
图2 添加Hadoop用户并设置密码、sudo权限
注意:当我们创建了一个hadoop用户,我们接下来的所有操作都在在hadoop这个用户下进行操作,所以先要进行切换用户,否者在后面的安装过程中会出现操作的权限不够的情况。
3.4 生成ssh密钥、配置SSH免密登录
无论单节点的伪分布式部署,还是3节点的完全分布式部署,均需要配置SSH免密登录。
配置SSH免密登录,需要如下两步:
(1) 生成当前用户的密钥
使用命令如下:
ssh-keygen -t rsa
然后按照提示输入即可
(2) 将生成的公钥安装到目标服务器上
使用命令如下:
ssh-copy-id 用户名@目标服务器的IP,按照提示输入密码等
例如,安装到本机当前用户(hadoop)
ssh-copy-id hadoop@localhost
如图4所示,其中红色框中的“yes”是手工输入的,然后回车。
图4 向目标服务器安装SSH密钥
3.5 安装wget工具(Linux系统下的下载工具)
输入命令:
sudo yum install wget
图 5 安装wget工具
4. Hadoop伪分布式安装
4.1 下载安装包
Hadoop国外服务器来下载太慢了,本文选用从国内清华镜像站
在命令行下输入如下命令
wgethttps://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
图 6 下载安装文件
4.2 解压文件并放置到适当的位置
一般将用户自己安装的程序放在**/usr/local/目录下,为了便于管理,我们统一创建/usr/local/bda/目录,并将此目录(及其子目录)的所有者改为hadoop**
sudo mkdir /usr/local/bda
sudo chown -R hadoop:hadoop /usr/local/bda
cd ~ # 切换回hadoop用户的home目录
tar xzvf hadoop-2.10.1.tar.gz
如图7所示。
注意:如果提示找不到 tar 命令,则需要先安装,如下面命令所示:
sudo yum install tar
图 7 创建目录、解压安装文件
将解压后的文件夹移动到**/usr/local/bda/**目录下,并改名
mv ~/hadoop-2.10.1 /usr/local/bda/hadoop
4.3 配置Hadoop的配置文件
Hadoop 2.x主要由HDFS、yarn、MapReduce三部分组成,因此总共有5个文件需要进行配置,分别是:
- hadoop-env.sh:Hadoop运行环境
- core-site.xml:集群全局参数
- hdfs-site.xml:HDFS的配置
- yarn-site.xml:集群资源管理系统参数
- mapred-site.xml:MapReduce的参数
以下详细介绍。
需要说明的是:在执行完本节(4.3)的配置后,实际上完成的是整个Hadoop的配置(含MapReduce、YARN)而不仅仅是HDFS的配置。
4.3.1 建立Hadoop所需的目录
我们需要有一个思想就是Linux系统内的所有东西,皆文件的思想,那么我们部署hadoop系统,也是要建立相关目录文件,因为HDFS、MapReduce正常工作,需要一些专用的目录的辅助。因此在开始配置之前,需要建立相应的文件夹,如下
mkdir /usr/local/bda/hadoop/tmp
mkdir /usr/local/bda/hadoop/var
mkdir /usr/local/bda/hadoop/dfs
mkdir /usr/local/bda/hadoop/dfs/name
mkdir /usr/local/bda/hadoop/dfs/data
4.3.2 配置hadoop-env.sh
Hadoop系统环境,只需要配置一个环境变量:JAVA_HOME,也就是告诉Hadoop系统,java的安装位置,使用如下命令打开配置文件:
vim /usr/local/bda/hadoop/etc/hadoop/hadoop-env.sh
进行如下修改,然后保存、退出。
图 8 hadoop-env.sh文件的修改
4.3.3 配置core-site.xml
vim /usr/local/bda/hadoop/etc/hadoop/core-site.xml
将如下内容添加到core-site.xml文件configure中:
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/bda/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
说明:此处进行了两项配置,(1)配置了hadoop的临时目录;(2)配置了文件系统缺省的主机和端口。因为是伪分布式系统,所以此处的主机名是localhost
配置以后的core-site.xml文件,如下图所示:
图 9 core-site.xml文件的配置
4.3.4 配置hdfs-site.xml
vim /usr/local/bda/hadoop/etc/hadoop/hdfs-site.xml
进行如下图的配置,各项的说明见下图中的红字,保存,退出
<configuration>
<property>
<name>dfs.name.dir </name>
<value>/usr/local/bda/hadoop/dfs/name </value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/bda/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks. </description>
</property>
<property>
<name>dfs.replication </name>
<value>1</value>
</property>
</configuration>
图 10 hdfs-site.xml文件的配置
4.3.5 配置mapred-site.xml
首先,将mapred-site.xml的配置模板文件mapred-site.xml.template复制一份,并命名为mapred-site.xml
然后用vim打开进行编辑
vim /usr/local/bda/hadoop/etc/hadoop/mapred-site.xml
配置内容如下图所示,保存、退出
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
p/mapred-site.xml
配置内容如下图所示,保存、退出
[外链图片转存中…(img-RcRWWkoX-1715522792072)]
[外链图片转存中…(img-n7vgHhKV-1715522792072)]
[外链图片转存中…(img-F1ItpLdE-1715522792072)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新