在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配置、网络策略等因素。建议参考官方文档或相关的技术指南进行详细配置。