下面按从零到可用的顺序,给你一份Linux + Hadoop(单机/伪分布式)常用配置流程。如果你已经装了部分组件,也可以跳着看。
java -version
如果没有:
# CentOS / Rocky
sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
# Ubuntu
sudo apt install openjdk-8-jdk -y
配置环境变量:
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc
sudo useradd hadoop
sudo passwd hadoop
su - hadoop
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 ~/hadoop
vim ~/.bashrc
export HADOOP_HOME=~/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
source ~/.bashrc
测试:
hadoop version
所有配置文件在:
$HADOOP_HOME/etc/hadoop
vim hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
<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>/home/hadoop/hadoopdata/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoopdata/datanode</value>
</property>
</configuration>
创建目录:
mkdir -p ~/hadoopdata/namenode
mkdir -p ~/hadoopdata/datanode
<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>
</configuration>
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
测试:
ssh localhost
hdfs namenode -format
✅ 出现 successfully formatted 才成功
start-dfs.sh
start-yarn.sh
查看进程:
jps
应看到:
NameNode
DataNode
SecondaryNameNode
ResourceManager
NodeManager
http://localhost:9870
http://localhost:8088
hdfs dfs -mkdir /test
hdfs dfs -put ~/hadoop/README.txt /test
hdfs dfs -ls /test
| 问题 | 解决 |
|---|---|
| JAVA_HOME 找不到 | hadoop-env.sh 里写死 |
| 端口被占用 | 检查 9000 / 9870 |
| 权限错误 | 不要用 root 启动 |
| 格式化多次 | 删除 hadoopdata 再格式化 |
如果你愿意,可以告诉我:
✅ 你的 Linux 版本
✅ 单机 / 集群
✅ Hadoop 版本
我可以给你完全贴合你环境的配置方案。