张春 发表于 2024-8-8 06:20:41

0底子学习-Hadoop

https://i-blog.csdnimg.cn/direct/dcbd0b308ccc4630a14dfdc12b9e819f.png
 一、Linux 底子

1. 计算机操作系统 

https://i-blog.csdnimg.cn/direct/034c2b80533e49aebc1e85d3b77ac1f7.png

   操作系统发展至今,种类繁多,可以根据应用的差异领域举行划分


[*]桌面操作系统
[*]服务器操作系统
[*]嵌入式操作系统
[*]移动装备操作系统
https://i-blog.csdnimg.cn/direct/56a9d3c574d9416fb50ec5ca60a4e900.pnghttps://i-blog.csdnimg.cn/direct/779cafdbb0784856a085f850489d1ad5.png
https://i-blog.csdnimg.cn/direct/e59fc3a6d34b411e82b2952ee38f2e46.png
https://i-blog.csdnimg.cn/direct/4d101a4885454278abc6660f0add6f3b.png
https://i-blog.csdnimg.cn/direct/f8fcf57afee44db381e1e3e5fdc0db63.png
2. VMware的使用 

https://i-blog.csdnimg.cn/direct/d7610793ee52439c926142aca25f88a9.png
https://i-blog.csdnimg.cn/direct/eb753fea5fe24ddeac8a482e361b9400.png
https://i-blog.csdnimg.cn/direct/369762db44c14c0bb02b3f74c3727960.png
https://i-blog.csdnimg.cn/direct/9c0e1e5e01bd4953bc33a96998e15ab4.png
3. centOS 7 的安装(部分)

https://i-blog.csdnimg.cn/direct/f09b93f65d2642c5aa7774a65d21e146.png
点击创建假造机选择centos7 后续根据情况选择,修改举行文件
https://i-blog.csdnimg.cn/direct/4adb848887334731b2f5ac6628412a64.png
配置静态 IP 
https://i-blog.csdnimg.cn/direct/06c8dbb3fbc147a0a0010066b9c44371.png
https://i-blog.csdnimg.cn/direct/44ede23e43ec471f8dce45ea918ebafd.png
https://i-blog.csdnimg.cn/direct/07067ab2533b47fb9435235511e812be.png
4. SSH协议与长途访问

https://i-blog.csdnimg.cn/direct/505830b2718942f099a18a8093b24b85.png

https://i-blog.csdnimg.cn/direct/985f6d45444e447c8bb7109f5ee1f2c3.png

使用 xshell 连接 
https://i-blog.csdnimg.cn/direct/ade13c86618b4b11ad7563993ab9c3de.png
   安装 rz => 文件的上传下载
yum -y install lrzsz    输入 rz 即可开启窗口从本地上传至linux中
输出 sz+文件名即可从linux文件下载到本地
https://i-blog.csdnimg.cn/direct/97cf5e03a2d14ed890c093a25ce33cbd.png

5. Linux底子下令

5.1 文件系统

https://i-blog.csdnimg.cn/direct/8ca7784d7f55493a927a4e835aed0088.png
https://i-blog.csdnimg.cn/direct/60e0285e8f5543d9a3a0115cdccf32db.png
https://i-blog.csdnimg.cn/direct/fead3f50e6da4263a0182d7dc973efd2.png
5.2 文件操作下令 

https://i-blog.csdnimg.cn/direct/a6601e499f674ddd8a49aa4c4355337d.png
https://i-blog.csdnimg.cn/direct/febbadf25673408abe80d111517f1738.png
https://i-blog.csdnimg.cn/direct/27b74894d6d9461bbb4a7228a1d6195e.pnghttps://i-blog.csdnimg.cn/direct/befe10cdef5542e6b12121c4354afb77.png
https://i-blog.csdnimg.cn/direct/4dee41fab85a4f4ab3830ba9c7b14735.png
https://i-blog.csdnimg.cn/direct/d8a8beed5e6147fa89d6a0234087facf.png
https://i-blog.csdnimg.cn/direct/11b5d432a31441b5ac72665cdf0568e1.png
https://i-blog.csdnimg.cn/direct/02e5cbd0e98f402fb1ddf541d88d7280.png

5.3 搜索下令

https://i-blog.csdnimg.cn/direct/19fdf837aab7412b8f28c6eff0e94a04.png
https://i-blog.csdnimg.cn/direct/4f7315c08bd6404c8cf47b28d6b27a9f.png
https://i-blog.csdnimg.cn/direct/9075834d27d940079aef3ff3f0e5c355.png
快捷方式
https://i-blog.csdnimg.cn/direct/960e751afe79417e879ac44864c329b0.png
https://i-blog.csdnimg.cn/direct/3e1b7258c0a94f1abe49fc78efa39ce9.png
5.4 打包解压

https://i-blog.csdnimg.cn/direct/e708a6e5cca8427d8e09ff9889a8501a.png
https://i-blog.csdnimg.cn/direct/d1efb03ba6724af994e6fffb39bb4096.png
 5.5 文本编辑器

https://i-blog.csdnimg.cn/direct/93e7b6d5324041ee8ce9be02adccf0cf.png
https://i-blog.csdnimg.cn/direct/6543e4618dc045e8b37e3c7119c31c6a.png
https://i-blog.csdnimg.cn/direct/96e049df06ce4ecd99f78e32e53763b5.png
https://i-blog.csdnimg.cn/direct/934eb179acaa43e2b1e71d173a1952bc.pnghttps://i-blog.csdnimg.cn/direct/a7ba020e430b40dd90a236fc9eae903b.png
6. 用户和权限

https://i-blog.csdnimg.cn/direct/43af52448c7648528c9ae74c9c3292b5.png
https://i-blog.csdnimg.cn/direct/dc30fe54db404869999d19077e186920.png
   文件权限总体上分为三类


[*]读(read)权限
[*]写(write)权限
[*]实行(execute)权限
https://i-blog.csdnimg.cn/direct/eefb61efc3244660b85c63829541b2e3.png
https://i-blog.csdnimg.cn/direct/92aeab3e3ad4406d8320b7cf462544f6.png
https://i-blog.csdnimg.cn/direct/26c95af2ca4e4b4088deb5d93fc579a1.png
https://i-blog.csdnimg.cn/direct/78926ed7878643e6af082cfb565e1bc3.png
https://i-blog.csdnimg.cn/direct/53a98bdffc97471b8c7cf9717ced1b1d.png
https://i-blog.csdnimg.cn/direct/40d1e43e8ec942a38f2252cc768fab7c.png
https://i-blog.csdnimg.cn/direct/7da669b2e90346179022606a5fa3d296.png
https://i-blog.csdnimg.cn/direct/7a86c0c0dd8442798f6324dd02d308a7.png
https://i-blog.csdnimg.cn/direct/d16c7f72bb8d4655939d57391b864461.png
7. 系统管理

https://i-blog.csdnimg.cn/direct/f6d2827505054240813cb444e54ac69d.png
https://i-blog.csdnimg.cn/direct/61a1e6ea70f24ff5a4ada5a29ffc90ea.pnghttps://i-blog.csdnimg.cn/direct/f78dc07da251442ea771a4749a37494c.png

8. 大数据集群搭建

https://i-blog.csdnimg.cn/direct/5cd4ab866c0941ff95e8bd2a2d452a83.png
8.1 克隆和修改IP 

https://i-blog.csdnimg.cn/direct/ae29def590454925bd9d7209096cc2f6.png
https://i-blog.csdnimg.cn/direct/d0f6031576ef491a9b9cf73bef5664dc.png
下图为 ifcfg-ens33 文件
#修改IP
vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"#网卡类型 以太网
PROXY_METHOD="none"
BROWSER ONLY="no"
BOOTPROTO="none" #ip等信息是如何决定的?dhcp动态分配、static|node 手动静态分配
DEFROUTE="yes"
IPV4 FAILURE FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6 DEFROUTE="yes"
IPV6 FAILURE FATAL="no"
IPV6 ADDR GEN MODE="stable-privacy"
NAME="ens33" #网卡名称
UUID="74c3b442-480d-4885-9ffd-e9f0087c9cf7"
DEVICE="ens33"
ONBOOT="yes" #是否开机启动网卡服务
IPADDR="192.168.88.151" #IP地址
PREFIX="24"#子网掩码等效:NETMASK=255.255.255.0
GATEWAY="192.168.88.2" #网关服务
DNS1="192.168.88.2" #网关DNS解析
DOMAIN="114.114.114.114" #公网DNS解析114.114.114.114谷歌:8.8.8.8阿里百度DNS
IPV6 PRIVACY="no"


#修改主机名hostname
node2.itcast.cn 8.2 hosts映射修改 

在/etc/hosts 文件配置如下
   127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.59.151 node1.itcast.cn node1
192.168.59.152 node2.itcast.cn node2
192.168.59.153 node3.itcast.cn node3
~                                      
继承在Windows 里 C:\windows\system32\drivers\etc\hosts 添加以下数据
   192.168.59.151 node1.itcast.cn node1
192.168.59.152 node2.itcast.cn node2
192.168.59.153 node3.itcast.cn node3
 8.3 关闭防火墙

   #查察防火墙状态
        systemctl status firewalld
#关闭防火墙
        systemctl stop firewalld
#关闭防火墙开机自启动
        systemctl disable firewalld
8.4 集群时间同步

https://i-blog.csdnimg.cn/direct/bde3d4612ec74b36b475ca6685796d85.png
https://i-blog.csdnimg.cn/direct/a4da53ac96434543bb305cd551614ffb.png
https://i-blog.csdnimg.cn/direct/5044ed384d56418ba1a7e6d5cb6fb719.png
8.5 ssh免密登录

https://i-blog.csdnimg.cn/direct/1653db641d8148dd839314b0c14a4783.png
https://i-blog.csdnimg.cn/direct/d1d30f3a19694f9dbf9d83c363cfcf73.png
ssh-keygen #生成公钥
ssh-copy-id node2 #将公钥拷贝给node2 8.6 scp长途拷贝

https://i-blog.csdnimg.cn/direct/84d696d5613049039d4a72e1ebd92c14.png
#本地copy其他机器
scp itcast.txt root@node2:/root

scp -r 1inux02/ root@node2:$PWD    #copy文件夹 -r参数$PWD copy至和本机相同当前路径

#为什么不需要输入密码因为配置了机器之间的免密登录如果没有配置 scp的时候就需要输入密码

#copy其他机器文件到本地
scp root@node2:/root/itcast.txt 9. Linux软件安装

https://i-blog.csdnimg.cn/direct/48dff24f5f8c4dd68f4442ef743ea72a.png
 9.1 MySQL的安装

目次安装规范
   /export/server         #软件安装目次
/export/software         #安装包的目次
/export/data         #软件运行数据保存的目次
/export/1ogs         #软件运行日志
 
mkdir -p /export/server
mkdir -p /export/software
mkdir -p /export/data
mkdir -p /export/1ogs卸载centos7自带的mariadb
rpm -qa|grep mariadb #查找这个包
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 #卸载 安装MySQL
#安装依赖
yum -y install libaio

rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm

#安装server时需要安装两个依赖
rpm -qa|grep mysql
rpm -qa|grep mariadb

rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm mysql初始化设置
#mysql初始化
mysqld --initialize

#更改所属组
chown mysql:mysql /var/lib/mysql -R

#启动mysq1
systemctl start mysqld.service

#查看生成的临时root密码
cat /var/log/mysqld.log | grep password

#登录mysql
mysql -uroot -p

#修改密码为 123456
mysql> alter user user()identified by "123456";

#授权
mysql> use mysql;
#给root用户所有权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES; #刷新权限

#设置开机自启
systemctl enable mysqld   #mysq1的启动和关闭 状态查察
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld
9.2 yum包管理器

   Yum(全称为 Yellow dog updater,Modified)是一个在Fedora和RedHat以及centos中的she11前端软件包管理器。基于RPM包管理,可以或许从指定的服务器自动下载RPM包并且安装,可以自动处理依靠性关系,并且一次安装全部依靠的软件包,无须繁琐地一次次下载、安装。
特点 
   自动下载rpm包 举行安装条件是联网 不联网就凉凉
解决包之间的依靠关系
原理
   yum之所以强大原因在于有yum源。内里有很多rpm包和包之间的依靠。
yum源分为网络yum源和本地yum源。

此中网络yum源在centos默认集成了镜像地址 只要联网就可以自动探求到可用的yum源。条件联网
也可以自己搭建本地yum源。实现从本地下载安装。
下令
#列出当前机器可用的yum源信息
yum repolist a11

#清楚yum源缓存信息
yum clean a11

#查找软件
rpm list | grep 软件包名称

#yum安装软件
#-y表示自动确认 否则在安装的时候需要手动输入y确认下载安装
yum insta11 -y xx软件名
yum insta11 -y mysq1-*

#yum卸载软件
yum-yremove 要卸载的软件包名 9.3 JDK的安装

rz上传jdk压缩包到/export/software中通过解压下令解压到/export/server 并改名为java
tar -zxvf jdk-8u241-linux-x64.tar.gz -C ../server/

mv jdk1.8.0_241/ java
再修改环境变量 /etc/profile 在最后一行添加
export JAVA_HOME=/export/server/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
刷新环境变量使其生效
source /etc/profile 验证是否乐成出现版本即乐成
#查看java版本
java -version

java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
将 node1 上的Java分别分发到node2和node3
scp -r /export/server/java/ root@node2:/export/server/
scp -r /export/server/java/ root@node3:/export/server/

scp -r /etc/profile root@node2:/etc
scp -r /etc/profile root@node3:/etc 分别在两台从机刷新环境变量以及查察版本号出现即乐成
#node2
source /etc/profile
java -version

#node3
source /etc/profile
java -version
10. shell编程

https://i-blog.csdnimg.cn/direct/f2a3141a520640b6a515f9763ed5818f.png
https://i-blog.csdnimg.cn/direct/d1942e9d9c924d71b37651365c5b8e88.png
https://i-blog.csdnimg.cn/direct/36b614075e5e40b0b2e075170089ab26.pnghttps://i-blog.csdnimg.cn/direct/5276385f494a468983643df90179c6f4.png
https://i-blog.csdnimg.cn/direct/f96aebbc4d624e74ab15724ea6e099ac.png

二、Hadoop

https://i-blog.csdnimg.cn/direct/9f236f01e0424c608f8e828f310b407c.png
1. 大数据导论

https://i-blog.csdnimg.cn/direct/d00bf335628244769560eabe211f28ab.png
1.1 数据和数据分析

https://i-blog.csdnimg.cn/direct/ce84a3cce041430cab749543a9eb2235.png
https://i-blog.csdnimg.cn/direct/a725eba3fbd244d0a248c3b0ba0304d9.png
1.2 数据分析的作用

https://i-blog.csdnimg.cn/direct/06f75fa9a4e5460f89608cfb7f239a1c.png
https://i-blog.csdnimg.cn/direct/1a4841ec26924f24afab27a1c7206cf5.png
https://i-blog.csdnimg.cn/direct/ee161bec9c494ca1b2fa07261622192a.png
https://i-blog.csdnimg.cn/direct/026ff48daf3d45a79ceae3498ce49c21.png
https://i-blog.csdnimg.cn/direct/0f118f94b09a4c129c818b979a8d85a1.png
https://i-blog.csdnimg.cn/direct/e1c2e1f4adf946c2acfce75e5e960fe6.png

1.3 数据分析的根本步骤

https://i-blog.csdnimg.cn/direct/e68aa9fc302640aa9c2f4c9c1ec8bb2c.png
https://i-blog.csdnimg.cn/direct/e777e616b34e4ce58710812b443efc20.png
https://i-blog.csdnimg.cn/direct/70b561a0d7a24e3fa4bfead3e7d9db06.png
https://i-blog.csdnimg.cn/direct/5ab2aa59a34f4ecb8951b3c4f51281b4.png
https://i-blog.csdnimg.cn/direct/6f9a22829354413298289aa761b37a3f.png
https://i-blog.csdnimg.cn/direct/3397ae56d1c1402f8fb96c66359a3115.png
https://i-blog.csdnimg.cn/direct/3e87021c3eec49a79e231aa69e48d5cf.png
1.4 大数据应用场景

https://i-blog.csdnimg.cn/direct/cf2d8bc7e6a44aeca791421387a6ec91.png
https://i-blog.csdnimg.cn/direct/82018508f0094591825771b1f324ca65.png
https://i-blog.csdnimg.cn/direct/1b11c93c2d354b5491c0362bf4deb8b9.png
https://i-blog.csdnimg.cn/direct/733f68ab32f54c29b17fd7cce1a2043a.png
1.5 分布式技术

https://i-blog.csdnimg.cn/direct/01b6fffb57d74c46915e5aca183cb7bf.png
https://i-blog.csdnimg.cn/direct/8b40c08ba6534a688df1ce5a188ef90c.png
https://i-blog.csdnimg.cn/direct/b47f08f74cb8414bbe654d1444422424.png
https://i-blog.csdnimg.cn/direct/9d5090be83df4c9d9881be085169a490.png
https://i-blog.csdnimg.cn/direct/02e67587bab34f119de90522b1c65077.png

2. Zookeeper

https://i-blog.csdnimg.cn/direct/36323cf68b134ca78b9ad7e77c33d54d.png
https://i-blog.csdnimg.cn/direct/cb10b6b54b8f4aa981739582a7b3fe83.png
https://i-blog.csdnimg.cn/direct/c2e088bb75024fb3a221c3d5cfb95259.png
https://i-blog.csdnimg.cn/direct/5f2c128f5a5a4fab84ff924ad9b947ce.png
2.1 集群架构与角色

https://i-blog.csdnimg.cn/direct/e3ad472a0a6f428eb4ac53a684a74901.png
https://i-blog.csdnimg.cn/direct/e0c1f31836e24c128d9b3d90ceedf577.png
https://i-blog.csdnimg.cn/direct/34b1995ae0764fe285d6f744a76665d9.pnghttps://i-blog.csdnimg.cn/direct/3db1048d7c244818b601d59b6f50e490.png
2.2 集群搭建

上传安装包 rz
https://i-blog.csdnimg.cn/direct/89e22f99805e4d62b1b84ca45b9e11a2.png
解压安装包并且修改名字
#解压
tar -zxvf zookeeper-3.4.8.tar.gz -C ../server/

#修改名字
mv zookeeper-3.4.8/ zookeepe 修改配置文件
zoo.cfg 文件
#进入目录修改模板名字
cd zookeeper/conf/
mv zoo_sample.cfg zoo.cfg

#打开文件
vi zoo.cfg


#修改存放数据目录
dataDir=/export/data/zkdata

#在末尾添加2888心跳端口 3888选举端口
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888 myid 文件
#在每台机器的dataDir指定的目录下创建一个文件 名字叫做myid
#myid里面的数字就是该台机器上server编号:server.N
#N的数字就是编号

mkdir -p /export/data/zkdata
echo 1 >/export/data/zkdata/myid 再将node1  zookeeper这个文件分发给node2,node3
查察是否乐成
#在三个节点中分别运行启动zookeeper
/export/server/zookeeper/bin/zkServer.sh start

#查看状态
/export/server/zookeeper/bin/zkServer.sh status

#关闭
/export/server/zookeeper/bin/zkServer.sh stop 创建一键启动脚本
vi startzk.sh #一键启动

hosts=(node1 node2 node3)
for host in ${hosts[*]}
do
ssh $host "source /etc/profile;/export/server/zookeeper/bin/zkServer.sh start"
done


chmod u+x startzk.sh #添加执行权限
sh startzk.sh #开启 vi stopzk.sh #一键关闭

#!/bin/bash
hosts=(node1 node2 node3)
for host in ${hosts[*]}
do
ssh $host "/export/server/zookeeper/bin/zkServer.sh stop"
done


chmod u+x stopZk.sh #添加执行权限
sh stopZk.sh #关闭
2.3 zookeeper 数据模子

https://i-blog.csdnimg.cn/direct/285bdef5be384e218b2fe153bf474c8a.png
https://i-blog.csdnimg.cn/direct/f893a855d7fa43c88d17fe69079b2350.png
https://i-blog.csdnimg.cn/direct/d1064c5f0ea24dc6902d1f2a95656fe7.png
2.4 zookeeper shell操作

https://i-blog.csdnimg.cn/direct/3751d7b4f3544d7b976c068e01d7c528.png
https://i-blog.csdnimg.cn/direct/afd80cfbc9d84e2bb35d03b54ac49880.png
2.5 zookeeper 监听

https://i-blog.csdnimg.cn/direct/e901c8364d9143d283ec7903f05c5b64.png
https://i-blog.csdnimg.cn/direct/90173cca21a843dba55d16125f621780.png
2.6 应用场景

https://i-blog.csdnimg.cn/direct/1ba3347a0b284dca882183818068c458.png
https://i-blog.csdnimg.cn/direct/3d0ba5d58d3e41389acc218a833cc0eb.png

3. Haoop部署

https://i-blog.csdnimg.cn/direct/767773a5cc7045ae8269f764aebd9456.png
https://i-blog.csdnimg.cn/direct/2f71c804e28b4d49a4f675ab3d21254e.png

3.1 hadoop集群搭建

https://i-blog.csdnimg.cn/direct/f6dc657eeff44b72957af7da1b5dcf1f.png
使用rz上传压缩包至software中
https://i-blog.csdnimg.cn/direct/c9a2092808a743cc9dbe31b2bb5ca6bf.png
解压安装
#解压安装
tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz -C ../server/

#更改名字
mv hadoop-3.3.0/ hadoop

目次结构 
   bin:Hadoop最根本的管理脚本和使用脚本的目次,这些脚本是sbin目次下管理脚本的底子实现,用户可以直接使用这些脚本管理和使用Hadoop。
etc:Hadoop配置文件所在的目次,包罗core-site,xml、hdfs-site.xml、mapred-site.xml等从Hadoop1.0继承而来的配置文件和yarn-site.xml等Hadoop2.0新增的配置文件。
include:对外提供的编程库头文件(具体动态库和静态库在lib目次中),这些头文件均是用C++定义的,通常用于C++步伐访问HDFS或者编写MapReduce步伐。
lib:该目次包含了Hadoop对外提供的编程动态库和静态库,与include目次中的头文件结合使用。
libexec:各个服务对用的shell配置文件所在的目次,可用于配置日志输出、启动参数(比如JVM参数)等根本信息。
sbin:Hadoop管理脚本所在的目次,主要包含HDFS和YARN中各类服务的启动/关闭脚本。
share:Hadoop各个模块编译后的jar包所在的目次,官方自带示例。
修改配置文件
https://i-blog.csdnimg.cn/direct/ce11fcbc3f0d4c2e916fa57611097f90.png
vim hadoop-env.sh 
export JAVA_HOME=/export/server/java

#文件最后添加
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>

<!-- 设置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>
vim hdfs-site.xml
<!-- 指定secondarynamenode运行位置 -->
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node2:50090</value>
</property>
vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</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
<!-- 指定YARN的主角色(ResourceManager)的地址 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1</value>
</property>
       
<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" -->
<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://node1:19888/jobhistory/logs</value>
</property>

<!-- 保存的时间7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
vim works
node1.itcast.cn
node2.itcast.cn
node3.itcast.cn
修改环境变量
vim /etc/proflie

export HADOOP_HOME=/export/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile
查察版本是否安装乐成
hadoop version 分发配置hadoop给两台从机刷新环境变量
scp -r /export/server/hadoop/ node2:/export/server/
scp -r /export/server/hadoop/ node3:/export/server/

scp -r /etc/profile node2:/etc
scp -r /etc/profile node3:/etc 首次启动HDFS时,必须对其举行格式化操作。本质上是一些整理和准备工作,因为此时的HDFS在物理上还是不存在的。
hadoop namenode -format 在主节点一键启动hadoop => HDFS+YARN
需要设置过免密登录
start-all.sh

stop-all.sh   各个节点进程如下 (QuorumPeerMain 为zookeeper)
https://i-blog.csdnimg.cn/direct/ab28579ab6e943649a02fec9c54109ff.png
一旦Hadoop集群启动并运行,可以通过web-ui举行集群查察,如下所述:
NameNode  http://nn_host:port/ 默认9870.
ResourceManager  http://rm_host:port/ 默认 8088.
https://i-blog.csdnimg.cn/direct/e12e638dd00c44d58fdb0d1c64539fc7.png
https://i-blog.csdnimg.cn/direct/aac3ef4a18734c0ea04751a600f65468.png
 3.2 jobhistory服务

https://i-blog.csdnimg.cn/direct/0d39c4593dbf4b888d34b1f4670149a3.png
3.3 垃圾桶机制

每一个文件系统都会有垃圾桶机制,便于将删除的数据接纳到垃圾桶内里去,避免某些误操作删除一些重要文件。接纳到垃圾桶里内里的资料数据,都可以举行恢复。
HDFS的垃圾接纳的默认配置属性为 0,也就是说,如果你不小心误删除了某样东西,那么这个操作是不可恢复的。
   修改core-site.xml :
那么可以按照生产上的需求设置接纳站的保存时间,这个时间以分钟为单位,例如1440=24h=1天。
  <property>
        <name>fs.trash.interval</name>
        <value>1440</value>
   </property>
然后重启hdfs集群
垃圾桶机制验证
如果启用垃圾箱配置,dfs下令删除的文件不会立刻从HDFS中删除。相反,HDFS将其移动到垃圾目次(每个用户在/user/<username>/.Trash下都有自己的垃圾目次)。只要文件保留在垃圾箱中,文件可以快速恢复。
使用skipTrash选项删除文件,该选项不会将文件发送到垃圾箱。它将从HDFS中完全删除。
https://i-blog.csdnimg.cn/direct/719c6515a319417eb6f87eaffb5ae576.png
4. HDFS 入门

https://i-blog.csdnimg.cn/direct/88cbb00e37dc46ca8808254a1ec0535f.png
https://i-blog.csdnimg.cn/direct/5ac860560ca94f08801444d3c677e318.png
https://i-blog.csdnimg.cn/direct/60accbe0e3ca41b59b6a57121da766e1.png
https://i-blog.csdnimg.cn/direct/11c6d8e66f804d9eb5b55500d1189d39.png
https://i-blog.csdnimg.cn/direct/160d4f60e5ec43b294fe0b80c4c44cbf.png
https://i-blog.csdnimg.cn/direct/9ff0ce4ccf194371b12e38454d5da1c7.png
4.1 应用场景 

https://i-blog.csdnimg.cn/direct/1f96fb237b444812a3b48a85afddf56b.png

4.2 重要特性

https://i-blog.csdnimg.cn/direct/70a2e3e610a64438a45cf030aa04a213.png
https://i-blog.csdnimg.cn/direct/ae63ef26b4a9462bb2bd02490656d9f8.png
https://i-blog.csdnimg.cn/direct/d7e47f138ef648f2a9ac9696a74c264c.png
https://i-blog.csdnimg.cn/direct/7982c42448384c5890c522b222ff53f7.png
https://i-blog.csdnimg.cn/direct/8007b944e7304b59b6df87082499f666.png
https://i-blog.csdnimg.cn/direct/e81e9ea1d4554a04b3a9f22c132dbaba.png

4.3 shell 操作

https://i-blog.csdnimg.cn/direct/8da29b3322834597a1864ff69196eba2.png
https://i-blog.csdnimg.cn/direct/c5d7fa5b12124951abc13bfa5519f889.png
https://i-blog.csdnimg.cn/direct/9ec11c97943e4ffe85f4623a8e23dfb2.png
https://i-blog.csdnimg.cn/direct/45641b690beb4b3080a6900ddf084d05.png
https://i-blog.csdnimg.cn/direct/82694ec5c3b94035abbe80207dea35a8.png
5. HDFS 工作机制

https://i-blog.csdnimg.cn/direct/e6a3d81abe224ddcbdc5fbaa226ea6b9.png
https://i-blog.csdnimg.cn/direct/5b64a4baf9084383a065aeeb1c66f86d.png
https://i-blog.csdnimg.cn/direct/191650b8098d4f9094a4b99450667c2f.png
https://i-blog.csdnimg.cn/direct/8510be3f98b849a19c119207b00b7713.png
https://i-blog.csdnimg.cn/direct/11a5cc2d2de04714b71a73f24d7612a7.png
读数据
https://i-blog.csdnimg.cn/direct/e0d1ba27d59344978c36e0749abbeaf2.png
https://i-blog.csdnimg.cn/direct/50e462a66c254eafb1dd455387a138a0.png
https://i-blog.csdnimg.cn/direct/c447ca0855954899852328f3bb904680.png
https://i-blog.csdnimg.cn/direct/a3cb6e70e7984b18bd3becf88fd8b048.png
6. namenode 管理

6.1 文件归档archive

https://i-blog.csdnimg.cn/direct/291c043d494249d8ab700bcc414574a5.png
https://i-blog.csdnimg.cn/direct/a722c207822946408b80ac4f4ea0f1f8.png
https://i-blog.csdnimg.cn/direct/7e6b99e1174c407a99af0c8b8ce5f5ff.png


6.2 元数据管理机制

https://i-blog.csdnimg.cn/direct/330c60b7eb7e4ac8b4a3c6724edaca7e.png
https://i-blog.csdnimg.cn/direct/b6c7f9841d684e19b4ab8890cc542b59.png
https://i-blog.csdnimg.cn/direct/82af49df3c9345a89e1392c6db9676f0.png

7. mapreduce 入门

https://i-blog.csdnimg.cn/direct/8e1a8b6e8ec14f75aa6c6a826169589f.png
7.1 设计架构

https://i-blog.csdnimg.cn/direct/63337e338c464c979014d313c98e9e78.png
https://i-blog.csdnimg.cn/direct/b7ab060148d74b6da4726be8ef5d7724.png
https://i-blog.csdnimg.cn/direct/42cdc956906144df858afd4d283572b2.png
https://i-blog.csdnimg.cn/direct/c0a89efbf5df4f97b67ee57a2b14b6c2.png
7.2 局限性

https://i-blog.csdnimg.cn/direct/c545815d0e24414d9f93a22c1fa83523.png
https://i-blog.csdnimg.cn/direct/172a80f3525143c1b153e7b890cd9a04.png
7.3 示例

https://i-blog.csdnimg.cn/direct/064bb1fd7d5e467c9ea5ff5cc8d251c7.png
https://i-blog.csdnimg.cn/direct/8cc5844f21c644c986c7b44d0b30b36b.png
案例:计算pi 
#进入目录
/export/server/hadoop/share/hadoop/mapreduce

#提交目录
hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi 2 20 案例:单词统计
https://i-blog.csdnimg.cn/direct/454131f766494db9b3f11a8c2f2bc3e7.png
yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount/wordcount/input/1.txt /wordcount/output 7.4 Centos7安装Python3


   #1、安装编译相关工具
yum -y groupinstall "Development tools"

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

yum install libffi-devel -y

#2、解压Python安装包
tar -zxvfPython-3.8.5.tgz

#3、编译、安装Python
mkdir /usr/local/python3 #创建编译安装目录
cd Python-3.8.5
./configure --prefix=/usr/local/python3
make && make install  #make编译c源码 make install 编译后的安装

#安装过,出现下面两行就成功了
Installing collected packages: setuptools, pip
Successfully installed pip-20.1.1 setuptools-47.1.0


#4、创建软连接
# 查看当前python软连接快捷方式
# ll /usr/bin/ |grep python
-rwxr-xr-x.   1 root root      11232 Aug 13  2019 abrt-action-analyze-python
lrwxrwxrwx.   1 root root          7 May 17 11:36 python -> python2
lrwxrwxrwx.   1 root root          9 May 17 11:36 python2 -> python2.7
-rwxr-xr-x.   1 root root       7216 Aug  7  2019 python2.7


#默认系统安装的是python2.7 删除python软连接
rm -rf /usr/bin/python

#配置软连接为python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python

#这个时候看下python默认版本
python -V

#删除默认pip软连接,并添加pip3新的软连接
rm -rf /usr/bin/pip
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip


#5、更改yum配置
#因为yum要用到python2才能执行,否则会导致yum不能正常使用(不管安装 python3的那个版本,都必须要做的)
vi /usr/bin/yum
把 #! /usr/bin/python 修改为 #! /usr/bin/python2

vi /usr/libexec/urlgrabber-ext-down
把 #! /usr/bin/python 修改为 #! /usr/bin/python2

vi /usr/bin/yum-config-manager
#!/usr/bin/python 改为 #!/usr/bin/python7.5 输入输出流 

https://i-blog.csdnimg.cn/direct/d8b0d77ab628497297614f626380a0b7.png

8. Yarn集群

https://i-blog.csdnimg.cn/direct/e7907d7eaa12410b842ec5cf999483a9.png
https://i-blog.csdnimg.cn/direct/230d702ce47940e59a25e0f9c5e17101.png
8.1 YARN架构、组件

https://i-blog.csdnimg.cn/direct/99aef56f2e424a768c2e2176cb3b0dc7.png
https://i-blog.csdnimg.cn/direct/50cc00401c4840c68408564041554dfb.png

8.2 交互流程

https://i-blog.csdnimg.cn/direct/23f8fb64023c4ee180e1179036a46ef8.png
https://i-blog.csdnimg.cn/direct/52bc547f2d654364b6c646e8721f89c0.png

8.3 资源调治

https://i-blog.csdnimg.cn/direct/63438e96b15e4d8db83de4b3d2b78b1f.png
https://i-blog.csdnimg.cn/direct/106ebde4c77d44f9a22142536fdfd44c.png
https://i-blog.csdnimg.cn/direct/665320b21b794f44bc505d4c9815592c.png
https://i-blog.csdnimg.cn/direct/5f1c5fc3a3b645f8a7f46fed56d615dc.png

9. HA 高可用

https://i-blog.csdnimg.cn/direct/08cd12cb8ae04fb18eaa10f0626308c9.png
https://i-blog.csdnimg.cn/direct/6e5a3b52ef6f4225ba0bb26087937cd0.png
https://i-blog.csdnimg.cn/direct/ee9aa46ad5c648e9972f32deb304c207.png

9.1 问题 

https://i-blog.csdnimg.cn/direct/e44eae544d6840318cade85c09dc67cf.png
9.2 解决方案-QJM

https://i-blog.csdnimg.cn/direct/8b7e75138bb74dbfba775c9d0973e0ff.png
https://i-blog.csdnimg.cn/direct/76805f4331ea42419a3b4201c4ab45a4.png
https://i-blog.csdnimg.cn/direct/0f2157685c994d7b8072472a20dabd4c.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 0底子学习-Hadoop