大数据电商数仓实战v5.0 (尚硅谷)

电商数仓实战


环境搭建快速回忆

这次详细写!------阿里云ECS云服务器抢占式

1.进入环境先创建wts用户

1.useradd wts
2.passwd wts
去/home/下查看有没有wts
接下来很多内容都要在wts下实现,这很重要

2 . 现在root用户下面,给wts赋予超级权力:sudo

1.[root@hadoop100 ~]# vim /etc/sudoers
2.找到下列的部分,添加(wts ALL=(ALL) NOPASSWD:ALL)
##Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
wts ALL=(ALL) NOPASSWD:ALL

3.退出的时候改用!wq的自己看

3 .接下来修改映射

1.windows下hosts,用公网ip 
2.云服务器环境:用私有ip(别你妈搞错了,这个时候如果在wts下,要用sudo 的) 

4 .三台机子免密登录: 三台同时跑

1. ssh-keygen -t rsa
2. 遇到输入密码就输入密码
 ssh-copy-id hadoop102
 ssh-copy-id hadoop103
 ssh-copy-id hadoop104

3.自己ssh验证一下 

5 .多个脚本,在wts下的bin下写

111.先xsync

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi
#2. 遍历集群所有机器
for host in hadoop112 hadoop113 hadoop114
do
    echo ====================  $host  ====================
    #3. 遍历所有目录,挨个发送

    for file in $@
    do
        #4. 判断文件是否存在
        if [ -e $file ]
            then
                #5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)

                #6. 获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

222–jpsall

 #!/bin/bash
 for host in hadoop102 hadoop103 hadoop104
 do
         echo =============== $host ===============
         ssh $host jps 
 done

333–hadoop.sh 群起脚本

	 #!/bin/bash
 
 if [ $# -lt 1 ]
 then
     echo "No Args Input..."
     exit ;
 fi
 
 case $1 in
 "start")
         echo " =================== 启动 hadoop集群 ==================="
 
         echo " --------------- 启动 hdfs ---------------"
         ssh hadoop112 "/opt/module/hadoop313/sbin/start-dfs.sh"
         echo " --------------- 启动 yarn ---------------"
         ssh hadoop113 "/opt/module/hadoop313/sbin/start-yarn.sh"
         echo " --------------- 启动 historyserver ---------------"
         ssh hadoop112 "/opt/module/hadoop313/bin/mapred --daemon start historyserver"
 ;;
 "stop")
         echo " =================== 关闭 hadoop集群 ==================="
 
         echo " --------------- 关闭 historyserver ---------------"
         ssh hadoop112 "/opt/module/hadoop313/bin/mapred --daemon stop historyserver"
         echo " --------------- 关闭 yarn ---------------"
         ssh hadoop113 "/opt/module/hadoop313/sbin/stop-yarn.sh"
         echo " --------------- 关闭 hdfs ---------------"
         ssh hadoop112 "/opt/module/hadoop313/sbin/stop-dfs.sh"
 ;;
 *)
     echo "Input Args Error..."
 ;;
 esac

jdk配置


1. 概念

在这里插入图片描述

技术选型:
在这里插入图片描述
数据流程设计
在这里插入图片描述

搭建环境

阿里ECS云服务器搭建学习: 密码Wts111111

三台ECS创建wts用户:

useradd wts
passwd wts
输入两边密码
cd /home   有无wts?

让wts有sudoer权力:

[root@hadoop100 ~]# vim /etc/sudoers

修改/etc/sudoers文件,在%wheel这行下面添加一行,如下所示:
wts ALL=(ALL) NOPASSWD:ALL

配置windows下hosts映射:不多说了
配置三个ecs之间的映射:不多说了

阿里云ECS云服务器–选择的是抢占式 很便宜
P23课(电脑不够,云服务器来凑;开虚拟机的话后期16G内存根本不够)

在这里插入图片描述

前面根据之前学的mapreduce配置,其中配置三台云服务器之间的免密码登录的时候遇到了点小问题:
1.首先要在三台云服务器里面设置映射:vim /etc/hosts
把相关的私有IP(上图)写进去
2.然后才可以配置之间的免密码登录

解压jdk
创建目录/opt/software jdk传输到这里
创建目录/opt/module jdk解压到这里
[wts@hadoop102 module]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module

生成日志

把材料中的四个文件拖进/opt/module/applog下面
运行:java -jar gmall2020-mock-log-2021-01-22.jar

写集群日志生成脚本lg.sh,脚本统一写在~/bin目录下

#!/bin/bash
for i in hadoop102 hadoop103; do
    echo "========== $i =========="
    ssh $i "cd /opt/module/applog/; java -jar gmall2020-mock-log-2021-01-22.jar >/dev/null 2>&1 &"
done 

lg.sh脚本applog文件夹分发到hadoop102 103上面,
(删除hadoop104的applog,要求部署在102和103上面;同时删除刚刚在102运行产生的log日志)
效果:启动脚本,102和103上产生log日志…

集群所有进程查看脚本

同理在~/bin下创建脚本:vim xcall.sh

#! /bin/bash
 
for i in hadoop102 hadoop103 hadoop104
do
    echo --------- $i ----------
    ssh $i "$*"
done

分发到三个集群,效果:

在这里插入图片描述

用户行为数据采集

安装和解压hadoop,配置hadoop
五个地方要配置(core,hdfs,yarn,mapreduce,workers)
另外还要配置历史服务器日志聚集

下面:
配置全部完成,第一次格式化,第二次启动hadoop
报错了,如下:

在这里插入图片描述参考大哥:ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation. 其中的方式二解决

最终的效果:红色的区域和老师启动不太一样,但是jps是一样的。(这个方法没有解决yarn的报错,不知道为什么,留着。。。)
在这里插入图片描述

hadoop103上启动yarn:
报错:

在这里插入图片描述

参考:启动start-yarn.sh报错ERROR: Attempting to operate on yarn resourcemanager as root ERROR: but there is no

解决方法:
到 sbin 目录下 更改 start-yarn.sh 和 stop-yarn.sh 信息,在两个配置文件的第一行添加:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

有报错:jps运行正常,ping三台ECS云服务器的公IP也是同的,但是hadoop102:9870页面打不开
解决办法汇总:

1.Windows下ping一下hadoop102是否通?有问题大概率是windows下的hosts映射
2.虚拟环境,防火墙关了
3.检查hdfs-site.xml 配置web页面的那一块是否写对了

4如果你也是和我一样的阿里云服务ECS,你的安全组端口,要自己配一下9870的端口.(我就是这个问题)

zookeeper

解压改名安装配置

1.   创建zkData 给三台机器各自的myid
2. 配置conf,zoo.cfg

修改数据存储路径到zkData里面
配置设置server.A=B:C:D

群起zookeeper:

#!/bin/bash

case $1 in
"start"){
	for i in hadoop102 hadoop103 hadoop104
	do
        echo ---------- zookeeper $i 启动 ------------
		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
	done
};;
"stop"){
	for i in hadoop102 hadoop103 hadoop104
	do
        echo ---------- zookeeper $i 停止 ------------    
		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
	done
};;
"status"){
	for i in hadoop102 hadoop103 hadoop104
	do
        echo ---------- zookeeper $i 状态 ------------    
		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
	done
};;
esac

777 该权限,后就可以使用

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本资源为网传资源,为一套比较全的电商项目,系统架构采用SOA dubbo+EasyI实现,资源过大上传乃是下载链接,如有侵权请联系/留言,不多说下面上目录: 1.01 电商系统介绍2 f% Z/ C0 z% {1 l" q+ R 2.02 电商类型介绍6 r6 J' |. a2 F, t6 y; _. v# p2 J# ` 3.03 电商系统演示介绍! D$ C$ a1 K( q, c 4.04 电商数据结构介绍 5.05 电商数据结构设计器8 q9 r1 t3 Q( A# T" ?# P0 w+ n 6.06 电商数据准备 7.07 后台管理框架搭建 8.08 spu管理跳转 9.09 分类下拉列表的加载 10.10 商品发布的业务逻辑 11.1.建表 12.2.导数据 13.3.统一环境 14.4.生成js文件0 ~* z9 y2 K/ u; k+ N8 S# l* H: V! Y 15.01 商品spu参数提交- Q( T& z* U- B, ^: q) _ 16.02 商品spu图片上传服务介绍' ], M1 {0 w- x; Z' L. y 17.03 文件上传 工具 18.04 spu信息发布功能) G' E R g0 B( \* X + N& D7 p 19.05 spu动态图片追加% N0 H) M. o8 ~+ A 20.06 spu动态图片追加 21.07 属性功能管理介绍 22.08 属性功能管理介绍 23.09 属性保存功能跳转 24.10 属性双重集合参数3 Z4 [5 |4 D, k, M- G 25.11 属性保存功能业务层代码3 E: v6 D1 y: N* t5 X& Q, | 26.12 属性能业异步内嵌页8 t- |* |7 r# @ 27.13 属性集合查询) q& ~/ W) _9 c* r+ d: D5 Z% Y 28.01 属性的双重集合查询语句 29.02 sku功能介绍! m- K+ b0 K7 U* B! o* g3 S 30.03 sku功能跳转 31.04 客户端js函数中的el表达式 32.05 异步加载spu列表数据# M& R, \7 \3 y z- w+ a% }( g" ^ 33.06 用复选框操作属性列表显示 D+ k( T; J. J" `2 u 34.07 属性参数的提交) O0 o, s0 X \! P! @0 b& H 35.08 sku的数据结构说明8 m! S+ i9 k) W4 F# ?7 U 36.09 sku添加的业务实现1 |' b G% [! w/ J* C n; N 37.10 easyui的介绍 38.11 easyui的layout初始化介绍- v- C+ z# J) e- O* I! G 39.12 easyui手风琴控件介绍1 X/ X# \' k% x2 N 40.13 tree控件 41.14 tab控件: U, |: a! S7 ?: A$ t1 ?, G 42.1.properties% C2 @ d! }9 Z& ^2 c 43.2.主键9 D3 f9 W4 J* C" B4 M 44.3. 锚点. F( v2 C8 q- I# F+ G 45.01 数据表格的用法: e: S' z. T0 @8 T( `6 L 46.02 combobox的用法; _6 }2 p3 v: O7 l* } 47.03 嵌套布局的用法% L! U! L0 ]% B 48.04 easyui同步提交后跳转问题 49.05 乱码问题! {6 |( X* i) u; w! Y' B 50.06 首页初始化 51.07 用户登录方法 k, `) e/ R( F& m5 X 52.08 通过cookie取得用户的个性化信息, J7 ?0 ]' A) \6 E7 n5 K 53.09 通过客户端cookie取得用户的个性化信息0 i7 ], O/ }# H: t6 @: j) I+ i 54.10 用户个性化信息9 b% h5 O% p; I" P7 z 55.11 任务总结 56.01 商品检索介绍 57.02 商品分类检索介绍7 J% Q6 L& r: T6 N. H8 a- E6 Y% f" d" S4 I 58.03 商品分类检索sql: Z- N/ w: k; }2 b9 E( w8 I 59.04 商品分类检索列表 60.05 商品属性检索介绍 61.06 ajax字符串数组传参 62.07 ajax字符串json传参& i' g9 \7 ^! e7 _ 63.08 表单序列化传参 64.09 动态sql的设计方法" o# D. ?# R% _1 X 65.10 动态sql的实现 66.11 任务 67.1.项目演示 68.2.resu

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值