在centos上部署hdfs(hadoop分布式文件系統)是一個相對復雜的過程,涉及多個步驟。以下是一個基本的部署流程,假設你要配置一個單機版的hdfs集群。對于完全分布式集群,流程會更為復雜,需要額外配置zookeeper、secondary namenode等。
準備工作
- 安裝Java:HDFS需要Java環境,首先確保Java已安裝。
yum install java-1.8.0-openjdk-devel -y
- 配置ssh免密登錄:配置SSH免密登錄,以便在節點之間進行無密碼訪問。
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa ssh-copy-id localhost
下載并解壓hadoop
從apache Hadoop官網下載對應版本的Hadoop安裝包,并解壓到指定目錄。
wget https://downloads.apache.org/hadoop/core/hadoop-3.2.4/hadoop-3.2.4.tar.gz tar -zxvf hadoop-3.2.4.tar.gz -C /opt/
配置環境變量
編輯 /etc/profile 文件,添加Hadoop的路徑和庫路徑。
echo "export HADOOP_HOME=/opt/hadoop-3.2.4" >> /etc/profile echo "export PATH=<span>$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin"</span> >> /etc/profile source /etc/profile
配置Hadoop配置文件
- core-site.xml:配置HDFS的默認文件系統和臨時目錄。
<<span>configuration></span> <<span>property></span> <<span>name></span>fs.defaultFS</<span>name></span> <<span>value></span>hdfs://localhost:9000</<span>value></span> </<span>property></span> <<span>property></span> <<span>name></span>hadoop.tmp.dir</<span>name></span> <<span>value></span>/usr/local/hadoop/tmp</<span>value></span> </<span>property></span> </<span>configuration></span>
- hdfs-site.xml:配置HDFS的數據節點目錄、副本數等。
<<span>configuration></span> <<span>property></span> <<span>name></span>dfs.namenode.name.dir</<span>name></span> <<span>value></span>/usr/local/hadoop/hdfs/namenode</<span>value></span> </<span>property></span> <<span>property></span> <<span>name></span>dfs.datanode.data.dir</<span>name></span> <<span>value></span>/usr/local/hadoop/hdfs/datanode</<span>value></span> </<span>property></span> <<span>property></span> <<span>name></span>dfs.replication</<span>name></span> <<span>value></span>1</<span>value></span> </<span>property></span> </<span>configuration></span>
- mapred-site.xml 和 yarn-site.xml(可選):配置mapreduce框架和yarn資源管理器。
格式化NameNode
在NameNode節點上執行 hdfs namenode –format 命令,初始化文件系統。
hdfs namenode -format
啟動HDFS
在NameNode節點上執行 start-dfs.sh 腳本啟動HDFS集群。
/opt/hadoop-3.2.4/sbin/start-dfs.sh
驗證配置
使用 jps 命令檢查進程,確保NameNode和DataNode正在運行。
jps
通過Web界面(通常是 http://namenode-host:port)訪問HDFS的管理頁面,驗證安裝是否成功。
高可用性配置(可選)
對于生產環境,建議配置高可用性特性,如JournalNode和zookeeper集群。
- 配置JournalNode:至少配置一個JournalNode以實現數據日志的共享。
- 配置ZooKeeper:使用ZooKeeper進行NameNode的主備切換。
- 修改hdfs-site.xml:添加高可用性相關的配置,如 dfs.nameservices、dfs.ha.namenodes 等。
請注意,以上步驟是一個基本的指南,具體的配置可能會根據你的集群規模和需求有所不同。在實際操作中,還需要考慮防火墻設置、SELinux配置、網絡策略等因素。建議參考官方文檔或相關的技術指南進行詳細配置。