大数据“全家桶”,快来啃食

大数据“全家桶”,快来啃食

1 、 Hadoop HA布置

Hadoop HA配置

2 、 Sqoop 安装和使用

2.1我先介绍sqoop为何物吧?

​ sqoop主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。总之这是一个你传(情书)给我、我传给你(情书)的一个工具。

Mysql HDFS Hive HBase import import import export export Mysql HDFS Hive HBase
2.2 sqoop 安装

​ 解压到 “ /usr/local/src/ ” 目录

[root@hadoop01 ~]# tar -zxvf /home/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local/src/

​ 重命名为 “ sqoop”

[root@hadoop01 ~]# mv /usr/local/src/sqoop-1.4.7.bin__hadoop-2.6.0/ /usr/local/src/sqoop

​ 修改环境变量

[root@l1 src]# vim /etc/profile
#将下面添加入文件
export SQOOP_HOME=//usr/local/src/sqoop
export PATH=$PATH:$JAVA_HOME/bin:$ZK_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SQOOP_HOME/bin:
#刷新环境变量
[root@l1 src]# source /etc/profile

​ 重命名配置文件,并编辑

[root@l1 sqoop]# mv ./conf/sqoop-env-template.sh ./conf/sqoop-env.sh
[root@l1 sqoop]# vim ./conf/sqoop-env.sh 
#将下面添加入文件
#注意:hadoop 、zookeeper 都是你自己的安装地址
export HADOOP_COMMON_HOME=/usr/local/src/hadoop-2.7.6

export HADOOP_MAPRED_HOME=/usr/local/src/hadoop-2.7.6

export ZOOCFGDIR=/usr/local/src/zookeeper-3.4.10

​ 测试sqoop是否能和MySQL联通

​ 注意:1.连接MYSQl需要将MySQL的驱动jar拷贝到Sqoop的安装目录下的lib目录中

​ 2. mysql如果连接的不是自己本地的而是远程的,必须将mysql的远程访问打开,mysql默认关闭远程连接

[root@hadoop01 sqoop]# sqoop list-databases --connect jdbc:mysql://自己的MySQL地址:3306 --username root --password root
2.3 sqoop 命令
sqoop import 导入
--connect jdbc:mysql://127.0.0.1:3306/$db_name 连接数据库
--username root 数据库用户名
--password root 数据库密码
--target-dir /origin_data/$db_name/db/$1/$db_date HDFS地址
--delete-target-dir HDFS地址存在删除
--num-mappers $2 \--split-by $3 maptask数量
--input-null-string '\\N' 空值转换
--input-null-non-string '\\N' 非空字符串替换

--fields-terminated-by "\t" 字符串分割
--lines-terminated-by "\n"  行切割

--query "$4"' and $CONDITIONS;'
-hive-home <dir> 重写$HIVE_HOME
-hive-import 插入数据到hive当中,使用hive的默认分隔符
-hive-overwrite 重写插入
-create-hive-table 建表,如果表已经存在,该操作会报错
-hive-table <table-name> 设置到hive当中的表名
-hive-drop-import-delims 导入到hive时删除 \n, \r, and \0001
-hive-delims-replacement 导入到hive时用自定义的字符替换掉 \n, \r, and \0001
-hive-partition-key hive分区的key
-hive-partition-value <v> hive分区的值
-map-column-hive <map> 类型匹配,sql类型对应到hive类型

3 、Hive 安装和使用

3.1我又来介绍Hive为何物吧?

​ hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。

安装前的准备

1、一定现需要安装JDK。
2、需要Hadoop先安装。
3、需要关系型数据库---用于存储元数据。
3.2 Hive的安装
[root@l1 ~]# tar -zvxf apache-hive-2.3.7-bin.tar.gz -C /usr/local/src/
[root@l1 ~]# mv /usr/local/src/apache-hive-2.3.7-bin/ /usr/local/src/hive-2.3.7

配置hive-env.sh

[root@l1 ~]# mv /usr/local/src/hive-2.3.7/conf/hive-env.sh.template /usr/local/src/hive-2.3.7/conf/hive-env.sh
[root@l1 ~]# vi /usr/local/src/hive-2.3.7/conf/hive-env.sh
#加入自己的安装地址
export JAVA_HOME=/usr/local/src/jdk1.8.0_152/
export HADOOP_HOME=/usr/local/src/hadoop-2.7.6/

配置hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://自己的地址:3306/metastore?createDatabaseIfNotExist=true</value>
        </property>

        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
        </property>

        <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>#用户名
        </property>

        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>123456</value>#密码
        </property>

        <property>
                <name>hive.metastore.schema.verification</name>
                <value>false</value>
        </property>
</configuration>

拷贝mysql的启动包到hive的lib目录下

[root@l1 ~]# cp /home/mysql-connector-java-5.1.28-bin.jar /usr/local/src/hive-2.3.7/lib/
3.3 Hive的使用

初始化元数据(meta)

# hive的元数据包括:库、表、字段、字段类型、类外部表、分区、分桶、创建人等很多信息。
# hive的元数据默认存储到derby数据库中,但是2.x后也需要初始化元数据(schematool -initSchema -dbType derby)。
[root@hadoop01 ~]# schematool -initSchema -dbType mysql

注意:hive的地址也要加入环境变量,否则找不到命令

启动元数据服务

[root@l1 ~]# hive --service metastore &

测试hive是否启动

[root@l1 ~]# hive
hive命令讲解

4 、spark 安装和使用

4.1 spark安装
#解压
[root@l1 ~]# tar -zxvf /home/spark-2.4.5-bin-hadoop2.7.tgz -C /usr/local/src/
#重命名配置文件
[root@l1 conf]# mv spark-env.sh.template spark-env.sh
[root@l1 conf]# mv slaves.template slaves
root@l1 conf]# vim spark-env.sh
#添加
export JAVA_HOME=/usr/local/src/jdk1.8.0_152/
SPARK_MASTER_HOST=L1
SPARK_MASTER_PORT=7077
[root@l1 conf]# vim slaves 
#添加主机映射
L1
L2
L3

分发配置到hadoop02和hadoop03上。
[root@l1 spark-2.4.5-bin-hadoop2.7]# scp -r /usr/local/src/spark-2.4.5-bin-hadoop2.7/ hadoop02:/usr/local/src/
[root@l1 spark-2.4.5-bin-hadoop2.7]# scp -r /usr/local/src/spark-2.4.5-bin-hadoop2.7/ hadoop03:/usr/local/src/
配置环境变量
[root@l1 src]# vim /etc/profile
export SPARK_HOME=/usr/local/src/spark-2.4.5
export PATH=$PATH:$JAVA_HOME/bin:$ZK_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SQOOP_HOME/bin:$HIVE_HOME/bin:$SPARK_HOME/bin:
#刷新环境变量
[root@l1 src]# source /etc/profile
4.2 spark集群启动测试
#注意不要直接使用start-all.sh  因为hadoop的全启动命令也是start-all.sh
[root@hadoop01 spark-2.4.5-bin-hadoop2.7]# ./sbin/start-all.sh
#查看启动进程
[root@hadoop01 spark-2.4.5-bin-hadoop2.7]# jps
124755 Worker
2163 DataNode
2023 NameNode
2951 NodeManager
125270 Jps
2824 ResourceManager
124664 Master
# 查看spark的web ui  master的web端口位8080 ; worker的web端口位8081
web访问:http://hadoop01:8080/
4.3 spark使用

后续更
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏日先锋小队长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值