• 大数据实训


    文章目录

    整体框架

    在这里插入图片描述

    前期准备

    安装vmware

    安装xshell

    配置ip地址

    查看自己的IP地址区间,子网掩码,网关然后进行如下配置
    编辑文件:vi /etc/sysconfig/network-scripts/ifcfg-ens33
    加入以下信息

    GATEWAY=
    IPADDR=
    MASK
    DNS1=8.8.8.8
    DNS2=4.4.4.4
    
    • 1
    • 2
    • 3
    • 4
    • 5

    创建hadoop用户

    useradd -md /home/hadoop hadoop

    设置hadoop的密码

    exit到root用户

    设置密码:passwd hadoop
    输入:hadoop两次

    在这里插入图片描述

    拷贝到其他节点(前提配置好了),以做到免密登录
    ssh-copy-id CC1

    测试是否能登录:
    ssh CC1

    注意这里登录成功后都是在对CC1进行操作,如果要对本机进行操作需要exit

    切换到haddop用户

    su -l hadoop

    hadoop集群搭建

    1、初始工作

    修改计算机名

    vi /etc/hostname

    配置主机地址映射

    在CC3(主节点中)
    以root形态编辑
    vi /etc/hosts
    在其后追加如下信息

    ip地址 主机名
    ip地址 主机名
    
    • 1
    • 2

    防火墙

    systemctl status firewalld
    
    • 1

    像这样绿色的active就执行下面的,

    systemctl stop firewalld
    
    • 1

    systemctl disable firewalld.service

    关闭另一个东西:
    查看状态,如果不是disable执行下面
    getenforce

    执行
    setenforce 0
    一劳永逸:
    vi /etc/sysconfig/selinux
    改变
    在这里插入图片描述

    ssh免密工作——单方面验证

    打通自己到自己以及其他主机的映射,而不需要其他主机到自己的映射
    在NN上执行以下操作
    切换到hadoop用户:su -l hadoop
    生成:ssh-keygen,四下回车

    ssh-copy-id node1
    ssh-copy-id node2
    ssh-copy-id node3
    
    • 1
    • 2
    • 3

    查看:ls .ssh/

    2、服务器基础环境准备

    集群时间同步

    yum -y install ntpdate
    ntpdate ntp4.aliyun.com
    
    • 1
    • 2

    jdk安装配置

    传到 /install/tar里面
    mkdir -p /install/tar && cd /install/tar
    rz -y

    tar包:

    解压到之前创建的software目录,默认解压到当前目录
    tar -zxvf jdk-8u271-linux-x64.tar.gz -C /software/

    进入到目录
    cd /software
    查看解压文件
    ls -al
    配置jdk环境
    vi /etc/profile
    在最后追加下面几句

    JAVA_HOME=/software/jdk1.8.0_271
    PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib
    export PATH JAVA_HOME
    
    • 1
    • 2
    • 3

    执行刷新(也许)
    source /etc/profile
    查看java版本
    java -version
    检查:java -version

    3、上传,解压安装包

    创建统一工作目录

    mkdir -p /export/server/ #软件安装路径
    mkdir -p /export/data/   #数据存储路径
    mkdir -p /export/software/ #安装包存放目录
    
    • 1
    • 2
    • 3

    上传,解压安装包

    1. 下载hadoop的tar包
    2. 上传到主节点:rz -y,选择tar包
    3. 双击cc3再打开一个cc3的会话
    4. 解压到software文件夹tar -zxvf hadoop-3.2.2.tar.gz -C /software/
    5. 等很久很久以后。。。
    6. 进行环境配置
      vi /etc/profile
      在文件内进行一下配置
      在这里插入图片描述
      刷新改文件

    5、编辑hadoop文件

    进入到:cd /software/hadoop-3.2.2/etc/hadoop/

    hadoop-env.sh中配置javahome

    :ser nu显示行号,后面的都会提示行号
    在这里插入图片描述
    在最后加入以下信息

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在core-site.xml中修改

    添加下列

    
    	fs.defaultFS
    	hdfs://CC2:9000
    
    
    	hadoop.tmp.dir
    	/software/hadoop-3.2.2/work
    
    
    	hadoop.http.staticuser.user
    	root
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    hdfs-site.xml配置

    
    	dfs.namenode.secondary.http-address
    	CC1:9868
    
    
    • 1
    • 2
    • 3
    • 4

    下面的数字是子节点个数

    mapred-site.xml文件

    分布式计算的布置,框架名称yarn

    
    	mapreduce.framework.name
    	yarn
    
    
    	yarn.app.mapreduce.am.env
    	HADOOP_MAPRED_HOME=${HADOOP_HOME}
    
    
    	mapreduce.map.env
    	HADOOP_MAPRED_HOME=${HADOOP_HOME}
    
    
    	mapreduce.reduce.env
    	HADOOP_MAPRED_HOME=${HADOOP_HOME}
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    yarn-site.xml文件

    配置分布式计算的运行时框架

      
      	yarn.resourcemanager.hostname
          CC2
      
      
          yarn.nodemanager.aux-services
          mapreduce_shuffle
      
      
          yarn.nodemanager.aux-services
          mapreduce_shuffle
       
       
          yarn.scheduler.minimum-allocation-mb
          512
       
       
          yarn.scheduler.maximum-allocation-mb
          1024
       
       
          yarn.nodemanager.vmem-pmem-ratio
          2
       
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    workers-工人们

    里面放上所有主机名就行
    我这里只有CC1一个主机

    CC1
    CC2
    
    • 1
    • 2

    6、分发安装包

    -r表示递归
    将master机器上hadoop的安装目录拷到各个节点

    1. 将hadoop同步到子节点:scp -r hadoop-3.2.2 CC2:/software/
    2. 切回root用户exit
    3. 将profile文件同步到子节点:scp /etc/profile CC1:/etc/做一个覆盖操作
    4. 对每一个节点执行5
      检查是否同步成功hadoop version,如果有版本号则拷贝成功

    7、修改hadoop环境变量

    • NN上配置
      vim /etc/profile

      HADOOP_HOME=/software/hadoop-3.2.2
      PATH= P A T H : PATH: PATH:JAVA_HOME/bin: J A V A H O M E / l i b : JAVA_HOME/lib: JAVAHOME/lib:HADOOP_HOME/sbin:$HADOOP_HOME/bin
      export PATH JAVA_HOME HADOOP_HOME

    • 同步到其他机器
      scp /etc/profile 主机名:/etc/

    • 重新加载:
      source /etc/profile

    8、format操作

    • 首次启动必须进行format操作
    • 本质上是初始化工作
      hdfs namenode -format

    导入rpm

    mkdir -p /install/software
    chmod 777 /install/software
    装gcc
    yum install gcc
    用rz导入
    rz -y
    安装rpm工具

    rpm -ivh --nodeps --force 'ls'
    
    • 1

    初识dfs

    格式化分布式文件系统

    只在主节点上执行

    文件会被分成多个块,分布于其他节点
    改变software的宿主
    chown -R hadoop:hadoop hadoop-3.2.2
    先切换到hadoop用户
    su -l hadoop

    改变工作目录:cd /software/hadoop-3.2.2
    初始化:hdfs namenode -format
    echo $?查看是否执行正确,如果为0则正确,非0就是错误

    ls查看是否新增了work目录,(work很重要的一个东西)

    在这里插入图片描述

    启动hadoop集群:start-dfs.sh
    向所有子节点发送jps查看当前进程,jdk提供的,

    关闭项目集群:stop-dfs.sh
    查看是否搭建成功:hdfs dfs -ls /
    创建新的文件夹 hdfs dfs -mkdir test

    分布式存储

    基础命令

    启动:start-dfs.sh
    ls: hdfs dfs -ls /查看根目录下的东西
    上传:hdfs dfs -put 本地文件 分布式路径
    查看:hdfs dfs -cat 本地文件 /test/
    下载:hdfs dfs -get 分布式目录 本地目录
    mkdir :hdfs dfs -mkdir 分布文件路径
    重命名:hdfs dfs -mv 分布路径 分布路径
    查看:hdfs dfsadmin -report

    分布式计算

    启动:start-yarn.sh

    先确认自己的防火墙关了
    http://主节点ip:9870/
    在这里插入图片描述

    http://主节点ip:8088/
    在这里插入图片描述

    启动顺序:

    1. start-dfs.sh
    2. start-yarn.sh

    关闭顺序:

    1. stop-yarn.sh
    2. stop-dfs.sh

    用分布式存储放置数据

    mkdir /install/data && cd /install/data
    rz -y上传emp.log文件到data里
    创建:hdfs dfs -mkdir -p /src/input
    上传:hdfs dfs -put emp.log /src/input
    查看:hdfs dfs -ls /src/input/emp.log

    代码区

    所使用的环境:eclipse,maven

    配置maven

    编写以下代码

    打包成jar包

    1. 删除targer里面的所有内容(如果有)
    2. 右键porm.xml
    3. 点击Debug As => Maven Build

    ##上传到服务器
    上传:rz -y
    查看:ls

    在分布式集群上运行jar包

    对全部节点:su -l hadoop
    主机上启动集群:start-dfs.sh
    运行jar包:hadoop jar EmpBigData.jar com.zlt.bigdata.SalaryDriver /src/input /src/output

    map100%就是成功

    查看运行情况:ip地址:8088
    查看统计结果:
    hdfs dfs -ls /src/output
    hdfs dfs -cat /src/output/part-r-00000,不一定是这个文件夹,可以一个一个看试试

    数据的抽取与存储

    数据抽取

    在hdfs下执行编写的jar包

    数据存储

    安装配置mysql

    向主节点上传 mysql8.0.1.zip文件
    解压:unzip mysql-8.0.22 -d /software/
    初始化:

    1. 切换到tools下面:cd tools
    2. 执行初始化: chmod +x ./InitMysql
    3. echo $看返回值是不是0

    查看服务是否启动:lsof -itcp:3306
    启动服务:/software/mysql-8.0.22/sbin/MysqlTools start
    切换到mysql的bin目录下执行mysql命令
    -P:端口号
    -u:用户名
    -p:密码
    -e"some sql in here…":非交互式命令
    ./mysql -h127.0.0.1 -P3306 -uroot -p123456进入交互式
    注意分号
    查看有哪些数据库:show databases;
    创建数据库:create database emp character set utf8;
    创建表:./mysql -h127.0.0.1 -P3306 -uroot -p123456 -e"create table if not exists emp.salary(deptName varchar(50) not null,avgSalary int(6) not null)engine=myisam charset=utf8);"

    查看创建情况:

    1. 选择数据库:use emp;
    2. 查看表:show tables;

    将错误信息放到null:语句后假如>/dev/null,这里没有分号,如果是非交互式

    安装配置sqoop——将dfs文件转到mysql

    环境配置(无)
    重要——转移命令
    sqoop-export --export-dir '/data/output' --fields-terminated-by '	' --lines-terminated-by '
    ' --connect 'jdbc:mysql://192.168.162.123:3306/emp' --username 'root' --password '123456' --table 'salary' --columns "deptName,avgSalary"
    
    • 1
    • 2

    进入到mysql查看

    报表系统

    linux机器上安装metabase

    转到zip文件夹:cd /install/zip
    上传metebase文件:rz -y
    解压到software:unzip metabase0.37.2.zip -d /software/
    到software查看:cd /software && ls
    运行:cd /software/metabase0.37.2/bin && ./Startup.sh
    如果不能执行:chmod a+x 文件名

    查看:到本地浏览器输入以下地址:主机ip:3000

    登录注册

    随便填,不过要记住之后要登录

    在metabase中使用mysql

    在linux上启动mysql服务
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    CF1781F Bracket Insertion(2700*) 题解(括号匹配DP)
    办公软件WPS与Office的区别
    alibaba dragonwell jdk
    AtCoder ABC344 A-E题解
    Python基础——类和对象
    剑指offer 44. 从1到n整数中1出现的次数
    二维空间下的向量旋转
    UML——时序图
    POM配置
    3分钟让你学会axios在vue项目中的基本用法(建议收藏)
  • 原文地址:https://blog.csdn.net/m0_67393619/article/details/126565630