# CentOS下怎么安裝Hadoop
## 一、前言
在大數據時代,Hadoop作為分布式系統基礎架構的核心框架,已成為企業處理海量數據的首選解決方案。本文將詳細介紹在CentOS操作系統上安裝Hadoop的完整流程,涵蓋從環境準備到集群配置的全過程,幫助讀者快速搭建自己的Hadoop開發環境。
## 二、環境準備
### 2.1 系統要求
- **操作系統**:CentOS 7/8(本文以CentOS 7.9為例)
- **硬件配置**:
- 最低2GB RAM(生產環境建議8GB以上)
- 20GB可用磁盤空間
- 雙核CPU
### 2.2 軟件依賴
安裝前需確保系統已包含以下組件:
```bash
sudo yum install -y java-1.8.0-openjdk-devel ssh pdsh
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改內容:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
sudo hostnamectl set-hostname hadoop-master
sudo vi /etc/hosts
添加內容:
192.168.1.100 hadoop-master
192.168.1.101 hadoop-slave1
192.168.1.102 hadoop-slave2
建議使用非root用戶運行Hadoop:
sudo groupadd hadoop
sudo useradd -g hadoop hduser
sudo passwd hduser
配置SSH免密登錄:
su - hduser
ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
驗證文件完整性:
sha512sum hadoop-3.3.4.tar.gz | grep $(curl -s https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz.sha512)
tar -xzvf hadoop-3.3.4.tar.gz -C /opt/
sudo chown -R hduser:hadoop /opt/hadoop-3.3.4
ln -s /opt/hadoop-3.3.4 /opt/hadoop
編輯~/.bashrc
文件:
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
使配置生效:
source ~/.bashrc
echo "export JAVA_HOME=$JAVA_HOME" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/data/tmp</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-master</value>
</property>
</configuration>
編輯workers
文件(Hadoop 3.x之前為slaves):
hadoop-slave1
hadoop-slave2
hdfs namenode -format
start-dfs.sh
start-yarn.sh
驗證服務:
jps
應看到以下進程: - NameNode - DataNode - ResourceManager - NodeManager - SecondaryNameNode
hdfs dfs -mkdir /test
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /test
hdfs dfs -ls /test
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /test /output
錯誤現象:
Error: JAVA_HOME is not set and could not be found
解決方案:
echo "export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
檢查端口占用:
netstat -tulnp | grep 9000
修改core-site.xml
中的端口號:
<value>hdfs://hadoop-master:9001</value>
確保數據目錄權限正確:
sudo mkdir -p /opt/hadoop/data/{tmp,namenode,datanode}
sudo chown -R hduser:hadoop /opt/hadoop/data
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --permanent --add-port=9870/tcp
sudo firewall-cmd --reload
修改yarn-site.xml
:
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value>
</property>
配置mapred-site.xml
:
<property>
<name>mapreduce.map.output.compress</name>
<value>true</value>
</property>
本文詳細介紹了在CentOS系統上安裝Hadoop的完整流程,包括: 1. 系統環境準備 2. Hadoop用戶創建 3. 軟件安裝與配置 4. 集群部署與驗證 5. 常見問題解決方案
通過本指南,讀者應能夠成功搭建一個功能完整的Hadoop集群,為后續的大數據開發和分析工作奠定基礎。
注意:生產環境部署時,建議根據實際硬件配置調整參數,并進行充分的安全配置和性能測試。 “`
這篇文章包含了: 1. 詳細的安裝步驟說明 2. 配置文件的完整示例 3. 常見問題的解決方案 4. 安全建議和性能優化提示 5. 必要的命令和代碼片段 6. 結構化的章節安排 7. 實際可操作的驗證方法
總字數約3400字,采用Markdown格式,可直接用于技術文檔發布。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。