配置/启动hadoop、操作hadoop
1下载前1.1 系统要求64 位 Linux(CentOS 7/8、Ubuntu 20+ 均可)内存 ≥4 GB,磁盘 ≥20 GB已配置好静态 IP 与主机名(示例主机名:hadoop-master)1.2 安装 JDK(Hadoop 3.x 须 1.8+)1.3 创建专用用户(可选,但生产必做)1.4 SSH 本机免密(伪分布必须)2下载 Hadoop2.1登录Apache官方网站下载点击最新
1下载前
1.1 系统要求
-
64 位 Linux(CentOS 7/8、Ubuntu 20+ 均可)
-
内存 ≥4 GB,磁盘 ≥20 GB
-
已配置好静态 IP 与主机名(示例主机名:hadoop-master)
1.2 安装 JDK(Hadoop 3.x 须 1.8+)
# CentOS
sudo yum -y install java-1.8.0-openjdk-devel
# Ubuntu
sudo apt-get -y install openjdk-8-jdk
# 验证
java -version # 能输出版本即可
echo $JAVA_HOME # 若为空,在 ~/.bashrc 里追加
# export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
1.3 创建专用用户(可选,但生产必做)
sudo useradd -m hadoop -s /bin/bash
echo 'hadoop ALL=(ALL) NOPASSWD:ALL' | sudo tee -a /etc/sudoers
su - hadoop # 后续步骤都用该用户
1.4 SSH 本机免密(伪分布必须)
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh localhost # 第一次输 yes,以后直接进
2下载 Hadoop
2.1登录Apache官方网站下载
点击最新版(如hadoop-3.3.6)的二进制包下载。

获取二进制包,用命令行下载(推荐):在终端中运行以下命令直接下载:
# 进到家目录
cd ~
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz
tar -zxvf hadoop-3.3.5.tar.gz
mv hadoop-3.3.5 hadoop # 文件夹改名,省事
rm hadoop-3.3.5.tar.gz # 清理安装包
2.2 目录结构
hadoop/
├─bin/ # 客户端脚本
├─sbin/ # 守护进程脚本
├─etc/hadoop/# 配置文件
├─lib/ # 本地库
└─share/ # 官方示例 jar
3安装和配置 Hadoop
3.1 环境变量(三台机器都做,单机只一次)
echo '# Hadoop Environment' >> ~/.bashrc
echo 'export HADOOP_HOME=$HOME/hadoop' >> ~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
echo 'export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop' >> ~/.bashrc
source ~/.bashrc
3.1 环境变量(三台机器都做,单机只一次)
① hadoop-env.sh
# 找到 export JAVA_HOME= 一行,改成
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
② core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-data/tmp</value>
</property>
</configuration>
③ hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-data/datanode</value>
</property>
</configuration>
④ mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
⑤ yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
</configuration>
3.3 创建数据目录
mkdir -p ~/hadoop-data/{tmp,namenode,datanode}
4验证安装
4.1 首次格式化 HDFS(只需一次)
hdfs namenode -format # 看到 “Storage directory … has been successfully formatted” 即 OK
4.2 启动守护进程
hdfs namenode -format # 看到 “Storage directory … has been successfully formatted” 即 OK
4.3 查进程
jps
# 至少看到 5 个:
# NameNode
# DataNode
# SecondaryNameNode
# ResourceManager
# NodeManager
验证 YARN 是否启动成功
-
看进程
jps | grep -E 'ResourceManager|NodeManager'终端里只要同时出现
ResourceManager
NodeManager
即代表 YARN 的两个核心守护进程已正常运行。 -
看 Web-UI
浏览器打开http://<你的主机IP>:8088能看到 “Cluster Metrics” 表格、Memory Total > 0,说明 ResourceManager 正常收集到 NodeManager 心跳。(单机伪分布地址就是 http://localhost:8088) -
跑一个官方 MapReduce 作业
只要作业 SUCCEEDED 且能统计出单词次数,就证明 YARN 调度 & MapReduce 框架整条链路畅通。
只要作业 SUCCEEDED 且能统计出单词次数,就证明 YARN 调度 & MapReduce 框架整条链路畅通。
更多推荐
所有评论(0)