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>
<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.template生成):设置MapReduce框架为YARN:<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<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界面查看集群状态:
http://localhost:9870(Hadoop 3.x版本)http://localhost:8088。6. 运行Hadoop示例(以WordCount为例)
Hadoop自带WordCount示例(统计文本单词出现次数),步骤如下:
hdfs dfs -mkdir -p /user/your_username/input # 替换为你的用户名
file1.txt、file2.txt),内容示例:file1.txt: Hello world halo world
file2.txt: hello hadoop halo hadoop
上传至HDFS:hdfs dfs -put ~/work/input/* /user/your_username/input # 替换为实际文件路径
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-examples-*.jar,需调整命令中的路径。