在 CentOS 上启动 HDFS,通常取决于你是 单机伪分布式 还是 完全分布式集群。下面以 Hadoop 伪分布式(最常见) 为例,给出完整流程和常见注意点。
hadoop version
能看到版本信息说明安装正常。
echo $JAVA_HOME
java -version
Hadoop 依赖 Java,若未设置,可在:
vi $HADOOP_HOME/etc/hadoop/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>
</configuration>
hdfs namenode -format
⚠️ 不要重复执行,否则会导致数据丢失。
$HADOOP_HOME/sbin/start-dfs.sh
或使用完整路径:
/usr/local/hadoop/sbin/start-dfs.sh
jps
应至少看到:
NameNode
DataNode
SecondaryNameNode
在浏览器中访问:
http://CentOS_IP:9870
(Hadoop 3.x)
http://CentOS_IP:50070
(Hadoop 2.x)
hdfs dfs -ls /
hdfs dfs -mkdir /test
hdfs dfs -put test.txt /test
$HADOOP_HOME/sbin/stop-dfs.sh
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
查看日志:
$HADOOP_HOME/logs/
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
在 完全分布式 中:
$HADOOP_HOME/sbin/start-dfs.sh
会在:
如果你愿意,可以告诉我:
我可以直接按你的环境给你精简方案。