您现在的位置是:首页 >技术交流 >hadoop 3.x分布式网站首页技术交流
hadoop 3.x分布式
简介hadoop 3.x分布式
Hadoop 完全分布式部署
1、组件版本
组件名称 | 版本 |
---|---|
jdk | 1.8 |
hadoop | 3.1.3 |
mysql | 5.7.25 |
2、基础环境
- firewalld
- SSH
- NTP
- JDK
- MySQL
3、hadoop 完全分布式部署
3.1、解压并重命名
[root@master ~]#
tar -xzvf /chinaskills/hadoop-3.1.3.tar.gz -C /usr/local/src/
mv /usr/local/src/hadoop-3.1.3 /usr/local/src/hadoop
3.2、配置环境变量并加载
[root@master ~]#
vim /root/.bash_profile
配置内容:
export HADOOP_HOME=/usr/local/src/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
加载环境变量
source /root/.bash_profile
3.3、配置hadoop-env.sh
[root@master ~]#
vim /usr/local/src/hadoop/etc/hadoop/hadoop-env.sh
配置内容:
export JAVA_HOME=/usr/local/src/java
3.4、配置core-site.xml
[root@master ~]#
vim /usr/local/src/hadoop/etc/hadoop/core-site.xml
配置内容:
<property>
<!--namenode的URI-->
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<!--hdfs临时文件地址-->
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop/dfs/tmp/hadoop-root</value>
</property>
<property>
<!--SequenceFiles 中使用的读/写缓冲区的大小-->
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<!--配置允许访问的主机-->
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<!--配置允许访问的组-->
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<!--配置允许访问的用户-->
<name>hadoop.proxyuser.root.users</name>
<value>*</value>
</property>
3.5、配置hdfs-site.xml
[root@master ~]#
vim /usr/local/src/hadoop/etc/hadoop/hdfs-site.xml
配置内容:
<property>
<!--NameNode 持久存储命名空间和事务日志的本地文件系统上的路径。-->
<name>dfs.namenode.name.dir</name>
<value>/usr/local/src/hadoop/dfs/name</value>
</property>
<property>
<!--用于大型文件系统的 HDFS 块大小为 256MB-->
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<!--设置NameNode 服务器线程来处理来自大量 DataNode 的 RPC-->
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<property>
<!--DataNode的本地文件系统上应存储其块的路径的逗号分隔列表。-->
<name>dfs.datanode.data.dir</name>
<value>/usr/local/src/hadoop/dfs/name</value>
</property>
3.6、配置yarn-site.xml
[root@master ~]#
vim /usr/local/src/hadoop/etc/hadoop/yarn-site.xml
配置内容:
<property>
<!--配置resourcemanager的主机-->
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<!--逗号分隔的服务列表-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!--在资源管理器中分配给每个容器请求的最小内存限制。以 MB 为单位-->
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<!--在资源管理器中分配给每个容器请求的最大内存限制。以 MB 为单位-->
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<property>
<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉-->
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉-->
<name>yarn.nodemanager.vmem-check-enabled </name>
<value>false</value>
</property>
3.7、配置mapred-site.xml
[root@master ~]#
vim /usr/local/src/hadoop/etc/hadoop/mapred-site.xml
配置内容:
<property>
<!--执行框架设置为 Hadoop YARN-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/usr/local/src/hadoop</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/usr/local/src/hadoop</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/usr/local/src/hadoop</value>
</property>
<property>
<!--map任务的资源限制-->
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<!--map任务子jvm的堆大小-->
<mame>mapreduce.map.java.opts</mame>
<value>-Xmx1536M</value>
</property>
<property>
<!--reduce任务的资源限制-->
<name>mapreduce.reduce.memory.mb</name>
<value>4096</value>
</property>
<property>
<!--reduce任务子jvm的堆大小-->
<mame>mapreduce.map.java.opts</mame>
<value>-Xmx2560M</value>
</property>
<property>
<!--MapReduce JobHistory 服务器主机:端口-->
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<!--MapReduce JobHistory Server Web UI主机:端口-->
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<!--MapReduce 作业写入历史文件的目录-->
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/mr-history/tmp</value>
</property>
<property>
<!--历史文件由 MR JobHistory Server 管理的目录。-->
<name>mapreduce.jobhistory.done-dir</name>
<value>/mr-history/done</value>
</property>
3.8、配置works
[root@master ~]#
vim /usr/local/src/hadoop/etc/hadoop/workers
配置内容:
master
slave1
slave2
3.9、修改start-dfs.sh和start-yarn.sh
[root@master ~]#
vim /usr/local/src/hadoop/sbin/start-dfs.sh
配置内容:
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vim /usr/local/src/hadoop/sbin/start-yarn.sh
配置内容:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
3.10、修改stop-dfs.sh 和stop-yarn.sh
[root@master ~]#
vim /usr/local/src/hadoop/sbin/stop-dfs.sh
配置内容:
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vim /usr/local/src/hadoop/sbin/stop-yarn.sh
配置内容:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
3.11、分发文件
[root@master ~]#
scp -r /usr/local/src/hadoop root@slave1:/usr/local/src/ &
scp -r /usr/local/src/hadoop root@slave2:/usr/local/src/ &
scp /root/.bash_profile root@slave1:/root/
scp /root/.bash_profile root@slave2:/root/
3.12、格式化并启动集群
[root@master ~]#
hdfs namenode -format
start-all.sh
mapred --daemon start historyserver
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。