在Ubuntu上运行Hadoop分布式文件系统(HDFS)涉及多个步骤,包括安装必要的软件、配置Hadoop环境、格式化HDFS以及启动HDFS服务。以下是一个详细的步骤指南:
首先,确保你的Ubuntu系统是最新的,并安装Java和SSH。
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-8-jdk -y
sudo apt install openssh-server -y
从Apache Hadoop官网下载最新版本的Hadoop,并将其解压到指定目录,例如/opt/hadoop
。
cd /opt
sudo wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
sudo tar -zxvf hadoop-3.3.4.tar.gz
cd hadoop-3.3.4
编辑~/.bashrc
文件,添加以下内容:
export HADOOP_HOME=/opt/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
然后,使配置文件生效:
source ~/.bashrc
sudo groupadd hadoop
sudo useradd -g hadoop hadoop
编辑/opt/hadoop/etc/hadoop/core-site.xml
文件,添加以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
编辑/opt/hadoop/etc/hadoop/hdfs-site.xml
文件,添加以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/hdfs/datanode</value>
</property>
</configuration>
编辑/opt/hadoop/etc/hadoop/yarn-site.xml
文件,添加以下内容:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
编辑/opt/hadoop/etc/hadoop/mapred-site.xml
文件,添加以下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
在终端中执行以下命令格式化HDFS:
sudo -u hdfs hadoop namenode -format
启动HDFS和YARN服务:
sudo -u hadoop sbin/start-dfs.sh
sudo -u hadoop sbin/start-yarn.sh
在浏览器中访问以下地址,查看Hadoop Web界面:
你可以使用以下命令来运行一个简单的示例程序,验证HDFS是否正常工作:
sudo -u hadoop hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /input /output
然后,使用以下命令查看结果:
sudo -u hadoop hadoop fs -cat /output/_words_count_
通过以上步骤,您已经在Ubuntu上成功安装并配置了Hadoop。现在,您可以开始使用Hadoop进行分布式计算了。