Hadoop集群环境准备
本篇文档,最终按照如下图所示配置并部署集群 ![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zPrMHcJo-1650512313101)(img/14.png)]](https://img-blog.csdnimg.cn/5ef415280c094faaa1c7c736c22f4f95.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_20,color_FFFFFF,t_70,g_se,x_16)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QWcnRUch-1650512313102)(img/12.png)]](https://img-blog.csdnimg.cn/059fe07de2ee4c0f9d45848f6748946d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_20,color_FFFFFF,t_70,g_se,x_16)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MAuFqTNG-1650512313102)(img/13.png)]](https://img-blog.csdnimg.cn/a729cf52422040eaacf07f91db180ddd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_20,color_FFFFFF,t_70,g_se,x_16)
一、准备安装包
阿里云盘获取: 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.cn
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cYNGoeCl-1650512313102)(img/2.png)]](https://img-blog.csdnimg.cn/ad637111614149de883f97598785db60.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_18,color_FFFFFF,t_70,g_se,x_16)
2、配置固定ip
此处配置的固定ip为:10.8.0.151
vim /etc/sysconfig/network-scripts/ifcfg-ens33
参考:https://www.cnblogs.com/cyan-orange/p/15861123.html
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Wc4gVK9-1650512313102)(img/1.png)]](https://img-blog.csdnimg.cn/56f08122092f404da00fe6715a01c0c6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_20,color_FFFFFF,t_70,g_se,x_16)
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
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Aniz1RZ-1650512313103)(img/3.png)]](https://img-blog.csdnimg.cn/0c4192547f8b49c2b90c3cfe007337ef.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_20,color_FFFFFF,t_70,g_se,x_16) 此时同步配置宿主机的hosts文件,也添加上面的配置
windows的hosts文件在:C:\Windows\System32\drivers\etc
4、创建文件夹
mkdir -p /export/server/
mkdir -p /export/data/
mkdir -p /export/software/
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7TEPcIm-1650512313103)(img/4.png)]](https://img-blog.csdnimg.cn/d347c35161614511838077fab1b88dc5.png)
5、JDK 1.8安装
上传 jdk-8u241-linux-x64.tar.gz到/export/server/目录下
cd /export/server/
tar zxvf jdk-8u241-linux-x64.tar.gz
6、配置环境变量
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 -version
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-33XNIRYl-1650512313103)(img/5.png)]](https://img-blog.csdnimg.cn/d912995c6af445f08748beeb6f5f8c71.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_20,color_FFFFFF,t_70,g_se,x_16)
7、防火墙关闭
firewall-cmd --state #查看防火墙状态
systemctl stop firewalld.service #停止firewalld服务
systemctl disable firewalld.service #开机禁用firewalld服务
8、再克隆两台虚拟机作为node2、node3
选中node1,点击克隆
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6FNwBDJZ-1650512313103)(img/6.png)]](https://img-blog.csdnimg.cn/8c487cf1a93c4308b1af9b513e04715d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_14,color_FFFFFF,t_70,g_se,x_16)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dIqyEQrB-1650512313103)(img/7.png)]](https://img-blog.csdnimg.cn/884270955f0344e8b77ada092e1156a6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_12,color_FFFFFF,t_70,g_se,x_16)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wFgIvS66-1650512313103)(img/8.png)]](https://img-blog.csdnimg.cn/094edc42bdac4862be28945a67d8e8c0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_12,color_FFFFFF,t_70,g_se,x_16)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PYuJuvS6-1650512313103)(img/9.png)]](https://img-blog.csdnimg.cn/2b027dbe80b64b6caffa3e61570bf90f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_12,color_FFFFFF,t_70,g_se,x_16)
按照上述方法克隆出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.com
11、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/server
hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
tar zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
2、修改配置文件
配置文件路径 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
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoop-3.3.0</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<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>
-
vim hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
-
vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<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>
-
vim yarn-site.xml
<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>
<property>
<name>yarn.log.server.url</name>
<value>http://node1:19888/jobhistory/logs</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
-
vim workers node1.itcast.cn
node2.itcast.cn
node3.itcast.cn
3、分发同步hadoop安装包
cd /export/server
scp -r hadoop-3.3.0 root@node2:$PWD
scp -r hadoop-3.3.0 root@node3:$PWD
4、将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/profile
5、验证
输入:hadoop
出现下图字样,即为成功
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0sOIXD6l-1650512313103)(img/10.png)]](https://img-blog.csdnimg.cn/cb3b4194506e4af08a05023a3b0660f2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_20,color_FFFFFF,t_70,g_se,x_16)
6、格式化namenode
重要:首次启动,需要格式化namenode,该操作只在刚安装完成后执行这一次,以后不再执行
重要:首次启动,需要格式化namenode,该操作只在刚安装完成后执行这一次,以后不再执行
重要:首次启动,需要格式化namenode,该操作只在刚安装完成后执行这一次,以后不再执行
只在node1节点执行即可!!只在node1节点执行即可!!只在node1节点执行即可!!
(因为nomenode节点,我们部署在了node1节点)
hdfs namenode -format
上述操作成功后:
今后按照下面的方法进行启动:
7、集群启动
脚本一键启动
[root@node1 ~]
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 ~]
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
stop-all.sh
8、验证启动是否成功
jps包含以下的相关信息即可:(与我们搭建的集群配置相同)
Node1:NodeManager、DataNode、NameNode、ResourceManager
Node2:SecondaryNameNode、NodeManager、DataNode
Node3:NodeManager、DataNode
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qjZ3UVUA-1650512313103)(img/11.png)]](https://img-blog.csdnimg.cn/6e0784e43ad844c19a44f157d9ca439e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zy56Zuz5aiH5aiD5LmI5LmI5ZOS,size_20,color_FFFFFF,t_70,g_se,x_16)
9、Web UI页面
- HDFS集群:http://node1:9870/
- YARN集群:http://node1:8088/
通过黑马视频学习总结,附黑马视频链接: https://www.bilibili.com/video/BV1CU4y1N7Sh?p=26&spm_id_from=pageDriver
|