3.Hadoop搭建教程
1. Hadoop基础环境搭建(3台机械同时配置)
1.1主机名解析
为了方便集群节点间的直接调用,在这个配置一下主机名解析,企业中推荐使用内部DNS服务器
1 | # 主机名成解析 编辑三台服务器的vi /etc/hosts文件,添加下面内容 |
1.2 时间同步
要求集群中的节点时间必须精确,这里使用chronyd服务从网络同步时间
企业中建议配置内部的会见同步服务器
1 | # 启动chronyd服务 |
1.3 禁用iptable和firewalld服务
在运行的中会产生大量的iptables规则,为了不让系统规则跟它们混淆,直接关闭系统的规则
1 | # 1 关闭firewalld服务 |
1.4 禁用selinux
selinux是linux系统下的一个安全服务,如果不关闭它,在安装集群中会产生各种各样的奇葩问题
1 | # 编辑 vi /etc/selinux/config 文件,修改SELINUX的值为disable |
1.5 禁用swap分区
swap分区指的是虚拟内存分区,它的作用是物理内存使用完,之后将磁盘空间虚拟成内存来使用,启用swap设备会对系统的性能产生非常负面的影响,因此kubernetes要求每个节点都要禁用swap设备,但是如果因为某些原因确实不能关闭swap分区,就需要在集群安装过程中通过明确的参数进行配置说明
1 | # 编辑分区配置文件vi /etc/fstab,注释掉swap分区一行 |
1.6 关闭防火墙
1 | 防火墙关闭 |
1.7 ssh免密登录
1 | ssh免密登录(只需要配置master至node1、node2、node3即可) |
1.8 新建工作空间
1 | 这个工作空间必须创建 |
1.9 Java环境变量
1 | JDK 1.8安装 上传 jdk-8u241-linux-x64.tar.gz到/export/server/目录下 |
2.部署(3台机械同时配置)
1.1上传Hadoop安装包到master /export/server
1 | hadoop-3.3.0-Centos7-64-with-snappy.tar.gz |
1.2修改配置文件(cd /export/server/hadoop-3.3.0/etc/hadoop)
- hadoop-env.sh
1 | 文件最后添加 |
core-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master: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
1
2
3
4
5<!-- 设置SNN进程运行机器位置信息 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>mapred-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- MR程序历史服务地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<!-- MR程序历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master: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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39<!-- 设置YARN集群主角色运行机器位置 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</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://master:19888/jobhistory/logs</value>
</property>
<!-- 历史日志保存的时间 7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>使用vim 修改 workers文件
1
2
3
4master
node1
node2将hadoop添加到环境变量(3台机器)
1
2
3
4
5
6
7
8
9
10
11
12配置环境变量
vim /etc/profile
export HADOOP_HOME=/export/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
重新加载环境变量文件
source /etc/profile
验证是否成功
hadoop -versionHadoop集群启动(只在master节点)
(==首次启动==)格式化namenode
1
hdfs namenode -format
脚本一键启动
1
2
3
4
5
6
7
8
9
10
11
12
13[root@master ~]# 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@master ~]# 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/0Web UI页面
- HDFS集群:http://192.168.90.100:9870/
- YARN集群:http://192.168.90.100:8088/
- HDFS集群:http://master:9870/
- YARN集群:http://master:8088/
1 | [root@master hadoop]# start-dfs.sh |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 梦创空间!
评论