本文主要是介绍大数据集群搭建基础:Hadoop完全分布式搭建学习指南!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Hadoop完全分布式搭建学习指南
Hadoop版本:Hadoop2.X
JDK版本:JDK1.8
一、准备工作
-
设置主机名和IP
在三台CentOS 7.4机器上分别设置主机名和IP:
- node1: 192.168.14.10
- node2: 192.168.14.20
- node3: 192.168.14.30
修改主机名(以node1为例):
hostnamectl set-hostname node1
配置网络(依据具体网络环境和系统不同,配置方法可能有所不同)。
-
配置hosts文件
在三台机器上的
/etc/hosts
文件中都添加以下内容,以便机器之间能通过主机名互相访问:192.168.14.10 node1 192.168.14.20 node2 192.168.14.30 node3
-
关闭防火墙和SELinux
systemctl stop firewalld systemctl disable firewalld setenforce 0
-
配置SSH免密登录
在node1上生成SSH密钥对,并将公钥分发到其他两个节点,实现免密登录(node2和node3上也需进行类似操作,以便日后维护)。
ssh-keygen ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3
二、安装Java环境
-
下载并解压JDK
下载JDK压缩包到
/opt
,然后解压。cd /opt tar -zxvf jdk-xxx-linux-x64.tar.gz
-
配置环境变量
编辑
/etc/profile
,添加以下内容:export JAVA_HOME=/opt/jdk1.8.0_xxx export PATH=$PATH:$JAVA_HOME/bin
使环境变量生效:
source /etc/profile
三、安装Hadoop
-
下载并解压Hadoop
从Apache官网下载Hadoop压缩包到
/opt
,然后解压。cd /opt tar -zxvf hadoop-x.x.x.tar.gz
-
配置Hadoop环境变量
编辑
/etc/profile
,添加:export HADOOP_HOME=/opt/hadoop-x.x.x export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使环境变量生效:
source /etc/profile
-
配置Hadoop
需要配置的文件主要有
hadoop-env.sh
、core-site.xml
、hdfs-site.xml
、yarn-site.xml
、mapred-site.xml
和slaves
。-
hadoop-env.sh
:设置Java环境。export JAVA_HOME=/opt/jdk1.8.0_xxx
-
core-site.xml
:配置HDFS的地址。<configuration><property><name>fs.defaultFS</name><value>hdfs://node1:9000</value></property><property><name>hadoop.tmp.dir</name><value>/opt/hadoop-x.x.x/tmp</value></property> </configuration>
-
hdfs-site.xml
:配置HDFS的副本数等参数。<configuration><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.namenode.name.dir</name><value>/opt/hadoop-x.x.x/hdfs/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>/opt/hadoop-x.x.x/hdfs/datanode</value></property> </configuration>
-
yarn-site.xml
:配置YARN的资源管理器等参数。<configuration><property><name>yarn.resourcemanager.hostname</name><value>node1</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property> </configuration>
-
mapred-site.xml
(如果不存在,可复制mapred-site.xml.template
并重命名为mapred-site.xml
):配置MapReduce的运行框架为YARN。<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property> </configuration>
-
slaves
:配置DataNode所在的节点。node1 node2 node3
-
-
-
分发Hadoop到其他节点
使用
scp
命令将配置好的Hadoop目录分发到其他两个节点。scp -r /opt/hadoop-x.x.x node2:/opt/ scp -r /opt/hadoop-x.x.x node3:/opt/
-
格式化HDFS
在node1上执行以下命令来格式化HDFS。
hdfs namenode -format
-
启动Hadoop
在node1上启动Hadoop集群。
start-dfs.sh start-yarn.sh
-
验证Hadoop是否启动成功
通过Web界面访问
http://node1:50070/
来查看HDFS的状态,访问http://node1:8088/
来查看YARN的状态。同时,也可以通过jps
命令在各个节点上查看运行的Hadoop进程。
以下是将Hadoop完全分布式配置下各节点的进程以表格形式展现的示例:
节点 | 进程 |
---|---|
node1 | NameNode |
SecondaryNameNode | |
ResourceManager | |
DataNode | |
NodeManager | |
node2 | DataNode |
NodeManager | |
node3 | DataNode |
NodeManager |
各文件详细配置内容
core-site.xml
<configuration><!-- 指定Hadoop集群中的默认文件系统为HDFS --><property><name>fs.defaultFS</name><value>hdfs://node1:9000</value></property><!-- 配置Hadoop临时目录,用于存放MapReduce作业执行过程中的中间数据 --><property><name>hadoop.tmp.dir</name><value>/opt/hadoop-x.x.x/tmp</value></property>
</configuration>
hdfs-site.xml
<configuration><!-- 指定NameNode的存储路径,即NameNode元数据的存放位置 --><property><name>dfs.namenode.name.dir</name><value>/opt/hadoop-x.x.x/hdfs/namenode</value></property><!-- 指定DataNode的存储路径,即实际数据存储的位置 --><property><name>dfs.datanode.data.dir</name><value>/opt/hadoop-x.x.x/hdfs/datanode</value></property><!-- 配置HDFS的副本数,即每个数据块会被复制多少份,通常设置为3 --><property><name>dfs.replication</name><value>3</value></property>
</configuration>
yarn-site.xml
<configuration><!-- 指定ResourceManager的地址,YARN作业提交到这里进行资源分配和调度 --><property><name>yarn.resourcemanager.hostname</name><value>node1</value></property><!-- 配置NodeManager提供的辅助服务,mapreduce_shuffle是MapReduce作业必须的服务 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- (可选)配置ResourceManager的Web界面地址和端口 --><property><name>yarn.resourcemanager.webapp.address</name><value>node1:8088</value></property>
</configuration>
mapred-site.xml
<configuration><!-- 指定MapReduce作业的运行框架为YARN --><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
slaves
# 指定DataNode所在的节点,每行一个节点名
node1 //结点1
node2 //结点2
node3 //结点3
这篇关于大数据集群搭建基础:Hadoop完全分布式搭建学习指南!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!