【Hadoop】hadoop3.3.1完全分布式配置

目录

1 主机映射

2 免密

ssh-keygen

ssh-copy-id master

ssh-copy-id worker1

ssh-copy-id worker2

3 防火墙

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

4 安装jdk和hadoop

解压缩

修改环境变量

vim /etc/profile

复制代码
#JAVA HOME
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_152/
export PATH=$PATH:$JAVA_HOME/bin

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

让环境变量生效与验证

source /etc/profile

java -version

hadoop version

5 配置集群环境

hadoop-env.sh

复制代码
vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_152/
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

core-site.xml

复制代码
cd /usr/local/hadoop/etc/hadoop/
vim core-site.xm
<configuration>
<property>
        <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
<!-- 临时文件存放位置 -->
<property>
        <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/tmp</value>
</property>
</configuration>

hdfs-site.xml

复制代码
vim hdfs-site.xml
<property>
        <name>dfs.replication</name>
    <value>2</value>
</property>
<!-- namenode存放的位置,老版本是用dfs.name.dir -->
<property>
        <name>dfs.namenode.name.dir</name>
    <value>/usr/local/hadoop/name</value>
</property>
<!-- datanode存放的位置,老版本是dfs.data.dir -->
<property>
        <name>dfs.datanode.data.dir</name>
    <value>/usr/local/hadoop/data</value>
</property>
<!-- 关闭文件上传权限检查 -->

yarn-site.xml

复制代码
vim yarn-site.xml
<property>
        <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
<!-- nodemanager获取数据的方式 -->
<property>
        <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<!-- 关闭虚拟内存检查 -->
<property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

mapred-site.xml

复制代码
vim mapred-site.xml
<property>
        <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<!-- 配了上面这个下面这个也得配, 不然跑mapreduce会找不到主类。MR应用程序的CLASSPATH-->
<property>
        <name>mapreduce.application.classpath</name>
    <value>/usr/local/hadoop/share/hadoop/mapreduce/*:/usr/local/hadoop/share/hadoop/mapreduce/lib/*</value>
</property>

workers

复制代码
vim workers
worker1
worker2

scp至其他节点

格式化

复制代码
hdfs namenode -format

启动服务(在第一台)

复制代码
start-all.sh

访问ip:9870

相关推荐
大大大大晴天3 天前
Hudi技术内幕:RecordPayload到RecordMerger
大数据
SelectDB3 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI3 天前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI3 天前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop
WhoAmI3 天前
MapReduce框架原理解析二:Shuffle
大数据·hadoop
大大大大晴天4 天前
Hudi技术内幕:Key Generation原理与实践
大数据
得物技术8 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子8 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树888 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
大志哥1238 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch