小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-11-15 / 28 阅读
0
0

hadoop完全分布式搭建

安装和配置Hadoop的完全分布式模式涉及到多台机器之间的协调和通信。这比单机模式复杂得多,但能更好地模拟生产环境中的实际应用。下面是配置Hadoop完全分布式模式的详细步骤,假设你有三台机器(master、slave1、slave2),每台机器都已安装好Java环境。

1. 准备工作

  • 确保所有节点之间无密码SSH登录:在所有节点上生成SSH密钥对,并将公钥复制到所有节点。
  • 同步时间:确保所有节点的时间同步,可以使用NTP服务。
  • 关闭防火墙(如果在测试环境中):为了简化网络配置,可以暂时关闭防火墙。生产环境中则需要正确配置防火墙规则。

2. 安装Hadoop

在所有节点上执行相同的步骤,下载并解压Hadoop:

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -zxvf hadoop-3.3.1.tar.gz -C /usr/local/
cd /usr/local/
ln -s hadoop-3.3.1 hadoop

3. 配置环境变量

在所有节点上编辑 ~/.bashrc文件,添加以下内容:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使配置生效:

source ~/.bashrc

4. 编辑Hadoop配置文件

Hadoop的主要配置文件位于 $HADOOP_HOME/etc/hadoop/目录下。你需要编辑以下几个文件:

core-site.xml

master节点上编辑 core-site.xml,设置HDFS的基本属性:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/app/hadoop/tmp</value>
    </property>
</configuration>

hdfs-site.xml

master节点上编辑 hdfs-site.xml,设置HDFS的数据块大小、副本数等:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:9870</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9868</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/app/hadoop/data</value>
    </property>
</configuration>

yarn-site.xml

master节点上编辑 yarn-site.xml,配置YARN相关参数:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>4096</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>4096</value>
    </property>
</configuration>

mapred-site.xml

master节点上编辑 mapred-site.xml,配置MapReduce框架:
首先复制模板文件:

cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml

然后编辑:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>
</configuration>

workers

master节点上编辑 workers文件,列出所有DataNode节点:

slave1
slave2

5. 分发配置文件

master节点上的Hadoop配置文件分发到所有DataNode节点:

scp -r $HADOOP_HOME/etc/hadoop slave1:$HADOOP_HOME/etc/
scp -r $HADOOP_HOME/etc/hadoop slave2:$HADOOP_HOME/etc/

6. 格式化HDFS

master节点上格式化HDFS文件系统:

hdfs namenode -format

7. 启动Hadoop

  • 启动HDFS
    master节点上执行:
start-dfs.sh
  • 启动YARN
    master节点上执行:
start-yarn.sh
  • 启动JobHistory Server(可选):
    master节点上执行:
mr-jobhistory-daemon.sh start historyserver

8. 检查服务状态

  • 检查HDFS状态:通过浏览器访问 http://master:9870来查看NameNode的状态。
  • 检查YARN状态:通过浏览器访问 http://master:8088来检查YARN ResourceManager的状态。
  • 检查JobHistory Server状态:通过浏览器访问 http://master:19888来检查JobHistory Server的状态。

9. 验证集群

master节点上运行一个简单的MapReduce作业来验证集群是否正常工作:

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar pi 10 100

10. 配置其他组件

一旦Hadoop成功安装并运行,接下来可以根据各自的文档来配置Spark、Scala、Kafka、Hive、Hudi、HBase、Flume、Flink、ZooKeeper以及ClickHouse等组件。确保这些组件能够与Hadoop的HDFS和YARN集成。

希望这些步骤对你有所帮助!如果有任何问题,请随时提问。


评论