Hadoop 是一個開源的分布式計算框架,廣泛應用于大數(shù)據(jù)的存儲與處理。Hadoop 提供了一個高效、可靠、可擴展的分布式存儲和計算平臺,適用于處理海量數(shù)據(jù)。在這篇文章中,小編將介紹如何在本地機器上搭建一個 Hadoop 環(huán)境,幫助你快速了解 Hadoop 的基本使用。
Hadoop 主要由以下幾個組件組成:
1、HDFS (Hadoop Distributed File System):分布式文件系統(tǒng),提供高容錯性和高吞吐量的數(shù)據(jù)存儲。
2、MapReduce:一個用于處理大規(guī)模數(shù)據(jù)的計算模型,通過將任務分解成小的子任務并分發(fā)到集群中進行處理。
3、YARN (Yet Another Resource Negotiator):資源管理器,負責管理集群的計算資源。
4、Hive、Pig、HBase 等:提供更高層次的抽象和工具,用于簡化大數(shù)據(jù)的處理和查詢。
在本教程中,我們將重點講解如何安裝和配置 Hadoop,并簡單介紹如何使用它進行數(shù)據(jù)存儲和處理。
二、準備工作
在開始安裝之前,確保你已經(jīng)具備以下基礎條件:
1、操作系統(tǒng):CentOS 7/8 或更高版本。
2、Java 環(huán)境:Hadoop 是基于 Java 的,因此需要安裝 JDK 8。
3、SSH 配置:Hadoop 節(jié)點之間需要通過 SSH 進行通信,即使是單節(jié)點集群,也需要配置 SSH。
1、安裝jdk8,此操作不再做過多贅述,正常官網(wǎng)下載安裝包,配置環(huán)境變量并刷新文件即可。
2、安裝ssh
# 安裝 OpenSSH 客戶端和服務器
sudo yum install -y openssh-server openssh-clients
#
啟動并設置 SSH 服務開機自啟
sudo systemctl start sshd
sudo systemctl enable sshd
# 生成 SSH
密鑰對
ssh-keygen -t rsa -P ""
# 將公鑰復制到授權的密鑰文件
cat ~/.ssh/id_rsa.pub >>
~/.ssh/authorized_keys
# 測試 SSH 無密碼登錄
???????ssh localhost
3、安裝hadoop
首先從 Apache Hadoop 官方網(wǎng)站 下載最新版本的 Hadoop,或者使用 wget 命令直接下載:
# 下載 Hadoopwgethttps://downloads.apache.org/hadoop/common/hadoop-
3.3.1/hadoop-3.3.1.tar.gz
# 解壓
Hadoop
tar -xzvf hadoop-3.3.1.tar.gz
# 移動到指定目錄
sudo mv hadoop-3.3.1
???????/usr/local/hadoop
配置環(huán)境變量
# 編輯 /etc/profile 文件
sudo vi /etc/profile
# 添加以下內(nèi)容到文件末尾
export
HADOOP_HOME=/usr/local/hadoop
exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 保存并退出
???????source /etc/profile
配置hadoop文件
Hadoop 的主要配置文件位于 $HADOOP_HOME/etc/hadoop 目錄中。我們需要修改以下幾個配置文件
(1)配置 core-site.xml
配置 Hadoop 文件系統(tǒng)的默認 URI,在 /usr/local/hadoop/etc/hadoo
p/core-site.xml 文件中添加:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
???????</configuration>
(2)配置 hdfs-site.xml
配置 HDFS 的存儲目錄和副本數(shù),在 /usr/local/hadoop/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/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
(3)配置 mapred-site.xml
配置 MapReduce 的運行框架,在 /usr/local/hadoop/etc/hadoop/mapred-site.xml 文件中添加:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
???????</configuration>
(4)配置 yarn-site.xml
配置 YARN 的資源管理器,在 /usr/local/hadoop/etc/hadoop/yarn-site.xml 文件中添加:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
???????</configuration>
在啟動 Hadoop 之前,需要格式化 HDFS(Hadoop 分布式文件系統(tǒng))。
# 格式化 HDFShdfs
??????? namenode -format
啟動 Hadoop 集群之前,先啟動 HDFS 和 YARN 服務。
# 啟動 HDFS
start-dfs.sh
# 啟動 YARN
???????start-yarn.sh
確認 Hadoop 集群是否啟動成功:
jps -l
如果看到 NameNode、DataNode、ResourceManager 和 NodeManager 等進程,說明 Hadoop 啟動成功。
1. 創(chuàng)建 HDFS 目錄
創(chuàng)建一個目錄用于存放數(shù)據(jù):
hdfs dfs -mkdir /user
???????hdfs dfs -mkdir /user/hadoop
2. 上傳文件到 HDFS
將本地文件上傳到 HDFS:
hdfs dfs -ls /user/hadoop/
3. 查看 HDFS 中的文件
查看上傳的文件:
hdfs dfs -ls /user/hadoop/
4. 從 HDFS 下載文件
從 HDFS 下載文件到本地:
hdfs dfs -get /user/hadoop/file /path/to/local/directory/
5. 刪除 HDFS 中的文件
刪除文件:
hdfs dfs -rm /user/hadoop/file
七、停止 Hadoop
完成操作后,停止 Hadoop 服務:
# 停止 YARN
stop-yarn.sh
# 停止 HDFS
stop-dfs.sh
以上便是hadoop的單節(jié)點搭建以及基礎操作。小編初步上手操作,若有紕漏希望廣大讀者朋友指教,可以聯(lián)系我們的官方公眾號小客服。