怎样在Ubuntu上部署Hadoop应用
导读:环境准备 安装OpenJDK:Hadoop依赖Java环境,推荐使用OpenJDK 8或11(兼容性更好)。执行以下命令安装: sudo apt update && sudo apt install -y openjdk-...
环境准备
- 安装OpenJDK:Hadoop依赖Java环境,推荐使用OpenJDK 8或11(兼容性更好)。执行以下命令安装:
sudo apt update & & sudo apt install -y openjdk-11-jdk
安装完成后,通过java -version验证是否成功(需显示Java版本信息)。 - 配置SSH免密登录:Hadoop的NameNode与DataNode通信需要免密登录,避免每次输入密码。
生成密钥对:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa(直接回车默认路径和空密码);
添加公钥到授权文件:cat ~/.ssh/id_rsa.pub > > ~/.ssh/authorized_keys;
设置权限:chmod 600 ~/.ssh/authorized_keys;
测试免密登录:ssh localhost(若无需密码即可登录则成功)。
下载与解压Hadoop
- 从Apache官网下载稳定版本(如3.3.6),使用清华镜像加速:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz - 解压到
/opt目录(系统级软件推荐路径):
sudo tar -zxvf hadoop-3.3.6.tar.gz -C /opt/ - (可选)重命名目录便于管理:
sudo mv /opt/hadoop-3.3.6 /opt/hadoop
配置环境变量
- 编辑
~/.bashrc文件(用户级环境变量),添加以下内容:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际Java安装路径调整 export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin - 使配置生效:
source ~/.bashrc - 验证环境变量:
echo $HADOOP_HOME(应显示Hadoop安装路径)
配置Hadoop核心文件
Hadoop的主配置文件位于$HADOOP_HOME/etc/hadoop目录下,需修改以下关键文件:
- core-site.xml(HDFS默认文件系统):
< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://localhost:9000< /value> < !-- HDFS的URI,localhost表示单机模式 --> < /property> < /configuration> - 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> - mapred-site.xml(MapReduce框架,需先创建):
复制模板文件并修改:
cp mapred-site.xml.template mapred-site.xml
内容如下:< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < !-- 使用YARN作为资源管理器 --> < /property> < /configuration> - yarn-site.xml(YARN配置):
< configuration> < property> < name> yarn.nodemanager.aux-services< /name> < value> mapreduce_shuffle< /value> < !-- Shuffle服务,支持MapReduce --> < /property> < property> < name> yarn.nodemanager.aux-services.mapreduce.shuffle.class< /name> < value> org.apache.hadoop.mapred.ShuffleHandler< /value> < /property> < /configuration>
初始化与启动Hadoop
- 格式化NameNode:首次启动前必须格式化,清除旧数据(此操作仅第一次需要):
hdfs namenode -format - 启动HDFS:启动NameNode和DataNode服务:
start-dfs.sh - 启动YARN:启动ResourceManager和NodeManager服务(支持MapReduce作业调度):
start-yarn.sh
验证部署
- 查看进程:执行
jps,若显示以下进程则表示启动成功:
NameNode、DataNode、SecondaryNameNode(HDFS相关);
ResourceManager、NodeManager(YARN相关)。 - 访问Web界面:
- HDFS NameNode:
http://localhost:9870(Hadoop 3.x版本端口,旧版本为50070); - YARN ResourceManager:
http://localhost:8088(查看作业调度情况)。
- HDFS NameNode:
(可选)运行示例程序
- 执行内置的WordCount程序(统计文本单词数量):
其中hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output/input是HDFS上的输入目录(需提前创建并上传文件),/output是输出目录(需不存在,Hadoop会自动创建)。 - 查看结果:
hdfs dfs -cat /output/part-r-00000(显示单词统计结果)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样在Ubuntu上部署Hadoop应用
本文地址: https://pptw.com/jishu/738327.html
