Hadoop是一個開源的分布式計算框架,廣泛應用于大數據處理領域。它能夠處理海量數據,并提供高可靠性和高擴展性。本文將詳細介紹在Linux系統下安裝Hadoop的步驟,幫助初學者快速上手。
在開始安裝Hadoop之前,需要確保系統滿足以下要求:
首先,更新系統以確保所有軟件包都是最新的:
sudo apt update
sudo apt upgrade -y
Hadoop需要Java環境,推薦安裝OpenJDK 8或11??梢酝ㄟ^以下命令安裝OpenJDK 11:
sudo apt install openjdk-11-jdk -y
安裝完成后,驗證Java版本:
java -version
輸出應類似于:
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
為了方便使用,建議配置Java環境變量。編輯~/.bashrc文件:
nano ~/.bashrc
在文件末尾添加以下內容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
保存并退出,然后使配置生效:
source ~/.bashrc
Hadoop使用SSH進行節點間的通信,因此需要安裝SSH:
sudo apt install ssh -y
生成SSH密鑰對:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
將公鑰添加到authorized_keys文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
測試SSH連接:
ssh localhost
如果配置正確,應該可以無需密碼登錄到本地主機。
訪問Hadoop官網下載最新版本的Hadoop。本文以Hadoop 3.3.1為例:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
將下載的Hadoop壓縮包解壓到指定目錄,例如/usr/local:
sudo tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local
進入解壓后的目錄:
cd /usr/local
重命名Hadoop目錄:
sudo mv hadoop-3.3.1 hadoop
編輯~/.bashrc文件:
nano ~/.bashrc
在文件末尾添加以下內容:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存并退出,然后使配置生效:
source ~/.bashrc
Hadoop的配置文件位于$HADOOP_HOME/etc/hadoop目錄下。需要配置以下幾個文件:
hadoop-env.sh編輯hadoop-env.sh文件:
nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
找到JAVA_HOME配置項,并設置為Java的安裝路徑:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
core-site.xml編輯core-site.xml文件:
nano $HADOOP_HOME/etc/hadoop/core-site.xml
在<configuration>標簽內添加以下內容:
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
hdfs-site.xml編輯hdfs-site.xml文件:
nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
在<configuration>標簽內添加以下內容:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/data/datanode</value>
</property>
mapred-site.xml編輯mapred-site.xml文件:
nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
在<configuration>標簽內添加以下內容:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml編輯yarn-site.xml文件:
nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
在<configuration>標簽內添加以下內容:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
在啟動Hadoop之前,需要格式化HDFS:
hdfs namenode -format
啟動HDFS和YARN:
start-dfs.sh
start-yarn.sh
可以通過以下命令查看Hadoop的進程是否正常運行:
jps
輸出應類似于:
12345 NameNode
12346 DataNode
12347 ResourceManager
12348 NodeManager
12349 SecondaryNameNode
此外,可以通過瀏覽器訪問Hadoop的Web界面:
http://localhost:9870http://localhost:8088為了驗證Hadoop是否安裝成功,可以運行一個簡單的MapReduce示例程序。
在HDFS中創建一個輸入目錄:
hdfs dfs -mkdir /input
將本地文件上傳到HDFS:
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input
運行Hadoop自帶的wordcount示例程序:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output
查看輸出目錄中的結果:
hdfs dfs -cat /output/*
輸出應顯示每個單詞的出現次數。
完成測試后,可以停止Hadoop:
stop-yarn.sh
stop-dfs.sh
通過以上步驟,您已經成功在Linux系統上安裝并配置了Hadoop。Hadoop的安裝過程雖然復雜,但只要按照步驟操作,就能夠順利完成。希望本文能夠幫助您快速上手Hadoop,并為后續的大數據處理工作打下堅實的基礎。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。