在CentOS上设置HDFS(Hadoop分布式文件系统)涉及多个步骤,包括安装Hadoop、配置环境变量、修改配置文件以及启动HDFS服务。以下是一个基本的指南,帮助你在CentOS上设置HDFS。
1. 安装Java环境
首先,确保你的系统上安装了Java。你可以从Oracle官网下载并安装JDK 8。
# 下载JDK 8 wget https://download.oracle.com/otn/java/jdk/8u121-b11/d7fc27d8d8d4480369ac70d8d95c386c6b3f/jdk-8u121-linux-x64.tar.gz # 解压JDK tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/lib/jvm # 配置环境变量 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121 export PATH=$PATH:$JAVA_HOME/bin
2. 配置SSH免密登录
在集群中的所有节点上配置SSH免密登录,以便无需密码即可执行远程命令。
# 生成SSH密钥 ssh-keygen -t rsa # 将公钥复制到本地 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 测试免密登录 ssh localhost
3. 下载并解压Hadoop
从Apache Hadoop官网下载Hadoop安装包,并解压到指定目录。
# 下载Hadoop wget https://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.16.2.tar.gz # 解压Hadoop tar -zxvf hadoop-2.6.0-cdh5.16.2.tar.gz -C /usr/local # 配置环境变量 export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
4. 配置Hadoop环境变量
编辑/etc/profile
文件,添加Hadoop环境变量。
# 编辑/etc/profile vim /etc/profile # 添加以下内容 export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR" # 使配置生效 source /etc/profile
5. 配置HDFS配置文件
编辑Hadoop的配置文件core-site.xml
和hdfs-site.xml
。
core-site.xml
fs.defaultFS hdfs://namenode:9000 hadoop.tmp.dir /tmp/hadoop
hdfs-site.xml
dfs.replication 3 dfs.namenode.name.dir /path/to/namenode/dir dfs.datanode.data.dir /path/to/datanode/dir
6. 格式化NameNode
在启动HDFS之前,需要格式化NameNode。
hdfs namenode -format
7. 启动HDFS
使用以下命令启动HDFS。
start-dfs.sh
8. 验证HDFS
使用以下命令检查HDFS是否正常运行。
jps
访问NameNode的Web界面,通常在http://namenode:9000
。
9. 设置高可用性(可选)
对于生产环境,建议配置HDFS的高可用性,包括设置Secondary NameNode和HDFS Federation。
以上步骤提供了一个基本的指南,帮助你在CentOS上设置HDFS。根据具体需求,你可能需要进一步调整和优化配置。