在Linux上搭建Hadoop集群是一个相对复杂的过程,需要多个步骤和配置。以下是一个基本的指南,帮助你在CentOS 7上搭建一个Hadoop HDFS集群。
Hadoop需要Java环境,首先在所有节点上安装Java:
sudo yum install java
java -version
从Hadoop官方网站下载适当版本的Hadoop安装包,并解压到指定目录。例如:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
tar -xzvf hadoop-3.3.0.tar.gz -C /opt/hadoop
编辑/etc/profile
文件,添加以下内容:
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后运行以下命令使更改生效:
source /etc/profile
在$HADOOP_HOME/etc/hadoop/core-site.xml
文件中添加以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
</configuration>
在$HADOOP_HOME/etc/hadoop/hdfs-site.xml
文件中添加以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/hdfs/namenode</value>
</property>
</configuration>
在$HADOOP_HOME/etc/hadoop/mapred-site.xml
文件中添加以下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
在$HADOOP_HOME/etc/hadoop/yarn-site.xml
文件中添加以下内容:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/opt/hadoop/yarn/local</value>
</property>
</configuration>
在主节点(node1)上运行以下命令初始化HDFS文件系统:
hdfs namenode -format
在主节点上运行以下命令启动Hadoop集群:
start-dfs.sh
start-yarn.sh
使用以下命令检查Hadoop集群的状态:
jps
确保所有必需的Hadoop进程(如NameNode、DataNode、ResourceManager等)都在运行。
在主节点上生成SSH密钥,并将公钥分发到所有从节点上,以实现SSH免密码登录。
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys user@node2:/~/.ssh/
ssh-copy-id user@node3
关闭防火墙以防止端口被阻塞:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
通过以上步骤,你应该能够在Linux上成功搭建一个基本的Hadoop集群。根据具体需求,你可能还需要进行进一步的优化和配置。