在CentOS上设置HDFS(Hadoop分布式文件系统)涉及多个步骤,包括安装Hadoop、配置环境变量、修改配置文件以及启动HDFS服务。以下是一个基本的指南,帮助你在CentOS上设置HDFS。
首先,确保你的系统上安装了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
在集群中的所有节点上配置SSH免密登录,以便无需密码即可执行远程命令。
# 生成SSH密钥
ssh-keygen -t rsa
# 将公钥复制到本地
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 测试免密登录
ssh localhost
从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
编辑/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
编辑Hadoop的配置文件core-site.xml
和hdfs-site.xml
。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/path/to/namenode/dir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/path/to/datanode/dir</value>
</property>
</configuration>
在启动HDFS之前,需要格式化NameNode。
hdfs namenode -format
使用以下命令启动HDFS。
start-dfs.sh
使用以下命令检查HDFS是否正常运行。
jps
访问NameNode的Web界面,通常在http://namenode:9000
。
对于生产环境,建议配置HDFS的高可用性,包括设置Secondary NameNode和HDFS Federation。
以上步骤提供了一个基本的指南,帮助你在CentOS上设置HDFS。根据具体需求,你可能需要进一步调整和优化配置。