##所有需要的资料全部已上传到百度网盘上,请自行下载##
获取镜像,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
- 第十章、配置集群、服务器启动文件onkey
- 第十一章、在zeppelin上进行表操作
- 第十二章、安装Sqoop并配置
- 1、解压安装文件.............................................
- 2、配置conf文件...........................................
- 3、配置sqoop-env.sh文件.........................................
- 4、配置/etc/profile文件....................................
- 5、验证sqoop..............................................
- 6、测试sqoop连接数据库.....................................
- 第十三章、Sqoop导入数据
- 1、进入sqoop安装目录.......................................
- 2、验证sqoop是否工作并显示MySQL数据库.......................................
- 3、导出订单总笔数表数据.....................................
- 4、导出预约和非预约订单统计数据.............................
- 5、导出不同时段订单统计表...................................
- 6、导出不同地域订单统计表...................................
- 7、导出不同年龄段,不同时段订单目标表.......................
第二部分:大数据集群搭建完全分布式(共分四部分)
第九章、安装配置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
#查询分数在80到100的所有数据
select * from score where sscore between 80 and 100
#查询成绩为空的所有数据
select * from score where sscore is null
#查询成绩是80或 90的数据
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 不是 01和02的学生
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集群搭建与运用专栏中查找,如有做的不好的地方请多多包涵!