本篇文档,最终按照如下图所示配置并部署集群
阿里云盘获取:
https://www.aliyundrive.com/s/sy1jmi5PyMg
在文件夹“安装包”中含有以下内容:
1、jdk安装包( jdk-8u241-linux-x64.tar.gz )
2、Hadoop编译后的包( hadoop-3.3.0-Centos7-64-with-snappy.tar.gz )
阿里云盘获取:
https://www.aliyundrive.com/s/sy1jmi5PyMg
通过vmware创建一台centos7的虚拟机, 02_安装Centos.doc
vmware安装包在文件夹“安装包”中包含, 01_安装VMware虚拟机.doc
finalshell连接工具在文件夹“安装包”中包含, finalshell_install.exe
三、配置虚拟机 1、主机名vim /etc/hostname #输入:修改后需要重启服务器生效 node1.itcast.cn2、配置固定ip
此处配置的固定ip为:10.8.0.151
vim /etc/sysconfig/network-scripts/ifcfg-ens33
参考:https://www.cnblogs.com/cyan-orange/p/15861123.html
3、hosts映射vim /etc/hosts #输入:可自定义,但是之后的三台机子的ip要与之相对应 10.8.0.151 node1.itcast.cn node1 10.8.0.152 node2.itcast.cn node2 10.8.0.153 node3.itcast.cn node3
此时同步配置宿主机的hosts文件,也添加上面的配置
windows的hosts文件在:C:WindowsSystem32driversetc
4、创建文件夹mkdir -p /export/server/ mkdir -p /export/data/ mkdir -p /export/software/5、JDK 1.8安装
上传 jdk-8u241-linux-x64.tar.gz到/export/server/目录下
cd /export/server/ tar zxvf jdk-8u241-linux-x64.tar.gz6、配置环境变量
vim /etc/profile export JAVA_HOME=/export/server/jdk1.8.0_241 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #重新加载环境变量文件 source /etc/profile #检查是否配置成功 java -version7、防火墙关闭
firewall-cmd --state #查看防火墙状态 systemctl stop firewalld.service #停止firewalld服务 systemctl disable firewalld.service #开机禁用firewalld服务8、再克隆两台虚拟机作为node2、node3
选中node1,点击克隆
按照上述方法克隆出node2和node3
9、配置node2和node3使node1和node3在关闭的状态下,开启node2
执行“1、主机名”和“2、配置固定ip”
node2: 设置对对应的主机名:node2.itcast.cn, 取决于你在hosts中定义的是什么内容 ip:10.8.0.152 node3: 设置对对应的主机名:node3.itcast.cn, ip:10.8.0.153
然后启动node3,重复执行上述操作
完成后,重启服务器
10、集群时间同步三台机器都执行:
ntpdate ntp5.aliyun.com11、ssh免密登录(只需要配置node1至node1、node2、node3即可)
#node1生成公钥私钥 (一路回车) ssh-keygen #node1配置免密登录到node1 node2 node3 ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3
至此基础环境已经配置成功,可以做一个虚拟机快照,作为备份
四、安装Hadoop集群 1、上传Hadoop安装包到node1 /export/serverhadoop-3.3.0-Centos7-64-with-snappy.tar.gz tar zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz2、修改配置文件
配置文件路径 hadoop-3.3.0/etc/hadoop
cd /export/server/hadoop-3.3.0/etc/hadoop
-
vim hadoop-env.sh
#文件最后添加 export JAVA_HOME=/export/server/jdk1.8.0_241 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
-
vim core-site.xml
fs.defaultFS hdfs://node1:8020 hadoop.tmp.dir /export/data/hadoop-3.3.0 hadoop.http.staticuser.user root hadoop.proxyuser.root.hosts * hadoop.proxyuser.root.groups * fs.trash.interval 1440 -
vim hdfs-site.xml
dfs.namenode.secondary.http-address node2:9868 -
vim mapred-site.xml
mapreduce.framework.name yarn mapreduce.jobhistory.address node1:10020 mapreduce.jobhistory.webapp.address node1:19888 yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.map.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.reduce.env HADOOP_MAPRED_HOME=${HADOOP_HOME} -
vim yarn-site.xml
yarn.resourcemanager.hostname node1 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.pmem-check-enabled false yarn.nodemanager.vmem-check-enabled false yarn.log-aggregation-enable true yarn.log.server.url http://node1:19888/jobhistory/logs yarn.log-aggregation.retain-seconds 604800 -
vim workers
node1.itcast.cn node2.itcast.cn node3.itcast.cn
cd /export/server scp -r hadoop-3.3.0 root@node2:$PWD scp -r hadoop-3.3.0 root@node3:$PWD4、将hadoop添加到环境变量(3台机器都需要配置)
vim /etc/profile export HADOOP_HOME=/export/server/hadoop-3.3.0 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile5、验证
输入:hadoop
出现下图字样,即为成功
6、格式化namenode重要:首次启动,需要格式化namenode,该操作只在刚安装完成后执行这一次,以后不再执行
重要:首次启动,需要格式化namenode,该操作只在刚安装完成后执行这一次,以后不再执行
重要:首次启动,需要格式化namenode,该操作只在刚安装完成后执行这一次,以后不再执行
只在node1节点执行即可!!只在node1节点执行即可!!只在node1节点执行即可!!
(因为nomenode节点,我们部署在了node1节点)
hdfs namenode -format
上述操作成功后:
今后按照下面的方法进行启动:
7、集群启动脚本一键启动
[root@node1 ~]# start-dfs.sh Starting namenodes on [node1] Last login: Thu Nov 5 10:44:10 CST 2020 on pts/0 Starting datanodes Last login: Thu Nov 5 10:45:02 CST 2020 on pts/0 Starting secondary namenodes [node2] Last login: Thu Nov 5 10:45:04 CST 2020 on pts/0 [root@node1 ~]# start-yarn.sh Starting resourcemanager Last login: Thu Nov 5 10:45:08 CST 2020 on pts/0 Starting nodemanagers Last login: Thu Nov 5 10:45:44 CST 2020 on pts/0
或者:
start-all.sh #启动,这一条命令包含了上述的两条命令 start-dfs.sh start-yarn.sh stop-all.sh #停止8、验证启动是否成功
jps包含以下的相关信息即可:(与我们搭建的集群配置相同)
Node1:NodeManager、DataNode、NameNode、ResourceManager
Node2:SecondaryNameNode、NodeManager、DataNode
Node3:NodeManager、DataNode
9、Web UI页面- HDFS集群:http://node1:9870/
- YARN集群:http://node1:8088/
通过黑马视频学习总结,附黑马视频链接:
https://www.bilibili.com/video/BV1CU4y1N7Sh?p=26&spm_id_from=pageDriver



