全网最详细的Hadoop大数据集群搭建并进行项目分析(基于完全分布式)---第三部分

##所有需要的资料全部已上传到百度网盘上,请自行下载##

获取镜像,https://pan.baidu.com/s/1ho4hMrvIu1V6W4wWdH8nIA,提取码:ygyg
获取Xshell,https://pan.baidu.com/s/1xWRle9chuNtBpE0fDa7DHA,提取码:u3s6
获取Hadoop,https://pan.baidu.com/s/1a5M23KlUMtqKOoWqDnZBHQ,提取码:y1y3
获取jdk,https://pan.baidu.com/s/1ftofkxBKIYuOhooe2tj_1A,提取码:z9y4
获取 MySQL,https://pan.baidu.com/s/19wa564c6Pln1ReJOmHbh-g,提取码:y4k7
获取MySQL配置jar包,https://pan.baidu.com/s/1vFCKEttZNnd5ZfyeompcqQ,提取码:dsj8
获取Hive,https://pan.baidu.com/s/1YcnL07UVg_Czr1mMFfgJsQ,提取码:n4i7
获取Sqoop,https://pan.baidu.com/s/1wY5NcbI6hwKDt6r9BWu0Hg,提取码:u3x9
获取Zeppelin ,https://pan.baidu.com/s/1xjqbw3FO1sNClLSgd1iFhw,提取码:yw52

目录

第二部分:大数据集群搭建完全分布式(共分四部分)

第九章、安装配置zeppelin

1、解压zeppelin文件…
tar -zxvf zeppelin-0.8.2-bin-all.tgz -C ../server/
2、配置conf文件…
cd /export/server/zeppelin-0.8.2-bin-all/conf
cp zeppelin-site.xml.template zeppelin-site.xml

1、修改zepelin-site.xml文件 :
vim zepelin-site.xml
<property>
  <name>zeppelin.server.addr</name>
  <value>192.168.88.100</value>
  <description>Server binding address</description>
</property>
<property>
  <name>zeppelin.server.port</name>
  <value>9090</value>
  <description>Server port.</description>
</property>

2、修改zeppelin-env.sh文件 :
在文件中添加以下命令,分别代表我自己集群的,Java位置,spark的主节点连接,spark的位置,hadoop配置文件的位置 
export JAVA_HOME=/export/server/jdk1.8.0_65
export HADOOP_CONF_DIR=/export/server/hadoop-3.1.4/etc/Hadoop

3、修改shiro.ini文件:
cp shiro.ini.template shiro.ini
打开文件vim shiro.ini
#admin = hadoop, admin   -- 把这一句前面#去掉

3、启动zeppelin…
在都配置完毕之后,启动zeppelin,运行命令 
/export/server/zeppelin-0.8.2-bin-all/bin/zeppelin-daemon.sh start
在本机访问node1:9090端口,http://192.168.88.100:9090/

4、Zeppelin组件配置和使用:使用JDBC连接Hive…

在这里插入图片描述
配置属性和依赖
修改驱动类和url两个属性
•default.driver
hive连接的驱动类固定为org.apache.hive.jdbc.HiveDriver
•default.url:jdbc:hive2://node1:10000/
根据具体实例修改,格式为jdbc:hive2://ip:port/dbName
属性编辑完成后,将以下依赖依次添加到hive解释器的依赖库中,缺一不可,否则会在运行hive代码时报错。

注:以下依赖包都可在hive的安装包lib目录下找到。
/export/server/hive/lib/hive-jdbc-3.1.2.jar
/export/server/hive/lib/hive-service-rpc-3.1.2.jar
/export/server/hive/lib/hive-cli-3.1.2.jar
/export/server/hive/lib/hive-service-3.1.2.jar
/export/server/hive/lib/hive-common-3.1.2.jar
/export/server/hive/lib/hive-serde-3.1.2.jar
/export/server/hive/lib/guava-27.0-jre.jar 

在这里插入图片描述
新建一个Notebook应用,选择hive解释器,输入以下代码进行测试:
在这里插入图片描述

第十章、配置集群、服务器启动文件onkey

1、新建onkey文件并配置…

在这里插入图片描述

1、创建文件mkdir -p /export/onkey,新建启动集群与服务器文本vi begin-all.sh,添加以下内容:
# 启动HDFS集群
echo "启动Hadoop集群..."
/export/server/hadoop-3.1.4/sbin/start-all.sh
# 启动Hive MetaStore 服务器
echo "启动Hive MetaStore服务器..."
nohup /export/server/hive/bin/hive --service metastore > ./metastore.log 2>&1 &
sleep 5
# 启动Hive hiveserver2 服务器
echo "启动Hive hiveserver2服务器..."
nohup /export/server/hive/bin/hive --service hiveserver2 > ./hiveserver2.log 2>&1 &
sleep 5
# 启动Zeppelin服务器
echo "启动Zeppelin服务器..."
/export/server/zeppelin-0.8.2-bin-all/bin/zeppelin-daemon.sh start

2、新建关闭集群与服务器的文本并配置,vim end-all.sh添加以下内容:
/export/server/zeppelin-0.8.2-bin-all/bin/zeppelin-daemon.sh stop
jps -lm | grep -i 'server.HiveServer2' | awk '{print $1}' | xargs kill -s 9
jps -lm | grep -i 'metastore.HiveMetaStore' | awk '{print $1}' | xargs kill -s 9
/export/server/hadoop-3.1.4/sbin/stop-all.sh
保存并退出;
2、改变文本权限:chmod -R 777 begin-all.sh end-all.sh

2、在onkey上启动集群与服务器…
#在onkey目录下执行命令 ./begin-all.sh

第十一章、在zeppelin上进行表操作

1、创建表并导入数据…
create database mytest #创建数据库 
use mytest #选择数据库 
#创建表create table score(sid string,cid string, sscore int) partitioned by (month string) row format delimited fields terminated by '\t'
#在windows上下载该表利用rz -E再传入虚拟机data文件中
#导入数据load data local inpath '/export/data/score.txt' into table score partition (month='202006')

2、内连接…
#隐式内连接 
select * from teacher t, course c where t.tid = c.tid
 #显式内连接 
select * from teacher t inner join course c on t.tid = c.tid 
select * from teacher t join course c on t.tid = c.tid

3、外连接…
#左外连接
select * from teacher t left join course c on t.tid = c.tid
#右外连接
select * from teacher t right join course c on t.tid = c.tid
#满外连接
select * from teacher t full join course c on t.tid = c.tid

4、表查询…
#查询成绩最高学生的sid
select sid from score where sscore = (select max(sscore) from score)
#查询老师对应的课程 
select * from teacher t left join course c on t.tid = c.tid
#查询成绩最高学生的sid
select sid from score a,(select max(sscore) max_score from score) b where a.sscore = b.max_score
#查询分数等于80的所有的数据 
select * from score where sscore = 80
#查询分数在80100的所有数据 
select * from score where sscore between 80 and 100
#查询成绩为空的所有数据 
select * from score where sscore is null
#查询成绩是8090的数据
 select * from score where sscore in(80,90)
#查询学生姓李的所有数据
select * from student where sname like '李%’
#查询成绩大于80,并且sid是01的数据 
select * from score where sscore >80 and sid = '01’
#查询成绩大于80,或者sid 是01的数 
select * from score where sscore > 80 or sid = '01’
#查询s_id 不是 0102的学生 
select * from score where sid not in ('01','02')
#计算每个学生的平均分数 
select sid ,avg(sscore) from score group by sid
#计算每个学生最高成绩 
select sid ,max(sscore) from score group by sid
#求每个学生平均分数大于85的人 
select sid ,avg(sscore) avgscore from score group by sid having avgscore > 85
#查询学生的成绩,并按照分数升序排列 
select * from score order by sscore asc
#按照分数的平均值降序排序 
select sid ,avg(sscore) avg from score group by sid order by avg desc
#查询学生表前三数据
select * from student limit 3

第十二章、安装Sqoop并配置

1、解压安装文件…
tar zxvf /export/software/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /export/server/

2、配置conf文件…
#进入到conf文件中cd /export/server/sqoop-1.4.7/conf
#复制文件cp sqoop-env-template.sh sqoop-env.sh
#更改名mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop-1.4.7
#添加mysql5.1.32.jqr包到lib中

3、配置sqoop-env.sh文件…
#在sqoop-env.sh文件中添加:
export HADOOP_COMMON_HOME= /export/server/hadoop-3.1.4
export HADOOP_MAPRED_HOME= /export/server/hadoop-3.1.4
export HIVE_HOME=/export/server/hive

4、配置/etc/profile文件…
#在/etc/profile文件下的最后添加:
export SQOOP_HOME=/export/server/sqoop-1.4.7/
export PATH=$PATH:$SQOOP_HOME/bin
5、验证sqoop…

sqoop list-databases --connect jdbc:mysql://node1:3306/ --username root --password hadoop
6、测试sqoop连接数据库…
sqoop list-databases --connect jdbc:mysql://node1:3306/ --username root --password hadoop

第十三章、Sqoop导入数据

1、进入sqoop安装目录…
cd /export/server/sqoop-1.4.7
2、验证sqoop是否工作并显示MySQL数据库…
bin/sqoop list-databases \
--connect jdbc:mysql://192.168.88.100:3306/ \
--username root \
--password hadooop

3、导出订单总笔数表数据…
 bin/sqoop export \
    --connect jdbc:mysql://192.168.88.100:3306/app_didi \
    --username root \
    --password hadoop \
    --table t_order_total \
--export-dir /user/hive/warehouse/app_didi.db/t_order_total/month=2020-04

4、导出预约和非预约订单统计数据…
 bin/sqoop export \
    --connect jdbc:mysql://192.168.88.100:3306/app_didi \
    --username root \
    --password hadoop \
    --table t_order_subscribe_total \
--export-dir /user/hive/warehouse/app_didi.db/t_order_subscribe_total/month=2020-04

5、导出不同时段订单统计表…
 bin/sqoop export \
    --connect jdbc:mysql://192.168.88.100:3306/app_didi \
    --username root \
    --password hadoop \
    --table t_order_timerange_total \
--export-dir /user/hive/warehouse/app_didi.db/t_order_timerange_total/month=2020-04

6、导出不同地域订单统计表…
 bin/sqoop export \
    --connect jdbc:mysql://192.168.88.100:3306/app_didi \
    --username root \
    --password hadoop \
    --table t_order_province_total  \
--export-dir /user/hive/warehouse/app_didi.db/t_order_province_total/month=2020-04
7、导出不同年龄段,不同时段订单目标表…
 bin/sqoop export \
    --connect jdbc:mysql://192.168.88.100:3306/app_didi \
    --username root \
    --password hadoop \
    --table t_order_age_and_time_range_total  \
    --export-dir /user/hive/warehouse/app_didi.db/t_order_age_and_time_range_total/month=2020-04

PS:这是本项目的第三部分,剩余的部分烦请移步到本人主页的Hadoop集群搭建与运用专栏中查找,如有做的不好的地方请多多包涵!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值