sudo apt update && sudo apt upgrade -y
,確保系統軟件包為最新版本。sudo apt install net-tools vim openssh-server -y
。sudo ufw disable
。Hadoop依賴Java運行環境,推薦安裝OpenJDK 11(兼容性最佳):
sudo apt install openjdk-11-jdk -y
安裝JDK。java -version
,輸出應包含Java版本信息(如openjdk version "11.0.xx"
)。wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
。/usr/local/
目錄,并重命名為hadoop
:sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local/ && sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop
。sudo adduser hadoop && sudo usermod -aG sudo hadoop
。/etc/profile
,添加以下內容(替換路徑為實際安裝路徑):export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根據實際Java路徑調整
source /etc/profile
。echo $HADOOP_HOME
應輸出Hadoop安裝路徑。Hadoop的主配置文件位于$HADOOP_HOME/etc/hadoop/
目錄,需修改以下文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> <!-- 單機模式下指向本地 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value> <!-- 臨時目錄 -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> <!-- 單機模式設為1,集群模式需≥3 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/hdfs/namenode</value> <!-- NameNode元數據目錄 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/hdfs/datanode</value> <!-- DataNode數據目錄 -->
</property>
</configuration>
cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
,然后編輯:<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> <!-- 使用YARN作為資源管理器 -->
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <!-- Shuffle服務 -->
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
NameNode是HDFS的核心元數據節點,首次啟動前需格式化(注意:格式化會清除已有數據):
hdfs namenode -format
,等待格式化完成(輸出“Format successful”即為成功)。start-dfs.sh
,啟動NameNode和DataNode服務。jps
,應看到NameNode
、DataNode
進程(若未顯示,檢查日志文件$HADOOP_HOME/logs/
)。hdfs dfsadmin -report
,查看DataNode是否注冊成功。hdfs dfs -mkdir -p /test
。/usr/src/linux-source-2.6.27/Doc*/memory-barriers.txt
)上傳至HDFS:hdfs dfs -put /usr/src/linux-source-2.6.27/Doc*/memory-barriers.txt /test
。hdfs dfs -ls /test
,若能看到上傳的文件,則說明HDFS安裝成功。/etc/hosts
文件,并配置靜態IP。ssh-keygen
和ssh-copy-id
配置)。$HADOOP_HOME/logs/
目錄下的日志文件(如namenode.log
)定位問題。