电商离线数仓从0到1系列之二 hive,flume环境搭建

hive安装

hive内置元数据库Derby,但一般采用自有的元数据库,这里用mysql

hive集群分配:

软件warehouse101warehouse102warehouse103
hadoop
hive
mysql

元数据(metastore)采用远程模式配置,配置规划:

服务warehouse101warehouse102warehouse103
metastore
HiveServer2

mysql安装

1.检查是否已安装mysql或mariadb,并安装相关依赖
  • 分别执行命令:

    rpm -qa|grep mysql、rpm -qa|grep mariadb
    

    查询结果

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vXjvUj3p-1636966295041)(C:\Users\38734\AppData\Roaming\Typora\typora-user-images\image-20211110104600265.png)]

  • 删除系统自带mariadb。-e 删除指定的套件;–nodeps 不验证套件的相互关联性

    rpm -e --nodeps mariadb-libs
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GCJDtUjO-1636966295044)(C:\Users\38734\AppData\Roaming\Typora\typora-user-images\image-20211110104637673.png)]

  • 安装相关依赖 。命令:

    yum -y install perl net-tools
    
2.上传mysql安装包进行安装,本项目采用5.7.26版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yHvLM90U-1636966295047)(C:\Users\38734\AppData\Roaming\Typora\typora-user-images\image-20211110104920652.png)]

  • 解压缩

    tar vxf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar -C /opt/lwp/servers/
    
  • 在解压缩目录依次运行以下命令:

    rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm   ## 安装公共模块
    rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm       ## 安装相关包
    rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm     ##安装客户端
    rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm    ##安装服务端
    
  • 启动数据库。 命令:

    systemctl start mysqld
    
  • 查找root密码并用密码登录数据库。 命令:

    grep password /var/log/mysqld.log 
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V3hN7fRy-1636966295051)(C:\Users\38734\AppData\Roaming\Typora\typora-user-images\image-20211110105838885.png)]

3.修改root密码,并创建hive用户
  • 设置用户密码策略:

    set global validate_password_policy=0;
    
    • 注:validate_password_policy 密码策略(默认是1),可配置的值有以下:
      • 0 or LOW 仅需需符合密码长度(由参数validate_password_length【默认为8】
        指定)
      • 1 or MEDIUM 满足LOW策略,同时还需满足至少有1个数字,小写字母,大写
        字母和特殊字符
      • 2 or STRONG 满足MEDIUM策略,同时密码不能存在字典文件(dictionary
        file)中
      • 个人开发环境,出于方便的目的设比较简单的密码;生产环境一定要设复杂密
        码!
  • 设置root用户密码:

    set password for 'root'@'localhost' =password('12345678');
    flush privileges;
    
  • 创建hive用户

    CREATE USER 'hive'@'%' IDENTIFIED BY '12345678';
    GRANT ALL ON *.* TO 'hive'@'%';
    FLUSH PRIVILEGES;
    

hive安装测试

1.上传软件包,并安装
  • 上传软件包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YCrm5wT4-1636966295053)(C:\Users\38734\AppData\Roaming\Typora\typora-user-images\image-20211110092441687.png)]

  • 解压文件到软件安装文件夹。命令:

    tar zvxf apache-hive-2.3.7-bin.tar.gz -C /opt/lwp/servers/
    
  • 修改文件夹名称。命令:

    mv apache-hive-2.3.7-bin/ hive-2.3.7
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cwcmlLLj-1636966295056)(C:\Users\38734\AppData\Roaming\Typora\typora-user-images\image-20211110111130150.png)]

2.修改环境变量
  • 在/etc/profile文件里增加环境变量

    export HIVE_HOME=/opt/lagou/servers/hive-2.3.7
    export PATH=$PATH:$HIVE_HOME/bin
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MBh0wca0-1636966295059)(C:\Users\38734\AppData\Roaming\Typora\typora-user-images\image-20211110111717712.png)]

  • 使环境变量生效。命令:

    source /etc/profile
    
3.修改hive元数据库相关配置
  • 新建hive-site.xml文件,将配置复制进文件:vi $HIVE_HOME/conf/hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <!-- hive元数据的存储位置 -->
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://warehouse103:3306/hivemetadata?createDatabaseIfNotExist=true&amp;useSSL=false</value>
	<description>JDBC connect string for a JDBC	metastore</description>
	</property>
	<!-- 指定驱动程序 -->
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
		<description>Driver class name for a JDBC metastore</description>
	</property>
	  <!-- 连接数据库的用户名 -->
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>hive</value>
		<description>username to use against metastore database</description>
	</property>
	  <!-- 连接数据库的口令 -->
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>12345678</value>
		<description>password to use against metastore database</description>
	</property>
</configuration>
4.上传mysql jdbc驱动程序到$HIVE_HOME/lib文件夹
5.初始化元数据库

命令:

schematool -dbType mysql -initSchema
6.启动hive,测试单节点安装是否成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wJLxMKBx-1636966295065)(C:\Users\38734\AppData\Roaming\Typora\typora-user-images\image-20211111172752236.png)]

以上执行hive进入命令行模式,然后执行show functions命令查看hive自带方法,命令成功执行即安装成功。

7.修改配置文件,将以下内容加入hive-site.xml文件
<property>
  <!-- 数据默认的存储位置(HDFS) -->
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
  <description>location of default database for the warehouse</description>
</property>
<property>
  <!-- 在命令行中,显示当前操作的数据库 -->
  <name>hive.cli.print.current.db</name>
  <value>true</value>
  <description>Whether to include the current database in the Hive prompt.</description>
</property>
<property>
  <!-- 在命令行中,显示数据的表头 -->
  <name>hive.cli.print.header</name>
  <value>true</value>
</property>
<property>
  <!-- 操作小规模数据时,使用本地模式,提高效率 -->
  <name>hive.exec.mode.local.auto</name>
  <value>true</value>
  <description>Let Hive determine whether to run in localmode automatically</description>
</property>

<!-- hive metastore 服务地址,见元数据配置规划 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://warehouse101:9083,thrift://warehouse103:9083</value>
</property>
8.修改日志文件目录
cd $HIVE_HOME/conf
mv hive-log4j2.properties.template hive-log4j2.properties
vi $HIVE_HOME/conf/hive-log4j2.properties
#注释掉 property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}
# 添加以下内容:
property.hive.log.dir = /opt/lagou/servers/hive-2.3.7/logs

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j56KesZC-1636966295067)(C:\Users\38734\AppData\Roaming\Typora\typora-user-images\image-20211111174753208.png)]

9.配置HiveServer2:

修改core-site.xml文件,加入以下内容,并分发给其他服务器

<!-- HiveServer2 连不上10000;hadoop为安装用户 -->
<!-- root用户可以代理所有主机上的所有用户 -->
    <property>  
        <name>hadoop.proxyuser.root.hosts</name>  
        <value>*</value>
    </property>
    <property>  
        <name>hadoop.proxyuser.root.groups</name>  
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.hadoop.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.hadoop.groups</name>
        <value>*</value>
    </property>

修改hdfs-site.xml文件,增加以下内容,并分发给其他服务器

<!-- HiveServer2 连不上10000;启用 webhdfs 服务 -->
    <property> 
        <name>dfs.webhdfs.enabled</name> 
        <value>true</value> 
    </property>
10.分发hive-2.3.7文件夹给其他服务器构建hive集群
11.在warehouse101和warehouse103上开启元数据服务

命令:

# 启动 metastore 服务
nohup hive --service metastore &
# 安装lsof
yum install lsof
# 查询9083端口(metastore服务占用的端口)
lsof -i:9083
12.到此hive基本部署完成

flume安装

1.将安装包上传并解压

2.修改/etc/profile配置文件,加入以下内容

#add FLUME_HOME
export FLUME_HOME=/opt/lwp/servers/flume-1.9.0
export PATH=$PATH:$FLUME_HOME/bin

3.使环境变量生效

source /etc/profile

4.修改flume配置文件

cd $FLUME_HOME/conf
mv flume-env.sh.template flume-env.sh
vi flume-env.sh
export JAVA_HOME=/opt/lwp/servers/jdk1.8.0_231
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值