搭建Hadoop Linux集群是一个复杂的过程,涉及多个步骤和配置。以下是一个基本的指南,帮助你在Linux系统上搭建Hadoop集群。请注意,这里提供的是一个简化版的流程,实际生产环境中的集群搭建可能需要更多的配置和优化。
在所有节点上安装JDK,并设置JAVA_HOME
环境变量。
sudo apt update
sudo apt install openjdk-11-jdk
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
从Hadoop官方网站下载对应版本的Hadoop安装包,并解压到指定目录。
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
tar -xzvf hadoop-3.3.4.tar.gz
sudo mv hadoop-3.3.4 /usr/local/hadoop
在主节点上生成SSH密钥对,并将公钥分发到所有从节点。
ssh-keygen -t rsa
ssh-copy-id user@slave_node_ip
编辑Hadoop的配置文件,包括core-site.xml
、hdfs-site.xml
、mapred-site.xml
和yarn-site.xml
。
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/path/to/namenode/dir</value>
</property>
</configuration>
mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>resourcemanager</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
在主节点上格式化HDFS。
hdfs namenode -format
启动HDFS和YARN服务。
start-dfs.sh
start-yarn.sh
使用jps
命令检查Hadoop进程是否正常运行。
jps
访问Hadoop的Web UI,通常在http://namenode_ip:50070
和http://resourcemanager_ip:8088
。
为了提高集群的高可用性,可以配置Secondary NameNode和ZooKeeper。
Secondary NameNode:
hdfs namenode -format -m 1
ZooKeeper:
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz
sudo mv apache-zookeeper-3.7.0 /usr/local/zookeeper
配置zoo.cfg
文件,并启动ZooKeeper。
echo "server.1 127.0.0.1" >> /usr/local/zookeeper/conf/zoo.cfg
echo "server.2 127.0.0.2" >> /usr/local/zookeeper/conf/zoo.cfg
echo "server.3 127.0.0.3" >> /usr/local/zookeeper/conf/zoo.cfg
启动ZooKeeper:
/usr/local/zookeeper/bin/zkServer.sh start
以上步骤提供了一个基本的Hadoop集群搭建流程。在实际生产环境中,可能还需要考虑更多的细节和优化,如网络配置、安全性、监控和日志管理等。