hadoop3.3.6完全分布式搭建

hadoop完全分布式安装配置需要使用 root 用户和 hadoop 用户完成相关配置,使用三个节点完成 Hadoop 完全分布式安装配置。命令中使用绝对路径,hadoop版本为3.3.6。

(1)在 master 节点中的 /opt/software 目录下将文件 hadoop-3.3.6.tar.gz 安装包解压到 /opt/module 路径中;

# 在master上执行
tar -zxvf /opt/software/hadoop-3.3.6.tar.gz -C /opt/module

(2)在 master 节点中将解压的 Hadoop 安装目录重命名为 hadoop ,并修改该目录下的所有文件的所属者为 hadoop,所属组为 hadoop;

# 在master上执行
mv /opt/module/hadoop-3.3.6.tar.gz /opt/module/hadoop
chown -R hadoop:hadoop /opt/module/hadoop

(3)在 master 节点中使用 hadoop 用户依次配置 hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-env.sh、mapred-site.xml、yarn-env.sh、yarn-site.xml、workers 配置文件,Hadoop 集群部署规划如下表;

服务器masterslave1slave2
HDFSNameNode
HDFSSecondaryNameNode
HDFSDataNodeDataNodeDataNode
YARNResourceManager
YARNNodeManagerNodeManagerNodeManager
历史日志服务器JobHistoryServer

配置hadoop-env.sh

# 在master上执行
vi /opt/module/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/module/jdk
export HADOOP_HOME=/opt/module/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/log

配置core-site.xml 

# 在master上执行
vi /opt/module/hadoop/etc/hadoop/core-site.xml
<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:9000</value>
	</property>
</configuration>

配置hdfs-site.xml 

# 在master上执行
vi /opt/module/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>

	<property>
		<name>dfs.namenode.hosts</name>
		<value>master,slave1,slave2</value>
	</property>

	<property>
		<name>dfs.blocksize</name>
		<value>268435456</value>
	</property>
</configuration>

配置mapred-env.sh

# 在master上执行
vi /opt/module/hadoop/etc/hadoop/mapred-env.sh
export JAVA_HOME=/opt/module/jdk

配置mapred-site.xml

# 在master上配置
vi /opt/module/hadoop/etc/hadoop/mapred-site.xml
<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>

	<property>
		<name>yarn.app.mapreduce.am.env</name>
		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
	</property>

	<property>
		<name>mapreduce.map.env</name>
		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
	</property>

	<property>
		<name>mapreduce.reduce.env</name>
		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
	</property>
<configuration>

配置yarn-env.sh

# 在master上配置
vi /opt/module/hadoop/etc/hadoop/yarn-env.sh
export JAVA_HOME=/opt/module/jdk
export HADOOP_HOME=/opt/module/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs

 配置yarn-site.xml

# 在master上配置
vi /opt/module/hadoop/etc/hadoop/yarn-site.xml
<configuration>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>master</value>
	</property>

    <property>
	    <name>yarn.nodemanager.aux-services</name>
	    <value>mapreduce_shuffle</value>
    </property>

    <property>
	    <name>yarn.log-aggregation-enable</name>
    	<value>true</value>
    </property>

    <property>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
    </property>
</configuration>

配置workers

vi /opt/module/hadoop/etc/hadoop/workers
master
slave1
slave2

 (4)在 master 节点中使用 scp 命令将配置完的 hadoop 安装目录直接拷贝
至 slave1 和 slave2 节点;

# 在master上执行
scp -r /opt/module/hadoop slave1:/opt/module
scp -r /opt/module/hadoop slave2:/opt/module

(5)在 slave1 和 slave2 节点中将 hadoop 安装目录的所有文件的所属者为 hadoop,所属组为 hadoop; 

# 在slave1上执行
chown -R hadoop:hadoop /opt/module/hadoop
# 在slave2上执行
chown -R hadoop:hadoop /opt/module/hadoop

(6)在三个节点的 /etc/profile 文件中配置 Hadoop 环境变量 HADOOP_HOME 和 PATH 的值,并让配置文件立即生效;

# 在三台服务器执行
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

(7) 在 master 节点中初始化 Hadoop 环境 namenode;

# 在master上执行
hadoop namenode -format

(8) 在 master 节点中依次启动 HDFS、YARN 集群和历史服务。在 master 上将执行命令 jps 查看java进程情况;

# 在master上执行
start-dfs.sh
start-yarn.sh
mapred --daemon start historyserver
jps
# jps输出结果如下
NameNode
DataNode
SecondaryNameNode
NodeManager
ResourceManager
JobHistoryServer
Jps

 (9) 在 slave1 上将执行命令 jps 查看java进程情况;

# 在slave1上执行
jps
# jps输出结果如下
DataNode
NodeManager
Jps
对于Hadoop 3.3.6的完全分布式配置,你可以按照以下步骤进行操作: 1. 确保你已经安装了Java并设置了正确的环境变量。 2. 下载Hadoop 3.3.6的二进制文件并解压缩到你想要安装的目录。 3. 打开Hadoop配置文件目录,并编辑hadoop-env.sh文件,在其中设置JAVA_HOME变量为Java安装路径。例如: ``` export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ``` 4. 编辑core-site.xml文件,设置以下属性: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/path/to/tmp/dir</value> </property> </configuration> ``` 将`fs.defaultFS`设置为你的Hadoop集群的主节点和端口。将`hadoop.tmp.dir`设置为一个临时目录,用于存储Hadoop数据。 5. 编辑hdfs-site.xml文件,设置以下属性: ``` <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/path/to/name/dir</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/path/to/data/dir</value> </property> </configuration> ``` 将`dfs.replication`设置为你想要的副本数(通常为3)。将`dfs.namenode.name.dir`设置为主节点上用于存储元数据的目录,将`dfs.datanode.data.dir`设置为数据节点上用于存储块数据的目录。 6. 编辑mapred-site.xml文件,设置以下属性: ``` <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 将`mapreduce.framework.name`设置为yarn,以使用YARN作为Hadoop的资源管理器。 7. 编辑yarn-site.xml文件,设置以下属性: ``` <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> </configuration> ``` 将`yarn.nodemanager.aux-services`设置为mapreduce_shuffle,将`yarn.nodemanager.aux-services.mapreduce.shuffle.class`设置为org.apache.hadoop.mapred.ShuffleHandler,将`yarn.resourcemanager.hostname`设置为你的主节点的主机名或IP地址。 8. 配置完毕后,启动Hadoop集群的各个组件,包括NameNode、DataNode、ResourceManager和NodeManager。可以使用以下命令启动: ``` $ start-dfs.sh $ start-yarn.sh ``` 确保没有启动过程中出现任何错误或异常。 9. 最后,可以使用Hadoop命令行工具或Hadoop API在集群上执行任务。 这些是基本的完全分布式配置步骤,根据你的需求和环境可能还需要进行其他配置调整。希望能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值