Hadoop大数据技术原理与应用-第二章搭建Hadoop集群

安装过程可以观看视频:https://www.bilibili.com/video/BV1xp4y1Q7vc?p=1
文中使用的是CentOS8
有不一样的地方会标注出来,可以复制的部分我记得的会放出来

2.1 安装准备

2.1.1 虚拟机安装

需要新建虚拟机,安装CentOS,视频中使用的是CentOS6 ,由于6版本已经不提供了,所以我使用的是最新版的8. 跟视频会有不一样,可以参照https://blog.csdn.net/renfeigui0/article/details/102545806z
链接如下 centos/8.3.2011

2.1.2 虚拟机克隆

克隆两台虚拟机
VMware提供
了两种类型的克隆,分别是完整克隆和链接克隆,具体介绍如下。

  • 完整克隆:是对原始虚拟机完全独立的一个复制,它不和原始虚拟机共享任何资
    源,可以脱离原始拟机独立使用。
  • 链接克隆:需要和原始虚拟机共享同一虚拟磁盘文件,不能脱离原始虚拟机独立运
    行。但是,采用共享磁盘文件可以极大缩短创建克隆虚拟机的时间,同时还节省物
    理磁盘空间。通过链接克隆,可以轻松地为不同的任务创建一个独立的虚拟机。
    以上两种克隆方式中,完整克隆的虚拟机文件相对独立并且安全,在实际开发中也较为
    常用。因此,此处选取完整克隆方式

2.1.3 Linus系统网络配置

视频中需要更改主机名,但是我 /etc/sysconfig/network 文件会有点不一样,然后网上找到 CentOS8 改名的文件在 vi /etc/hostname 中,直接修改为hadoop02 03
接下来就按照视频中的方法就可以

视频中需要设置MAC地址,但是我没有这个文件,ifconfig 查看 可以发现MAC 地址和虚拟机查看的地址是一致的,因此跳过此步骤

配置IP地址时,也会发现最后的文件名不一致,硬着头皮改,亲测没问题,最终可以实现
文件为 : vi /etc/sysconfig/network-scripts/ifcfg-ens33
(不要多手去改ens33 为 eth0 会挂) 在此把MAC地址放上去,按照虚拟机上的来

HWADDR=00:0C:29:8D:92:6B  (MAC地址)
IPADDR=192.168.121.134
NETMASK=255.255.255.0
GATEWAY=192.168.121.2
DNS1=8.8.8.8

在这里插入图片描述
在这里插入图片描述

2.1.4 SSH服务器配置

SecureCRT的安装与破解可以参照:
https://www.cnblogs.com/yjd_hycf_space/p/7729796.html
快捷键 : 选中为复制,右键为粘贴

在这里插入图片描述
当A发送文件给B时,A会产生一对公钥和私钥,自己使用公钥将文件加密发送并且把私钥也发送过去,B用A发送的私钥进行解密,得到文件

2.2 Hadoop集群搭建

2.2.1 Hadoop集群部署模式

Hadoop集群的部署方式分为3种,分别是独立模式(Standalone mode)、伪分布式模式(Pseudo-Distributed mode)、完全分布式模式(Cluster mode),具体介绍如下。

  1. 独立模式:又称为单机模式,在该模式下,无须运行任何守护进程,所有的程序都在单个JVM上执行。独立模式下调试Hadoop集群的MapReduce程序非常方便,所以一般情况下,该模式在学习或者开发阶段调试使用。
  2. 伪分布式模式:Hadoop程序的守护进程运行在一台主机节点上,通常使用伪分布式模式来调试Hadoop分布式程序的代码,以及程序执行是否正确,伪分布式模式是完全分布式模式的一个特例。
  3. 完全分布式模式:Hadoop的守护进程分别运行在由多个主机搭建的集群上,不同节点担任不同的角色,在实际工作应用开发中,通常使用该模式构建企业级Hadoop系统。
    在Hadoop环境中,所有服务器节点仅划分为两种角色,分别是master(主节点,1个)和slave(从节点,多个)。因此,伪分布模式是集群模式的特例,只是将主节点和从节点合二为一罢了。
    在这里插入图片描述
    在这里插入图片描述

2.2.2 JDK安装

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

2.2.3 Hadoop 安装

http://archive.apache.org/dist/hadoop/common/hadoop-2.7.4/
在这里插入图片描述
在这里插入图片描述

2.2.4 Hadoop集群配置

在这里插入图片描述

2.3 Hadoop 集群测试

2.3.1 格式化文件系统

hdfs namenode -format
只在初次启动前执行即可

2.3.2 启动和关闭集群

  1. 单节点逐个启动和关闭
    单节点逐个启动的方式,需要参照以下方式逐个启动Hadoop集群服务需要的相关服务进程,具体步骤如下。
    1. 在主节点上使用以下指令启动HDFS NameNode进程:
      $ hadoop-daemon.sh start namenode
    2. 在每个从节点上使用以下指令启动HDFS DataNode进程:
      $ hadoop-daemon.sh start datanode
    3. 在主节点上使用以下指令启动YARN ResourceManager进程:
      $ yarn-daemon.sh start resourcemanager
    4. 在每个从节点上使用以下指令启动YAR Nnodemanager进程:
      $ yarn-daemon.sh start nodemanager
    5. 在规划节点hadoop02使用以下指令启动SecondaryNameNode进程:
      $ hadoop-daemon.sh start secondarynamenode
      上述介绍了单节点逐个启动和关团Hadoop集群服务的方式。另外,当需要停止相关服务进程时,只需要将上述指令中的start更改为stop即可。

start-dfs.sh
start-yarn.sh

stop-dfs.sh
stop-yarn.sh

  1. 脚本一键启动和关闭
    启动集群还可以使用脚本一键启动,前提是需要配置slaves配置文件和SSH免密录(如本书采用hadoop01、hadoop02和hadoop03三台节点,为了在任意一台节点上执行脚本一键启动Hadoop服务,那么就必须在三台节点包括自身节点均配置SSH双向免密登录)
    使用脚本一键启动Hadoop集群,可以选择在主节点上参考如下方式进行启动
    1. 在主节点hadoop01上使用以下指令启动所有HDFS服务进程:
      $ start-dfs.sh
    2. 在主节点hadoop01上使用以下指令启动所有YARN服务进程:
      $ start-yarn.sh
      上述使用脚本一键启动的方式,先启动了集群所有的HDFS服务进程,然后再启动了所有的YARN服务进程,这就完成了整个Hadoop集群服务的启动。另外,当需要停止相关服务进程时,只需要将上述指令中的start更改为stop即可-- stop-dfs.sh stop-yarn.sh

2.3.3 通过UI查看Hadoop运行状态

Hadoop集群正常启动后,它默认开放了50070和8088两个端口,分别用于监控HDFS集群和YARN集群。通过UI可以方便地进行集群的管理和查看,只需要在本地操作系统的浏览器输入集群服务的IP和对应的端口号即可访问。
为了后续方便查看,可以在本地宿主机的hosts文件(Windows操作系统下路径为C:\Windows\System32\drivers\etc)中添加集群服务的IP映射,具体内容示例如下
192.168.121.134 hadoop01
192.168.121.135 hadoop02
192.168.121.136 hadoop03

CentOS6防火墙的语句

1,查看防火墙状态
systemctl status firewalld.service
2,开启防火墙
systemctl start firewalld.service
3,关闭防火墙
systemctl stop firewalld.service
4,禁用防火墙
systemctl disable firewalld.service

2.4 Hadoop 集群 初体验

涉及代码,可复制:

cd /export/software/
yum install lrzsz -y
rz
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /export/servers
cd /export/servers/
mv jdk1.8.0_161/ jdk

vi /etc/profile

export JAVA_HOME=/export/servers/jdk
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

source /etc/profile

archive.apache.org/dist/hadoop/common/hadoop-2.7.4/
tar -zxvf hadoop-2.7.4.tar.gz -C /export/servers/

vi /etc/profile

export HADOOP_HOME=/export/servers/hadoop-2.7.4
export PATH= H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH

hadoop version

hadoop version

core-site.xml 文件

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://hadoop01:9000</value> 
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/export/servers/hadoop-2.7.4/tmp</value>
	</property>
</configuration>

hdfs-site.xml文件

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>hadoop02:50090</value>
	</property>
</configuration>

mapred-site.xml
这个文件没有,需要将mapred-site.xml.template重命名
cp mapred-site.xml.template mapred-site.xml

<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

yarn-site.xml

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop01</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

slaves
hadoop01
hadoop02
hadoop03

scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /export/ hadoop02:/

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
jps

yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager

hadoop-daemon.sh start secondarynamenode

start-dfs.sh
start-yarn.sh

stop-dfs.sh
stop-yarn.sh

start-all.sh–不建议

service iptables stop
chkconfig iptables off
systemctl stop firewalld

C:\Windows\System32\drivers\etc

cd /export/data/
vi word.txt
hello itcast
hello hadoop
hello mon

hadoop fs -mkdir -p /wordcount/input
hadoop fs -put /export/data/word.txt /wordcount/input

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值