• Hadoop 单机部署 • 连接服务器 • 安装依赖 • 下载 Hadoop • 启动 Hadoop • Reference

Hadoop 单机部署

本安装过程是对 Click Here ! 所述内容的复现。详情请见原网址。

连接服务器

使用 OpenSSH 连接至 ECS(CentOS7),并以 root 身份登录(不推荐)。
+----------------------------------------------------------------------------------+ | PS C:\Users\Lalala> ssh [email protected] | | Last login: Tue Oct 8 19:08:05 2024 from 117.154.xxx.57 | | | | Welcome to Alibaba Cloud Elastic Compute Service ! | +----------------------------------------------------------------------------------+
查看系统信息:
________________________________________________________________________________________ | ANSI | - | o | x | |========================================================================================| | lalala@Alibaba-Cloud-Elastic-Compute-Service:~$ neofetch --ascii_distro centos | | .. lalala@Alibaba-Cloud-Elastic-Compute-Service | | .PLTJ. -------------------------------------------- | | <><><><> OS: Fedora release 40 (Forty) x86_64 | | KKSSV' 4KKK LJ KKKL.'VSSKK Host: Alibaba Cloud ECS pc-i440fx-2.1 | | KKV' 4KKKKK LJ KKKKAL 'VKK Kernel: 6.10.10-200.fc40.x86_64 | | V' ' 'VKKKK LJ KKKKV' ' 'V Uptime: 11 days, 1 hour, 12 mins | | .4MA.' 'VKK LJ KKV' '.4Mb. Packages: 1017 (rpm) | | . KKKKKA.' 'V LJ V' '.4KKKKK . Shell: bash 5.2.26 | | .4D KKKKKKKA.'' LJ ''.4KKKKKKK FA. Resolution: 1024x768 | | <QDD ++++++++++++ ++++++++++++ GFD> Terminal: /dev/pts/1 | | 'VD KKKKKKKK'.. LJ ..'KKKKKKKK FV CPU: Intel Xeon Platinum (2) @ 2.500GHz | | ' VKKKKK'. .4 LJ K. .'KKKKKV ' GPU: 00:02.0 Cirrus Logic GD 5446 | | 'VK'. .4KK LJ KKA. .'KV' Memory: 338MiB / 1701MiB | | A. . .4KKKK LJ KKKKA. . .4 | | KKA. 'KKKKK LJ KKKKK' .4KK | | KKSSA. VKKK LJ KKKV .4SSKK | | <><><><> | | 'MKKM' | | '' | | | | | | [root@ecs ~]# neofetch | | .. root@ecs | | .PLTJ. -------- | | <><><><> OS: CentOS Linux release 7.9.2009 (Core) x86_64 | | KKSSV' 4KKK LJ KKKL.'VSSKK Host: Alibaba Cloud ECS pc-i440fx-2.1 | | KKV' 4KKKKK LJ KKKKAL 'VKK Kernel: 3.10.0-1160.92.1.el7.x86_64 | | V' ' 'VKKKK LJ KKKKV' ' 'V Uptime: 5 days, 18 hours, 32 mins | | .4MA.' 'VKK LJ KKV' '.4Mb. Packages: 449 (rpm) | | . KKKKKA.' 'V LJ V' '.4KKKKK . Shell: bash 4.2.46 | | .4D KKKKKKKA.'' LJ ''.4KKKKKKK FA. Resolution: 1024x768 | | <QDD ++++++++++++ ++++++++++++ GFD> Terminal: /dev/pts/0 | | 'VD KKKKKKKK'.. LJ ..'KKKKKKKK FV CPU: Intel Xeon Platinum (2) @ 2.500GHz | | ' VKKKKK'. .4 LJ K. .'KKKKKV ' GPU: Cirrus Logic QEMU Virtual Machine | | 'VK'. .4KK LJ KKA. .'KV' Memory: 285MiB / 1738MiB | | A. . .4KKKK LJ KKKKA. . .4 | | KKA. 'KKKKK LJ KKKKK' .4KK | | KKSSA. VKKK LJ KKKV .4SSKK | | <><><><> | | 'MKKM' | | '' | '========================================================================================'

安装依赖

本次要安装的 Hadoop 目标版本为 3.4.0,release date 是 2024-03-17。 通过查阅 Click here 得知该版本推荐的 java version 是 8 或者 11。 由于 ECS 上已经安装了 OpenSSH,所以不用再次安装。接下来,根据 Required Software List,需要安装的软件是: Softwall YUM Package Name APT Package Name -------- ---------------- ---------------- pdsh pdsh pdsh OpenJDK 11 java-11-openjdk.x86_64 openjdk-11-jdk
+----------------------------------------------------------------------------------+ | yes | sudo yum install pdsh java-11-openjdk.x86_64 | +----------------------------------------------------------------------------------+
安装完成后查看版本信息。
+----------------------------------------------------------------------------------+ | [root@ecs ~]# pdsh -V | | pdsh-2.34 (+readline+debug) | | rcmd modules: ssh,exec (default: ssh) | | misc modules: (none) | | [root@ecs ~]# java --version | | openjdk 11.0.23 2024-04-16 LTS | | OpenJDK Runtime Environment (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS) | | OpenJDK 64-Bit Server VM (Red_Hat-11.0.23.0.9-2.el7_9) (build 11.0.23+9-LTS, mix | | ed mode, sharing) | +----------------------------------------------------------------------------------+

下载 Hadoop

下载发行版本。 https://dlcdn.apache.org/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz 但是下载速度有限,所以采用阿里云镜像仓库中托管的版本: https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz
+----------------------------------------------------------------------------------+ | [root@ecs ~]# wget https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.4.0/ | | hadoop-3.4.0.tar.gz | +----------------------------------------------------------------------------------+
查看下载的软件。
+----------------------------------------------------------------------------------+ | [root@ecs hadoop]# ll -h | | total 921M | | -rw-r--r-- 1 root root 921M Oct 10 16:16 hadoop-3.4.0.tar.gz | +----------------------------------------------------------------------------------+
验证校验和:
+----------------------------------------------------------------------------------+ | [root@ecs hadoop]# sha512sum hadoop-3.4.0.tar.gz | | 6f653c0109f97430047bd3677c50da7c8a2809d153b231794cf980b3208a6b4beff8ff1a03a01094 | | 299d459a3a37a3fe16731629987165d71f328657dbf2f24c hadoop-3.4.0.tar.gz | | [root@ecs hadoop]# curl https://dlcdn.apache.org/hadoop/common/hadoop-3.4.0/hado | | op-3.4.0.tar.gz.sha512 | | SHA512 (hadoop-3.4.0.tar.gz) = 6f653c0109f97430047bd3677c50da7c8a2809d153b231794 | | cf980b3208a6b4beff8ff1a03a01094299d459a3a37a3fe16731629987165d71f328657dbf2f24c | +----------------------------------------------------------------------------------+
解压并去归档。
+----------------------------------------------------------------------------------+ | [root@ecs hadoop]# tar -xf hadoop-3.4.0.tar.gz | | [root@ecs hadoop]# ls | | hadoop-3.4.0 hadoop-3.4.0.tar.gz | +----------------------------------------------------------------------------------+
# 配置 Hadoop 查找 JAVA_HOME(即 jdk 安装位置)的路径: Method1: 通过 java -verbose 的输出查询
+----------------------------------------------------------------------------------+ | [root@ecs alternatives]# java -verbose | | [0.017s][info][class,load] opened: /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el | | 7_9.x86_64/lib/modules | | ... | +----------------------------------------------------------------------------------+
Method2: 通过 which 工具寻找java可执行文件的位置,通过 ls 或 readlink 工具查询符号连接指向,直至指向原始文件,从而获知安装位置
+----------------------------------------------------------------------------------+ | [root@ecs hadoop]# which java | | /usr/bin/java | | [root@ecs hadoop]# readlink /usr/bin/java | | /etc/alternatives/java | | [root@ecs alternatives]# readlink /etc/alternatives/java | | /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/bin/java | +----------------------------------------------------------------------------------+
修改 etc/hadoop/hadoop-env.sh 中的属性:
+----------------------------------------------------------------------------------+ | # The java implementation to use. By default, this environment | | # variable is REQUIRED on ALL platforms except OS X! | | export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/ | +----------------------------------------------------------------------------------+

启动 Hadoop

验证安装:
+----------------------------------------------------------------------------------+ | [root@ecs hadoop]# bin/hadoop | +----------------------------------------------------------------------------------+
This will display the usage documentation for the hadoop script.

Reference

Refer to the following page: • https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html • https://docs.pingcode.com/baike/369554 • https://packages.ubuntu.com/
+----------------------------------------------------------------------------------+ | [root@ecs bin]# ./hadoop | | Usage: hadoop [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS] | | or hadoop [OPTIONS] CLASSNAME [CLASSNAME OPTIONS] | | where CLASSNAME is a user-provided Java class | | | | OPTIONS is none or any of: | | | | buildpaths attempt to add class files from build tree | | --config dir Hadoop config directory | | --debug turn on shell script debug mode | | --help usage information | | hostnames list[,of,host,names] hosts to use in worker mode | | hosts filename list of hosts to use in worker mode | | loglevel level set the log4j level for this command | | workers turn on worker mode | | | | SUBCOMMAND is one of: | | | | | | Admin Commands: | | | | daemonlog get/set the log level for each daemon | | | | Client Commands: | | | | archive create a Hadoop archive | | checknative check native Hadoop and compression libraries availability | | classpath prints the class path needed to get the Hadoop jar and the require | | d libraries | | conftest validate configuration XML files | | credential interact with credential providers | | distch distributed metadata changer | | distcp copy file or directories recursively | | dtutil operations related to delegation tokens | | envvars display computed Hadoop environment variables | | fedbalance balance data between sub-clusters | | fs run a generic filesystem user client | | gridmix submit a mix of synthetic job, modeling a profiled from production | | load | | jar <jar> run a jar file. NOTE: please use "yarn jar" to launch YARN applica | | tions, not this command. | | jnipath prints the java.library.path | | kdiag Diagnose Kerberos Problems | | kerbname show auth_to_local principal conversion | | key manage keys via the KeyProvider | | rbfbalance move directories and files across router-based federation namespac | | es | | rumenfolder scale a rumen input trace | | rumentrace convert logs into a rumen trace | | s3guard S3 Commands | | version print the version | | | | Daemon Commands: | | | | kms run KMS, the Key Management Server | | registrydns run the registry DNS server | | | | SUBCOMMAND may print help when invoked w/o parameters or with -h. | +----------------------------------------------------------------------------------+
Create: Thu Dec 12 22:31:42 2024 Last Modified: Thu Dec 12 22:30:42 2024
_____ _______ _____ _______ /\ \ /::\ \ /\ \ /::\ \ /::\____\ /::::\ \ /::\____\ /::::\ \ /::::| | /::::::\ \ /::::| | /::::::\ \ /:::::| | /::::::::\ \ /:::::| | /::::::::\ \ /::::::| | /:::/~~\:::\ \ /::::::| | /:::/~~\:::\ \ /:::/|::| | /:::/ \:::\ \ /:::/|::| | /:::/ \:::\ \ /:::/ |::| | /:::/ / \:::\ \ /:::/ |::| | /:::/ / \:::\ \ /:::/ |::|___|______ /:::/____/ \:::\____\ /:::/ |::| | _____ /:::/____/ \:::\____\ /:::/ |::::::::\ \ |:::| | |:::| | /:::/ |::| |/\ \ |:::| | |:::| | /:::/ |:::::::::\____\|:::|____| |:::|____|/:: / |::| /::\____\|:::|____| |:::|____| \::/ / ~~~~~/:::/ / \:::\ \ /:::/ / \::/ /|::| /:::/ / \:::\ \ /:::/ / \/____/ /:::/ / \:::\ \ /:::/ / \/____/ |::| /:::/ / \:::\ \ /:::/ / /:::/ / \:::\ /:::/ / |::|/:::/ / \:::\ /:::/ / /:::/ / \:::\__/:::/ / |::::::/ / \:::\__/:::/ / /:::/ / \::::::::/ / |:::::/ / \::::::::/ / /:::/ / \::::::/ / |::::/ / \::::::/ / /:::/ / \::::/ / /:::/ / \::::/ / /:::/ / \::/____/ /:::/ / \::/____/ \::/ / \::/ / \/____/ \/____/ _____ _____ _____ _____ _____ /\ \ /\ \ /\ \ /\ \ /\ \ /::\ \ /::\ \ /::\ \ /::\ \ /::\ \ /::::\ \ /::::\ \ /::::\ \ /::::\ \ /::::\ \ /::::::\ \ /::::::\ \ /::::::\ \ /::::::\ \ /::::::\ \ /:::/\:::\ \ /:::/\:::\ \ /:::/\:::\ \ /:::/\:::\ \ /:::/\:::\ \ /:::/__\:::\ \ /:::/__\:::\ \ /:::/__\:::\ \ /:::/ \:::\ \ /:::/__\:::\ \ \:::\ \:::\ \ /::::\ \:::\ \ /::::\ \:::\ \ /:::/ \:::\ \ /::::\ \:::\ \ ___\:::\ \:::\ \ /::::::\ \:::\ \ /::::::\ \:::\ \ /:::/ / \:::\ \ /::::::\ \:::\ \ /\ \:::\ \:::\ \ /:::/\:::\ \:::\____\ /:::/\:::\ \:::\ \ /:::/ / \:::\ \ /:::/\:::\ \:::\ \ /::\ \:::\ \:::\____\/:::/ \:::\ \:::| |/:::/ \:::\ \:::\____\/:::/____/ \:::\____\/:::/__\:::\ \:::\____\ \:::\ \:::\ \::/ /\::/ \:::\ /:::|____|\::/ \:::\ /:::/ /\:::\ \ \::/ /\:::\ \:::\ \::/ / \:::\ \:::\ \/____/ \/_____/\:::\/:::/ / \/____/ \:::\/:::/ / \:::\ \ \/____/ \:::\ \:::\ \/____/ \:::\ \:::\ \ \::::::/ / \::::::/ / \:::\ \ \:::\ \:::\ \ \:::\ \:::\____\ \::::/ / \::::/ / \:::\ \ \:::\ \:::\____\ \:::\ /:::/ / \::/____/ /:::/ / \:::\ \ \:::\ \::/ / \:::\/:::/ / /:::/ / \:::\ \ \:::\ \/____/ \::::::/ / /:::/ / \:::\ \ \:::\ \ \::::/ / /:::/ / \:::\____\ \:::\____\ \::/ / \::/ / \::/ / \::/ / \/____/ \/____/ \/____/ \/____/