Hadoop于Linux如何部署
导读:Hadoop在Linux上的部署步骤 1. 准备工作 操作系统选择:推荐使用Ubuntu Server 20.04/24.2、CentOS 7/8等稳定Linux发行版(需支持Java 8+)。 安装Java环境:Hadoop依赖Java...
Hadoop在Linux上的部署步骤
1. 准备工作
- 操作系统选择:推荐使用Ubuntu Server 20.04/24.2、CentOS 7/8等稳定Linux发行版(需支持Java 8+)。
- 安装Java环境:Hadoop依赖Java运行环境,推荐使用OpenJDK 11(兼容性最佳)。
执行以下命令安装:
验证安装:sudo apt update & & sudo apt install -y openjdk-11-jdk # Ubuntu/Debian sudo yum install -y java-11-openjdk-devel # CentOS/RHEL
java -version
(需显示Java版本信息)。 - 下载Hadoop:从Apache官网下载稳定版本(如3.3.5),使用
wget
命令获取:
解压至指定目录(如wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz
/opt/hadoop
):sudo tar -zxvf hadoop-3.3.5.tar.gz -C /opt/ sudo mv /opt/hadoop-3.3.5 /opt/hadoop # 重命名为hadoop方便管理
2. 配置环境变量
编辑用户家目录下的.bashrc
文件(全局配置可修改/etc/profile
),添加Hadoop相关环境变量:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # Java安装路径(通过`java -XshowSettings:properties -version`查看)
export HADOOP_HOME=/opt/hadoop # Hadoop安装路径
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 添加Hadoop命令到PATH
使配置生效:source ~/.bashrc
。
3. 配置Hadoop核心文件
Hadoop的主要配置文件位于$HADOOP_HOME/etc/hadoop
目录下,需修改以下文件:
3.1 core-site.xml
配置Hadoop文件系统的默认URI(本地模式无需修改,集群模式需替换为NameNode的IP/主机名):
<
configuration>
<
property>
<
name>
fs.defaultFS<
/name>
<
value>
hdfs://localhost:9000<
/value>
<
!-- 本地模式 -->
<
/property>
<
/configuration>
3.2 hdfs-site.xml
配置HDFS的核心参数(数据存储路径、副本数):
<
configuration>
<
property>
<
name>
dfs.replication<
/name>
<
value>
1<
/value>
<
!-- 副本数(本地模式设为1,集群模式根据节点数调整) -->
<
/property>
<
property>
<
name>
dfs.namenode.name.dir<
/name>
<
value>
/opt/hadoop/tmp/dfs/name<
/value>
<
!-- NameNode元数据存储路径 -->
<
/property>
<
property>
<
name>
dfs.datanode.data.dir<
/name>
<
value>
/opt/hadoop/tmp/dfs/data<
/value>
<
!-- DataNode数据存储路径 -->
<
/property>
<
/configuration>
3.3 yarn-site.xml
配置YARN资源管理器(MapReduce运行框架):
<
configuration>
<
property>
<
name>
yarn.nodemanager.aux-services<
/name>
<
value>
mapreduce_shuffle<
/value>
<
!-- Shuffle服务 -->
<
/property>
<
property>
<
name>
yarn.nodemanager.aux-services.mapreduce.shuffle.class<
/name>
<
value>
org.apache.hadoop.mapred.ShuffleHandler<
/value>
<
/property>
<
/configuration>
3.4 mapred-site.xml
配置MapReduce运行框架(需指向YARN):
若mapred-site.xml
不存在,可复制模板生成:cp mapred-site.xml.template mapred-site.xml
,然后修改:
<
configuration>
<
property>
<
name>
mapreduce.framework.name<
/name>
<
value>
yarn<
/value>
<
!-- 使用YARN作为资源管理器 -->
<
/property>
<
/configuration>
4. 配置SSH免密登录
Hadoop集群节点间需要通过SSH无密码通信(本地模式仅需本机免密):
- 生成密钥对:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
(直接回车,默认保存到~/.ssh
目录)。 - 将公钥复制到本机
authorized_keys
文件:cat ~/.ssh/id_rsa.pub > > ~/.ssh/authorized_keys
。 - 设置权限:
chmod 600 ~/.ssh/authorized_keys
。 - 测试免密登录:
ssh localhost
(无需输入密码则成功)。
5. 格式化HDFS
首次启动HDFS前,需格式化NameNode(会清空HDFS所有数据,生产环境需谨慎):
hdfs namenode -format
6. 启动Hadoop集群
- 启动HDFS:
start-dfs.sh
(启动NameNode、DataNode等服务)。 - 启动YARN:
start-yarn.sh
(启动ResourceManager、NodeManager等服务)。 - 验证进程:
jps
(应显示NameNode
、DataNode
、ResourceManager
、NodeManager
等进程)。
7. 验证部署
- Web界面:
- HDFS Web UI:
http://localhost:50070
(查看HDFS文件系统、节点状态)。 - YARN Web UI:
http://localhost:8088
(查看集群资源、运行任务)。
- HDFS Web UI:
- 命令行操作:
- 创建HDFS目录:
hdfs dfs -mkdir -p /user/hadoop
。 - 上传本地文件到HDFS:
hdfs dfs -put ~/test.txt /user/hadoop/
。 - 下载HDFS文件到本地:
hdfs dfs -get /user/hadoop/test.txt ~/
。 - 运行MapReduce示例(WordCount):
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar wordcount /user/hadoop/test.txt /user/hadoop/output
- 创建HDFS目录:
8. 可选优化
- 关闭防火墙(测试环境):避免端口被拦截。
sudo systemctl stop firewalld # CentOS sudo ufw disable # Ubuntu
- 配置日志:查看
$HADOOP_HOME/logs
目录下的日志文件,排查问题。 - 集群扩展:添加DataNode节点时,需将新节点的SSH公钥添加到主节点
authorized_keys
,并在slaves
文件($HADOOP_HOME/etc/hadoop
)中添加节点主机名,然后重启集群。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Hadoop于Linux如何部署
本文地址: https://pptw.com/jishu/730825.html