怎样在 Ubuntu 上运行 Hadoop 示例
导读:1. 准备工作:安装Java环境 Hadoop依赖Java运行,首先需安装OpenJDK 8(或更高兼容版本)。执行以下命令完成安装: sudo apt-get update sudo apt-get install openjdk-8-j...
1. 准备工作:安装Java环境
Hadoop依赖Java运行,首先需安装OpenJDK 8(或更高兼容版本)。执行以下命令完成安装:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
验证安装是否成功:
java -version
输出应显示Java版本信息(如openjdk version "1.8.0_361"
)。
2. 配置SSH免密登录
Hadoop集群节点间需无密码SSH通信,本地测试时需配置localhost的免密登录:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 生成密钥对(直接回车,默认路径)
cat ~/.ssh/id_rsa.pub >
>
~/.ssh/authorized_keys # 将公钥添加至授权文件
chmod 600 ~/.ssh/authorized_keys # 设置文件权限
ssh localhost # 测试免密登录(无需输入密码则成功)
```。
**3. 下载并解压Hadoop**
从Apache官网下载稳定版本的Hadoop(如3.3.5),解压至指定目录(如`/opt/hadoop`):
```bash
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz
sudo mkdir -p /opt/hadoop
sudo tar -zxvf hadoop-3.3.5.tar.gz -C /opt/hadoop --strip-components=1
设置Hadoop环境变量,编辑~/.bashrc
文件:
export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
使配置生效:
source ~/.bashrc
```。
**4. 配置Hadoop核心文件**
进入Hadoop配置目录(`$HADOOP_HOME/etc/hadoop`),修改以下文件:
- **core-site.xml**:设置HDFS的默认文件系统地址(本地模式用`localhost`):
```xml
<
configuration>
<
property>
<
name>
fs.defaultFS<
/name>
<
value>
hdfs://localhost:9000<
/value>
<
/property>
<
/configuration>
- hdfs-site.xml:配置NameNode和DataNode的目录及副本数(本地模式副本数为1):
< configuration> < property> < name> dfs.replication< /name> < value> 1< /value> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> file:/opt/hadoop/tmp/dfs/name< /value> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> file:/opt/hadoop/tmp/dfs/data< /value> < /property> < /configuration>
- mapred-site.xml(若未存在,可复制模板
mapred-site.xml.template
生成):设置MapReduce框架为YARN:< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < /property> < /configuration>
- yarn-site.xml:配置YARN的资源管理器地址:
< configuration> < property> < name> yarn.nodemanager.aux-services< /name> < value> mapreduce_shuffle< /value> < /property> < property> < name> yarn.resourcemanager.hostname< /name> < value> localhost< /value> < /property> < /configuration> ```。
5. 格式化HDFS并启动集群
首次运行需格式化NameNode(注意:格式化会清除HDFS中的所有数据,仅首次需要):
hdfs namenode -format
启动HDFS和YARN服务:
start-dfs.sh # 启动HDFS(NameNode、DataNode)
start-yarn.sh # 启动YARN(ResourceManager、NodeManager)
验证服务是否启动成功:
jps # 应显示NameNode、DataNode、ResourceManager、NodeManager等进程
访问Web界面查看集群状态:
- HDFS NameNode:
http://localhost:9870
(Hadoop 3.x版本) - YARN ResourceManager:
http://localhost:8088
。
6. 运行Hadoop示例(以WordCount为例)
Hadoop自带WordCount示例(统计文本单词出现次数),步骤如下:
- 创建HDFS输入目录:
hdfs dfs -mkdir -p /user/your_username/input # 替换为你的用户名
- 上传本地文件到HDFS:
在本地创建测试文件(如file1.txt
、file2.txt
),内容示例:
上传至HDFS:file1.txt: Hello world halo world file2.txt: hello hadoop halo hadoop
hdfs dfs -put ~/work/input/* /user/your_username/input # 替换为实际文件路径
- 运行WordCount程序:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar wordcount \ /user/your_username/input /user/your_username/output # 输出目录需不存在
- 查看运行结果:
hdfs dfs -cat /user/your_username/output/part-r-00000 # 显示单词统计结果 ```。
注意事项
- 若使用Hadoop 2.x版本,示例jar包路径可能为
hadoop-examples-*.jar
,需调整命令中的路径。 - 本地模式仅用于开发和调试,生产环境需配置伪分布或完全分布式模式。
- 运行前确保防火墙未阻止Hadoop相关端口(如9000、50070、8088)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样在 Ubuntu 上运行 Hadoop 示例
本文地址: https://pptw.com/jishu/731158.html