下面给出 CentOS 上启动 HDFS(Hadoop HDFS) 的常见配置与启动流程,适用于 单机伪分布式 和 完全分布式 场景。
Hadoop 依赖 JDK:
java -version
如未安装(示例):
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
配置 JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
建议写入:
vi ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc
tar -zxvf hadoop-3.x.x.tar.gz -C /usr/local/
mv /usr/local/hadoop-3.x.x /usr/local/hadoop
配置环境变量:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
以下文件都在 $HADOOP_HOME/etc/hadoop 目录。
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
完全分布式时,
localhost改为 NameNode 主机名或 IP。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/datanode</value>
</property>
</configuration>
创建目录:
mkdir -p /data/hadoop/namenode
mkdir -p /data/hadoop/datanode
vi $HADOOP_HOME/etc/hadoop/workers
内容:
localhost
若是集群,写 DataNode 主机名
⚠️ 不要在已有数据后重复执行
hdfs namenode -format
成功标志:
Storage directory /data/hadoop/namenode has been successfully formatted
start-dfs.sh
hdfs --daemon start namenode
hdfs --daemon start datanode
jps
应看到:
NameNode
DataNode
SecondaryNameNode
http://服务器IP:9870
hdfs dfs -ls /
hdfs dfs -mkdir /test
hdfs dfs -put /etc/hosts /test/
hdfs dfs -ls /test
systemctl stop firewalld
systemctl disable firewalld
ssh-keygen -t rsa
ssh-copy-id localhost
netstat -tunlp | grep 9000
# 1. 配置 Java、Hadoop 环境变量
# 2. 修改 core-site.xml、hdfs-site.xml
# 3. 格式化 HDFS
hdfs namenode -format
# 4. 启动 HDFS
start-dfs.sh
# 5. 验证
jps
http://IP:9870
如果你需要:
可以直接告诉我你的集群规划(几台机器)。