大数据开发工程师-第一周 第5章 Linux总结与走进大数据


第二周 大数据起源之初识Hadoop

第一章初识Hadoop

什么是Hadoop

1
Hadoop是一个适合海量数据的分布式存储和分布式计算的框架。

Hadoop发行版介绍

1
2
3
4
在这里我们挑几个重点的分析一下:
首先是官方原生版本:Apache Hadoop
那接着往下面看 Cloudera Hadoop(CDH)
还有一个比较常用的是HortonWorks(HDP)
1
在这里我们会学习原生的Hadoop,只要掌握了原生Hadoop使用,后期想要操作其它发行版的Hadoop也是很简单的,其它发行版都是会兼容原生Hadoop的,这一点大家不同担心。 原生Hadoop的缺点是没有技术支持,遇到问题需要自己解决,或者通过官网的社区提问,但是回复一般比较慢,也不保证能解决问题, 还有一点就是原生Hadoop搭建集群的时候比较麻烦,需要修改很多配置文件,如果集群机器过多的话,针对运维人员的压力是比较大的,这块等后面我们自己在搭建集群的时候大家就可以感受到了。
1
最终的建议:建议在实际工作中搭建大数据平台时选择CDH或者HDP,方便运维管理,要不然,管理上千台机器的原生Hadoop集群,运维同学是会哭的。

Hadoop版本演变历史

1
2
3
hadoop1.x:HDFS+MapReduce
hadoop2.x:HDFS+YARN+MapReduce
hadoop3.x:HDFS+YARN+MapReduce

H9TvdA.png

1
2
3
4
在Hadoop1.x中,分布式计算和资源管理都是MapReduce负责的,从Hadoop2.x开始把资源管理单独拆分出来了,拆分出来的好处就是,YARN变成了一个公共的资源管理平台,在它上面不仅仅可以跑MapReduce程序,还可以跑很多其他的程序,只要你的程序满足YARN的规则即可

Hadoop的这一步棋走的是最好的,这样自己摇身一变就变成了一个公共的平台,由于它起步早,占有的市场份额也多,后期其它新兴起的计算框架一般都会支持在YARN上面运行,这样Hadoop就保证了自己的地位。
咱们后面要学的Spark、Flink等计算框架都是支持在YARN上面执行的,并且在实际工作中也都是在YARN上面执行。

Hadoop3.x的细节优化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
在这里我挑几个常见点说一下:

1:最低Java版本要求从Java7变为Java8

2:在Hadoop 3中,HDFS支持纠删码,纠删码是一种比副本存储更节省存储空间的数据持久化存储方法,使用这种方法,相同容错的情况下可以比之前节省一半的存储空间
详细介绍在这里: https://hadoop.apache.org/docs/r3.0.0/hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html

3: Hadoop 2中的HDFS最多支持两个NameNode,一主一备,而Hadoop 3中的HDFS支持多个NameNode,一主多备
详细介绍在这里: https://hadoop.apache.org/docs/r3.0.0/hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html

4:MapReduce任务级本地优化,MapReduce添加了映射输出收集器的本地化实现的支持。对于密集型的洗牌操作(shuffle-intensive)jobs,可以带来30%的性能提升,
详细介绍在这里:https://issues.apache.org/jira/browse/MAPREDUCE-2841

5:修改了多重服务的默认端口,Hadoop2中一些服务的端口和Hadoop3中是不一样的
总结: Hadoop 3和2之间的主要区别在于新版本提供了更好的优化和可用性

Hadoop三大核心组件介绍

1
2
3
HDFS负责海量数据的分布式存储
MapReduce是一个计算模型,负责海量数据的分布式计算
YARN主要负责集群资源的管理和调度

第二章Hadoop的两种安装方式

伪分布集群安装

文章标题(可选)

HCnzRI.png

1
2
3
伪分布集群部署:仅需要一台虚拟机
这张图代表是一台Linux机器,也可以称为是一个节点,上面安装的有JDK环境
最上面的是Hadoop集群会启动的进程,其中NameNode、SecondaryNameNode、DataNode是HDFS服务的进程,ResourceManager、NodeManager是YARN服务的进程,MapRedcue在这里没有进程,因为它是一个计算框架,等Hadoop集群安装好了以后MapReduce程序可以在上面执行。

配置基础环境

设置静态ip
1
/etc/sysconfig/network-scripts/ifcfg-ens33
image-20230314222829163
设置临时和永久hostname
1
2
hostname xxx
/etc/hostname
关闭firewalld
1
2
systemctl stop firewalld 临时关闭
systemctl disable firewalld 永久关闭
ssh免密码登录

我们下面要讲的hadoop集群就会使用到ssh,我们在启动集群的时候只需要在一台机器上启动就行,然后hadoop会通过ssh连到其它机器,把其它机器上面对应的程序也启动起来。但是现在有一个问题,就是我们使用ssh连接其它机器的时候会发现需要输入密码,所以现在需要实现ssh免密码登录。

1
2
3
  那有同学可能有疑问了,你这里说的多台机器需要配置免密码登录,但是我们现在是伪分布集群啊,只有一台机器

注意了,不管是几台机器的集群,启动集群中程序的步骤都是一样的,都是通过ssh远程连接去操作,就算是一台机器,它也会使用ssh自己连自己,我们现在使用ssh自己连自己也是需要密码的。

HCMKVU.png

1
2
3
下面详细讲一下ssh免密码登录 ssh这种安全/加密的shell,使用的是非对称加密,加密有两种,对称加密和非对称加密。非对称加密的解密过程是不可逆的,所以这种加密方式比较安全。
非对称加密会产生秘钥,秘钥分为公钥和私钥,在这里公钥是对外公开的,私钥是自己持有的。
那么ssh通信的这个过程是,第一台机器会把自己的公钥给到第二台机器,当第一台机器要给第二台机器通信的时候,第一台机器会给第二台机器发送一个随机的字符串,第二台机器会使用公钥对这个字符串加密,同时第一台机器会使用自己的私钥也对这个字符串进行加密,然后也传给第二台机器这个时候,第二台机器就有了两份加密的内容,一份是自己使用公钥加密的,一份是第一台机器使用私钥加密传过来的,公钥和私钥是通过一定的算法计算出来的,这个时候,第二台机器就会对比这两份加密之后的内容是否匹配。如果匹配,第二台机器就会认为第一台机器是可信的,就允许登录。如果不相等 就认为是非法的机器。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
下面就开始正式配置一下ssh免密码登录,由于我们这里要配置自己免密码登录自己,所以第一台机器和第二台机器都是同一台

首先在bigdata01上执行 ssh-keygen -t rsa
rsa表示的是一种加密算法
注意:执行这个命令以后,需要连续按 4 次回车键回到 linux 命令行才表示这个操作执行结束,在按回车的时候不需要输入任何内容。

执行以后会在~/.ssh目录下生产对应的公钥和秘钥文件
[root@bigdata01 ~]# ll ~/.ssh/
total 12
-rw-------. 1 root root 1679 Apr 7 16:39 id_rsa
-rw-r--r--. 1 root root 396 Apr 7 16:39 id_rsa.pub
-rw-r--r--. 1 root root 203 Apr 7 16:21 known_hosts

下一步是把公钥拷贝到需要免密码登录的机器(这里是自己)上面
[root@bigdata01 ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

然后就可以通过ssh 免密码登录到bigdata01机器了
[root@bigdata01 ~]# ssh bigdata01
Last login: Tue Apr 7 15:05:55 2020 from 192.168.182.1
[root@bigdata01 ~]#e
JDK安装
1

hadoop安装
1
2
3
4
5
6
7
8
9
10
11
12
1.将文件解压到创建的/data/soft/下
hadoop目录下面有两个重要的目录,一个是bin目录,一个是sbin目录:
bin目录,这里面有hdfs,yarn等脚本,这些脚本后期主要是为了操作hadoop集群中的hdfs和yarn组件的
sbin目录,这里面有很多start stop开头的脚本,这些脚本是负责启动 或者停止集群中的组件的。
2.配置环境变量
因为我们会用到bin目录和sbin目录下面的一些脚本,为了方便使用,我们需要配置一下环境变量。
[root@bigdata01 hadoop-3.2.0]# vi /etc/profile
.......
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_HOME=/data/soft/hadoop-3.2.0
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
[root@bigdata01 hadoop-3.2.0]# source /etc/profile
1
2
3
4
5
6
7
8
3:修改Hadoop相关配置文件
主要修改下面这几个文件:
hadoop-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
workers
1
2
3
4
5
6
7
8
首先修改 hadoop-env.sh 文件,增加环境变量信息,添加到hadoop-env.sh文件末尾即可。
JAVA_HOME:指定java的安装位置
HADOOP_LOG_DIR:hadoop的日志的存放目录

[root@bigdata01 hadoop]# vi hadoop-env.sh
.......
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
修改core-site.xml文件
注意fs.defaultFS属性中的主机名需要和你配置的主机名保持一致

[root@bigdata01 hadoop]# vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop_repo</value>
</property>
</configuration>
1
2
3
4
5
6
7
8
9
修改hdfs-site.xml文件,把hdfs中文件副本的数量设置为1,因为现在伪分布集群只有一个节点

[root@bigdata01 hadoop]# vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
1
2
3
4
5
6
7
8
9
修改mapred-site.xml,设置mapreduce使用的资源调度框架

[root@bigdata01 hadoop]# vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
1
2
3
4
5
6
7
8
9
10
11
12
13
修改yarn-site.xml,设置yarn上支持运行的服务和环境变量白名单

[root@bigdata01 hadoop]# vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
1
2
3
4
修改workers,设置集群中从节点的主机名信息,在这里就一台集群,所以就填写bigdata01即可

[root@bigdata01 hadoop]# vi workers
bigdata01
1
2
3
4
5
6
7
8
9
配置文件到这就修改好了,但是还不能直接启动,因为Hadoop中的HDFS是一个分布式的文件系统,文件系统在使用之前是需要先格式化的,就类似我们买一块新的磁盘,在安装系统之前需要先格式化才可以使用。

4:格式化HDFS

[root@bigdata01 hadoop]# cd /data/soft/hadoop-3.2.0
[root@bigdata01 hadoop-3.2.0]# bin/hdfs namenode -format

注意:格式化操作只能执行一次,如果格式化的时候失败了,可以修改配置文件后再执行格式化,如果格式化成功了就不能再重复执行了,否则集群就会出现问题。
如果确实需要重复执行,那么需要把/data/hadoop_repo目录中的内容全部删除,再执行格式化
1
2
3
4
5:启动伪分布集群

使用sbin目录下的start-all.sh脚本
[root@bigdata01 hadoop-3.2.0]# sbin/start-all.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
执行的时候发现有很多ERROR信息,提示缺少HDFS和YARN的一些用户信息。

解决方案如下:
修改sbin目录下的start-dfs.sh,stop-dfs.sh这两个脚本文件,在文件前面增加如下内容

[root@bigdata01 hadoop-3.2.0]# cd sbin/
[root@bigdata01 sbin]# vi start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

[root@bigdata01 sbin]# vi stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
1
2
3
4
5
6
7
8
9
10
11
修改sbin目录下的start-yarn.sh,stop-yarn.sh这两个脚本文件,在文件前面增加如下内容

[root@bigdata01 sbin]# vi start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

[root@bigdata01 sbin]# vi stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
再启动集群
6:验证集群进程信息

执行jps命令可以查看集群的进程信息,去掉Jps这个进程之外还需要有5个进程才说明集群是正常启动的
[root@bigdata01 hadoop-3.2.0]# jps
3267 NameNode
3859 ResourceManager
3397 DataNode
3623 SecondaryNameNode
3996 NodeManager
4319 Jps


还可以通过webui界面来验证集群服务是否正常
HDFS webui界面:http://192.168.182.100:9870
YARN webui界面:http://192.168.182.100:8088
如果想通过主机名访问,则需要修改windows机器中的hosts文件
文件所在位置为:C:\Windows\System32\drivers\etc\HOSTS

在文件中增加下面内容,这个其实就是Linux虚拟机的ip和主机名,在这里做一个映射之后,就可以在Windows机器中通过主机名访问这个Linux虚拟机了。

192.168.182.100 bigdata01
注意:如果遇到这个文件无法修改,一般是由于权限问题,在打开的时候可以选择使用管理员模式打开。
1
2
3
4
7:停止集群

如果修改了集群的配置文件或者是其它原因要停止集群,可以使用下面命令
[root@bigdata01 hadoop-3.2.0]# sbin/stop-all.sh

分布式集群安装

1
2
3
4
5
伪分布集群搞定了以后我们来看一下真正的分布式集群是什么样的

看一下这张图,图里面表示是三个节点,左边这一个是主节点,右边的两个是从节点,hadoop集群是支持主从架构的。

不同节点上面启动的进程默认是不一样的

HmeG0s.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
下面我们就根据图中的规划实现一个一主两从的hadoop集群
环境准备:三个节点
bigdata01 192.168.182.100
bigdata02 192.168.182.101
bigdata03 192.168.182.102

注意:每个节点的基础环境都要先配置好,先把ip、hostname、firewalld、ssh免密码登录、JDK这些基础环境配置好

目前的节点数量是不够的,按照第一周学习的内容,通过克隆的方式创建多个节点,具体克隆的步骤在这就不再赘述了。
先把bigdata01中之前按照的hadoop删掉,删除解压的目录,修改环境变量即可。

注意:我们需要把bigdata01节点中/data目录下的hadoop_repo目录和/data/soft下的hadoop-3.2.0目录删掉,恢复此节点的环境,这里面记录的有之前伪分布集群的一些信息。

注意:针对这三台机器的ip、hostname、firewalld、ssh免密码登录、JDK这些基础环境的配置步骤在这里就不再记录了,具体步骤参考2.1中的步骤。
1
2
3
4
5
6
7
8
9
10
11
这些基础环境配置好以后还没完,还有一些配置需要完善。

配置/etc/hosts
因为需要在主节点远程连接两个从节点,所以需要让主节点能够识别从节点的主机名,使用主机名远程访问,默认情况下只能使用ip远程访问,想要使用主机名远程访问的话需要在节点的/etc/hosts文件中配置对应机器的ip和主机名信息。

所以在这里我们就需要在bigdata01的/etc/hosts文件中配置下面信息,最好把当前节点信息也配置到里面,这样这个文件中的内容就通用了,可以直接拷贝到另外两个从节点

[root@bigdata01 ~]# vi /etc/hosts
192.168.182.100 bigdata01
192.168.182.101 bigdata02
192.168.182.102 bigdata03
1
2
3
4
5
6
7
8
9
集群节点之间时间同步
集群只要涉及到多个节点的就需要对这些节点做时间同步,如果节点之间时间不同步相差太多,会应该集群的稳定性,甚至导致集群出问题。

首先在bigdata01节点上操作

使用ntpdate -u ntp.sjtu.edu.cn实现时间同步,但是执行的时候提示找不到ntpdata命令
[root@bigdata01 ~]# ntpdate -u ntp.sjtu.edu.cn
-bash: ntpdate: command not found
默认是没有ntpdate命令的,需要使用yum在线安装,执行命令 yum install -y ntpdate
1
2
3
4
5
6
7
8
9
然后手动执行ntpdate -u ntp.sjtu.edu.cn 确认是否可以正常执行

[root@bigdata01 ~]# ntpdate -u ntp.sjtu.edu.cn
7 Apr 21:21:01 ntpdate[5447]: step time server 185.255.55.20 offset 6.252298 sec

建议把这个同步时间的操作添加到linux的crontab定时器中,每分钟执行一次
[root@bigdata01 ~]# vi /etc/crontab
* * * * * root /usr/sbin/ntpdate -u ntp.sjtu.edu.cn
然后在bigdata02和bigdata03节点上配置时间同步
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SSH免密码登录完善
注意:针对免密码登录,目前只实现了自己免密码登录自己(前面的伪分布式配置好的),最终需要实现主机点可以免密码登录到所有节点,所以还需要完善免密码登录操作。

首先在bigdata01机器上执行下面命令,将公钥信息拷贝到两个从节点

[root@bigdata01 ~]# scp ~/.ssh/authorized_keys bigdata02:~/

[root@bigdata01 ~]# scp ~/.ssh/authorized_keys bigdata03:~/

然后在bigdata02和bigdata03上执行
bigdata02:
[root@bigdata02 ~]# cat ~/authorized_keys >> ~/.ssh/authorized_keys

bigdata03:
[root@bigdata03 ~]# cat ~/authorized_keys >> ~/.ssh/authorized_keys
验证一下效果,在bigdata01节点上使用ssh远程连接两个从节点,如果不需要输入密码就表示是成功的,此时主机点可以免密码登录到所有节点。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  有没有必要实现从节点之间互相免密码登录呢?
这个就没有必要了,因为在启动集群的时候只有主节点需要远程连接其它节点。
OK,那到这为止,集群中三个节点的基础环境就都配置完毕了,接下来就需要在这三个节点中安装Hadoop了。
首先在bigdata01节点上安装。

1:把hadoop-3.2.0.tar.gz安装包上传到linux机器的/data/soft目录下
2:解压hadoop安装包
3:修改hadoop相关配置文件
进入配置文件所在目录
[root@bigdata01 soft]# cd hadoop-3.2.0/etc/hadoop/

首先修改hadoop-env.sh文件,在文件末尾增加环境变量信息
[root@bigdata01 hadoop]# vi hadoop-env.sh
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
1
2
3
4
5
6
7
8
9
10
11
12
13
修改core-site.xml文件,注意fs.defaultFS属性中的主机名需要和主节点的主机名保持一致

[root@bigdata01 hadoop]# vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/data/hadoop_repo</value>
</property>
</configuration>
1
2
3
4
5
6
7
8
9
10
11
12
13
修改hdfs-site.xml文件,把hdfs中文件副本的数量设置为2,最多为2,因为现在集群中有两个从节点,还有secondaryNamenode进程所在的节点信息

[root@bigdata01 hadoop]# vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata01:50090</value>
</property>
</configuration>
1
2
3
4
5
6
7
8
9
修改mapred-site.xml,设置mapreduce使用的资源调度框架

[root@bigdata01 hadoop]# vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
修改yarn-site.xml,设置yarn上支持运行的服务和环境变量白名单

注意,针对分布式集群在这个配置文件中还需要设置resourcemanager的hostname,否则nodemanager找不到resourcemanager节点。

[root@bigdata01 hadoop]# vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata01</value>
</property>
</configuration>
1
2
3
4
5
修改workers文件,增加所有从节点的主机名,一个一行

[root@bigdata01 hadoop]# vi workers
bigdata02
bigdata03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
修改启动脚本

修改start-dfs.sh,stop-dfs.sh这两个脚本文件,在文件前面(一定要注意位置,license后面)增加如下内容

[root@bigdata01 hadoop]# cd /data/soft/hadoop-3.2.0/sbin
[root@bigdata01 sbin]# vi start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

[root@bigdata01 sbin]# vi stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
1
2
3
4
5
6
7
8
9
10
11
修改start-yarn.sh,stop-yarn.sh这两个脚本文件,在文件前面(一定要注意位置,license后面)增加如下内容

[root@bigdata01 sbin]# vi start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

[root@bigdata01 sbin]# vi stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
文章标题(可选)
1
2
3
4
5
6
7
8
9
10
4:把bigdata01节点上将修改好配置的安装包拷贝到其他两个从节点
[root@bigdata01 sbin]# cd /data/soft/
[root@bigdata01 soft]# scp -rq hadoop-3.2.0 bigdata02:/data/soft/
[root@bigdata01 soft]# scp -rq hadoop-3.2.0 bigdata03:/data/soft/

5:在bigdata01节点上格式化HDFS(再次格式化时,一定要注意将配置的数据目录删除)
[root@bigdata01 soft]# cd /data/soft/hadoop-3.2.0
[root@bigdata01 hadoop-3.2.0]# bin/hdfs namenode -format
如果在后面的日志信息中能看到这一行,则说明namenode格式化成功。
common.Storage: Storage directory /data/hadoop_repo/dfs/name has been successfully formatted.
1
2
3
6:启动集群,在bigdata01节点上执行下面命令

[root@bigdata01 hadoop-3.2.0]# sbin/start-all.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
7:验证集群
分别在3台机器上执行jps命令,进程信息如下所示:
在bigdata01节点执行
[root@bigdata01 hadoop-3.2.0]# jps
6128 NameNode
6621 ResourceManager
6382 SecondaryNameNode

在bigdata02节点执行
[root@bigdata02 ~]# jps
2385 NodeManager
2276 DataNode

在bigdata03节点执行
[root@bigdata03 ~]# jps
2326 NodeManager
2217 DataNode


8:停止集群
在bigdata01节点上执行停止命令
[root@bigdata01 hadoop-3.2.0]# sbin/stop-all.sh

Hadoop的客户端节点

1
2
3
  在实际工作中不建议直接连接集群中的节点来操作集群,直接把集群中的节点暴露给普通开发人员是不安全的
建议在业务机器上安装Hadoop,只需要保证业务机器上的Hadoop的配置和集群中的配置保持一致即可,这样就可以在业务机器上操作Hadoop集群了,此机器就称为是Hadoop的客户端节点
Hadoop的客户端节点可能会有多个,理论上是我们想要在哪台机器上操作hadoop集群就可以把这台机器配置为hadoop集群的客户端节点。

HmuO9x.png

hadoop官方文档


本文标题:大数据开发工程师-第一周 第5章 Linux总结与走进大数据

文章作者:TTYONG

发布时间:2022年01月29日 - 17:01

最后更新:2023年06月26日 - 16:06

原始链接:http://tianyong.fun/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88-%E7%AC%AC%E4%BA%8C%E5%91%A8%20%E5%A4%A7%E6%95%B0%E6%8D%AE%E8%B5%B7%E6%BA%90%E4%B9%8B%E5%88%9D%E8%AF%86Hadoop.html

许可协议: 转载请保留原文链接及作者。

多少都是爱
0%