数据仓库搭建

文章详细描述了如何在Linux服务器上进行基础网络配置,如修改主机名、IP地址,关闭防火墙和SELinux,管理网络服务,以及进行时间同步。此外,还介绍了如何优化SSH连接、创建bin目录和脚本my_rsync.sh用于文件分发,设置免密登录,安装JDK,配置和分发配置文件,以及生成和管理日志的过程。
摘要由CSDN通过智能技术生成

数据仓库搭建

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(1)修改主机名

vim /etc/hostname

(2)修改ip地址,并且重启服务

vim /etc/sysconfig/network-scripts/ifcfg-ens33

node2 192.168.88.102

node3 192.168.88.103

node4 192.168.88.104

systemctl restart network

(3)关闭防火墙

systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld.service

(4)关闭 selinux

vim /etc/selinux/config

SELINUX=disabled

(5)关闭networkmanage服务

#查看NetworkManager状态
systemctl status NetworkManager
#停止NetworkManager
systemctl stop NetworkManager
#禁止NetworkManager开机启动
systemctl disable NetworkManager

(6)做时间同步

yum install ntp  -y
vi /etc/ntp.conf
server ntp1.aliyun.com

-- 启动服务
systemctl start ntpd
systemctl enable ntpd

(3)可改可不改修改sshd:

修改sshd,让链接更加快:
sudo vim /etc/ssh/sshd_config

将UserNDs YES 注释打开,修改为userDNS No
重新启动
sudo systemctl restart sshd

(4)创建bin文件夹,存放后面的脚本

[itwise@node2 ~]$ mkdir bin

(5)在bin目录下创建,my_rsync.sh脚本,用来发放文件

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍历集群所有机器
for host in  node3 node4
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

(6)建立node2/3/4免密

免密逻辑: 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6.1免密之前的准备

linux命令实现:

先连接一下其他用户,自动生成.ssh文件
到用户目录下
[itwise@node2 bin]$ cd /home/itwise/
[itwise@node2 ~]$ ll -a
[itwise@node2 ~]$ cd .ssh/

ssh-keygen -t rsa(3次回车)
ssh-copy-id (node2/node3/node4)

sudo /bin/systemctl restart sshd.service(三台都要重启)

ctrl+d 退出登录

3台机器都安装安装JDK

上传jdk压缩包到/opt/software

使用解压命令进行解压  
tar -zxvf jdk-8u171-linux-x64.tar.gz

新建一个 配置变量环境/etc/profile.d/my_env.sh,并且应用分发:

[itwise@node2 profile.d]$ sudo vim /etc/profile.d/my_env.sh

source /etc/profile

分发jdk

my_rsync.sh /opt/module/jdk1.8.0_212/

发放配置文件到其他节点:

[itwise@node2 profile.d]$ scp my_env.sh root@node4:$PWD
[itwise@node2 profile.d]$ scp my_env.sh root@node3:$PWD

记得重置一下配置文件
 source /etc/profile
 

2.上传处理数据

[itwise@node2 module]$ cd applog/
将日志文件内的文件上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.数据

3.1配置文件application.yml:

[itwise@node2 applog]$ vim application.yml
只修改一下日期

# 外部配置打开 
logging.config: "./logback.xml"
#业务日期
mock.date: "2024-03-15"

#模拟数据发送模式
#mock.type: "http"
#mock.type: "kafka"
mock.type: "log"

#http模式下,发送的地址
mock.url: "http://hdp1/applog"

#kafka模式下,发送的地址
mock:
  kafka-server: "hdp1:9092,hdp2:9092,hdp3:9092"
kafka-topic: "ODS_BASE_LOG"

#启动次数
mock.startup.count: 200
#设备最大值
mock.max.mid: 500000
#会员最大值
mock.max.uid: 100
#商品最大值
mock.max.sku-id: 35
#页面平均访问时间
mock.page.during-time-ms: 20000
#错误概率 百分比
mock.error.rate: 3
#每条日志发送延迟 ms
mock.log.sleep: 10
#商品详情来源  用户查询,商品推广,智能推荐, 促销活动
mock.detail.source-type-rate: "40:25:15:20"
#领取购物券概率
mock.if_get_coupon_rate: 75
#购物券最大id
mock.max.coupon-id: 3
#搜索关键词  
mock.search.keyword: "图书,小米,iphone11,电视,口红,ps5,苹果手机,小米盒子"

3.2日志生成

执行java架包,会生成日志文件 log

[itwise@node2 module]$ cd applog/
[itwise@node2 applog]$ java -jar gmall2020-mock-log-2021-01-22.jar 

生成文件:
-rw-rw-r--. 1 itwise itwise 790129 3月  15 14:23 app.2024-03-15.log

3.3使用脚本分发applog 根据搭建,只保留node2,node3上的applog

[itwise@node2 module]$ my_rsync.sh applog/

[itwise@node4 module]$ rm -rf applog/

3.4编写集群日志生产成脚本,并授权

**/home/itwise/bin** 目录下创建脚本 my_log.sh**

[itwise@node2 bin]$ vim my_log.sh

#!/bin/bash
for i in node2 node3; do
echo "========== $i==开始生成日志 =========="
ssh $i "cd /opt/module/applog/; java -jar gmall2020-mock-log-2021-01-22.jar >/dev/null 2>&1 &"
echo "========== $i==生成日志完成 =========="
done

[itwise@node2 bin]$ chmod 744 my_log.sh


注:

(1)/opt/module/applog/为 jar 包及配置文件所在路径

(2)/dev/null 代表 linux 的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。

标准输入 0:从键盘获得输入 /proc/self/fd/0
标准输出 1:输出到屏幕(即控制台) /proc/self/fd/1
错误输出 2:输出到屏幕(即控制台) /proc/self/fd/2

4.集群所有进程查看脚本

1)在/home/itwise/bin 目录下创建脚本 xcall.sh

[itwise@node2 bin]$ vim xcall.sh

2)在脚本中编写如下内容

#! /bin/bash
for i in node2 node3 node4
do
echo --------- $i ----------
ssh $i "$*"
done

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3)修改脚本权限

[itwise@node2 bin]$ chmod 777 xcall.sh

4)演示脚本

[itwise@node2 bin]$ my_xcall.sh jps
--------- node2 ----------
75754 Jps
--------- node3 ----------
110071 Jps
--------- node4 ----------
109851 Jps
my_xcall.sh ls /bin

i “$*”
done


[外链图片转存中...(img-qd6KB48r-1713832505017)]

3)修改脚本权限

[itwise@node2 bin]$ chmod 777 xcall.sh


4)演示脚本

[itwise@node2 bin]$ my_xcall.sh jps
--------- node2 ----------
75754 Jps
--------- node3 ----------
110071 Jps
--------- node4 ----------
109851 Jps


my_xcall.sh ls /bin


  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Hive数据仓库可以按照以下步骤进行操作: 1. 下载Hive安装包并解压缩。根据引用\[1\]中提到的步骤,可以下载Hive安装包并解压缩到指定目录。 2. 修改Hive的配置文件。根据引用\[1\]中提到的步骤,可以修改Hive的配置文件,包括设置Hive的元数据库、配置Hive的存储路径等。 3. 初始化Hive的元数据库。根据引用\[1\]中提到的步骤,可以初始化Hive的元数据库,以便Hive能够正常运行。 4. 修改环境变量。根据引用\[1\]中提到的步骤,可以修改环境变量,将Hive的可执行文件路径添加到系统的PATH变量中。 5. 验证安装。根据引用\[1\]中提到的步骤,可以验证Hive的安装是否成功,例如运行Hive的CLI界面,执行一些简单的查询语句等。 总结来说,搭建Hive数据仓库的过程包括下载安装包、修改配置文件、初始化元数据库、修改环境变量和验证安装。具体的步骤可以参考引用\[1\]中提到的详细说明。同时,根据引用\[2\]中的介绍,Hive是建立在Hadoop上的数据仓库基础构架,可以用于存储、查询和分析存储在Hadoop中的大规模数据。 #### 引用[.reference_title] - *1* *3* [hive数据仓库搭建](https://blog.csdn.net/qq_52584391/article/details/128534351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [05、hive数据仓库介绍及搭建](https://blog.csdn.net/m0_44950952/article/details/125443822)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值