溫馨提示×

Debian如何部署Hadoop應用

小樊
46
2025-09-30 08:11:02
欄目: 智能運維

1. 系統準備
確保Debian系統已更新至最新版本,安裝必要工具包:

sudo apt update && sudo apt upgrade -y
sudo apt install -y net-tools vim ssh

關閉防火墻(若需開啟,需配置Hadoop相關端口放行):

sudo ufw disable

2. 安裝Java環境
Hadoop依賴Java 8及以上版本,推薦使用OpenJDK(Debian默認倉庫提供):

sudo apt install -y openjdk-11-jdk

驗證Java安裝:

java -version

設置JAVA_HOME環境變量(全局生效):

echo 'JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"' | sudo tee -a /etc/environment
source /etc/environment

3. 下載并解壓Hadoop
從Apache官網下載最新穩定版Hadoop(如3.3.6),解壓至/usr/local目錄:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop  # 重命名為hadoop方便管理

4. 配置Hadoop環境變量
編輯~/.bashrc(當前用戶)或/etc/profile(全局),添加Hadoop路徑:

echo 'export HADOOP_HOME=/usr/local/hadoop' >> ~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
source ~/.bashrc  # 使配置生效

5. 配置Hadoop核心文件
Hadoop配置文件位于$HADOOP_HOME/etc/hadoop目錄,需修改以下關鍵文件:

  • core-site.xml(Hadoop核心設置):

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>  <!-- 單節點用localhost,集群用NameNode主機名 -->
        </property>
    </configuration>
    
  • hdfs-site.xml(HDFS設置):

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>  <!-- 單節點設為1,集群根據節點數調整(如3) -->
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/usr/local/hadoop/data/namenode</value>  <!-- NameNode元數據存儲路徑 -->
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/usr/local/hadoop/data/datanode</value>  <!-- DataNode數據存儲路徑 -->
        </property>
    </configuration>
    
  • mapred-site.xml(MapReduce設置):
    若文件不存在,先復制模板:

    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>
    
  • yarn-site.xml(YARN設置):

    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>  <!-- 啟用MapReduce Shuffle服務 -->
        </property>
        <property>
            <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
            <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
    </configuration>
    

6. 格式化HDFS
首次啟動前需格式化NameNode(僅第一次執行,會清除原有數據):

hdfs namenode -format

7. 啟動Hadoop服務
啟動HDFS(NameNode和DataNode):

$HADOOP_HOME/sbin/start-dfs.sh

啟動YARN(ResourceManager和NodeManager):

$HADOOP_HOME/sbin/start-yarn.sh

8. 驗證安裝

  • 檢查Hadoop進程是否運行:

    jps
    

    正常應看到NameNode、DataNode、ResourceManager、NodeManager等進程。

  • 查看HDFS文件系統:

    hdfs dfs -ls /
    
  • 訪問Web界面:

    • HDFS Web UI:http://localhost:9870(Hadoop 3.x版本)
    • YARN ResourceManager Web UI:http://localhost:8088

9. 運行Hadoop示例程序(可選)
Hadoop自帶WordCount示例,用于驗證MapReduce功能:

# 創建輸入目錄并上傳測試文件
hdfs dfs -mkdir -p /input
echo "hello world hello hadoop" > file.txt
hdfs dfs -put file.txt /input

# 運行WordCount程序
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input/file.txt /output

# 查看輸出結果
hdfs dfs -cat /output/part-r-00000

輸出應顯示單詞統計結果(如hello 2、world 1、hadoop 1)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女