Hadoop概述
狭义下Hadoop是Apache的一套开源软件,用java实现,广义上是围绕Hadoop打造的大数据生态圈
Hadoop核心组件:
- HDFS(分布式文件存储系统):解决海量数据存储
- YARN(集群资源管理和任务调度框架):解决资源任务调度
- MapReduce(分布式计算框架):解决海量数据计算
三个组件在逻辑分离,物理可能不分离,有HDFS集群、YARN集群,但没有MapReduce集群
HDFS集群主角色是NameNode,主角色辅助角色是SecondaryNameNode,从角色是DataNode
YARN集群主角色是ResourceManager,从角色是NodeManager
HDFS和YARN组合在一起形成了Hadoop集群
安装Hadoop集群
- 集群规划主机角色node1NN DN RM NMnode2SNN DN NMnode3DN NM
安装并配置虚拟机
安装VirtualBox,下载centos镜像包,安装虚拟机,配置密码等,启动三台虚拟机
查看主机ip地址 https://www.cnblogs.com/Kalashnikov/p/16175608.html
虚拟机设置为双网卡:网络地址转换NAT、host only使得虚拟机可联外部网并内部访问
设置虚拟机可ssh连接 https://blog.csdn.net/qq_35760825/article/details/127187154 然后就可以通过xshell连接三台主机
主机名配置
# 将host1的该文件内容改为node1.itcast.cn,其他两台类推
vi /etc/hostname
# 修改主机映射文件
vi /etc/hosts
# 在文件末端添加以下内容
192.168.56.101 node2.itcast.cn node2
192.168.56.102 node1.itcast.cn node1
192.168.56.103 node3.itcast.cn node3
主机间免密登录
# 只需要配置node1至node1、node2、node3即可
#node1生成公钥私钥 (一路回车)
ssh-keygen
#node1配置免密登录到node1 node2 node3
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
安装hadoop
- 安装jdk将官网下载的压缩包上传到/export/software并解压至/export/server/解压
tar -xvf /export/software/jdk-8u241-linux-x64.tar.gz -C /export/server/
jdk的环境变量和后面的hadoop的一起配 - 安装hadoop http://t.zoukankan.com/theyang-p-12336391.htmlhadoop官网下载.tar.gz源码包,传到/export/software并解压至/export/server/```tar -xvf /export/software/hadoop-3.3.4.tar.gz -C /export/server/```
- 配置环境变量
# 编辑配置文件vi /etc/profile
# 在末端添加以下内容,根据自己的jdk路径、版本,hadoop路径、版本进行修改exportHADOOP_HOME=/export/server/hadoop-3.3.4
exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportJAVA_HOME=/export/server/jdk1.8.0_241
- 修改配置文件(配置文件路径 hadoop-3.3.4/etc/hadoop)- hadoop-env.sh
#文件最后添加exportJAVA_HOME=/export/server/jdk1.8.0_241exportHDFS_NAMENODE_USER=rootexportHDFS_DATANODE_USER=rootexportHDFS_SECONDARYNAMENODE_USER=rootexportYARN_RESOURCEMANAGER_USER=rootexportYARN_NODEMANAGER_USER=root
- core-site.xml<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 --><property><name>fs.defaultFS</name><value>hdfs://node1:8020</value></property><!-- 设置Hadoop本地保存数据路径 --><property><name>hadoop.tmp.dir</name><value>/export/data/hadoop-3.3.0</value></property><!-- 设置HDFS web UI用户身份 --><property><name>hadoop.http.staticuser.user</name><value>root</value></property><!-- 整合hive 用户代理设置 --><property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property><!-- 文件系统垃圾桶保存时间 --><property><name>fs.trash.interval</name><value>1440</value></property>
- hdfs-site.xml<!-- 设置SNN进程运行机器位置信息 --><property><name>dfs.namenode.secondary.http-address</name><value>node2:9868</value></property>
- mapred-site.xml<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 --><property><name>mapreduce.framework.name</name><value>yarn</value></property><!-- MR程序历史服务地址 --><property><name>mapreduce.jobhistory.address</name><value>node1:10020</value></property><!-- MR程序历史服务器web端地址 --><property><name>mapreduce.jobhistory.webapp.address</name><value>node1:19888</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>
- yarn-site.xml<!-- 设置YARN集群主角色运行机器位置 --><property><name>yarn.resourcemanager.hostname</name><value>node1</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</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><!-- 开启日志聚集 --><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 设置yarn历史服务器地址 --><property><name>yarn.log.server.url</name><value>http://node1:19888/jobhistory/logs</value></property><!-- 历史日志保存的时间 7天 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property>
- workersnode1.itcast.cnnode2.itcast.cnnode3.itcast.cn
- 分发同步hadoop安装包
cd /export/serverscp-r hadoop-3.3.4 root@node2:$PWDscp-r hadoop-3.3.4 root@node3:$PWD
- 将修改后的环境变量同步其他机器
scp /etc/profile root@node2:/etc/scp /etc/profile root@node3:/etc/# 再分别在三台机器上启用新的配置,三台虚拟机都执行此命令source /etc/profile
- 验证是否成功安装
#能够成功查看版本说明安装成功hadoop version
### NameNode format格式化操作首次启动HDFS时,必须对其进行格式化操作hdfs namenode -format# 出现2023-01-18 00:39:48,704 INFO common.Storage: Storage directory /export/data/hadoop-3.3.0/dfs/name has been successfully formatted. 这样的字样说明格式化成功
### 启动集群并查看进程# 启动hdfs集群start-dfs.sh # 启动yarn集群start-yarn.sh# jps分别查看一下三台的java进程jps
- node1- node2- node3
版权归原作者 Miaodawang 所有, 如有侵权,请联系我们删除。