zoukankan      html  css  js  c++  java
  • 大数据02_CentOS7+Hadoop-3-1-2+MySQL5-1-73安装配置Hive-3-1-2

    一、安装环境
    • 操作系统:CentOS7
    • Hadoop版本:Hadoop-3.1.2.
    • MySQL版本:MySQL5.1.73
    • HIve版本:Hive-3.1.2

    在Hive安装之前,要先安装好Hadoop,本次实验是在Hadoop伪分布模式下,具体安装配置过程可以参考文章:《大数据01_centos7部署hadoop-3.1.2本地模式与伪分布模式》

    二、安装配置MySQL
    第一步:下载MySQL安装包:
    • MySQL-client-5.1.73-1.glibc23.x86_64.rpm
    • MySQL-server-5.1.73-1.glibc23.x86_64.rpm
    第二步:将上面下载的两个文件上传到服务器,我使用的是SecureFX软件。
    第三步:安装MySQL-server-5.1.73-1.glibc23.x86_64.rpm

    输入命令:

    rpm -ivh MySQL-server-5.1.73-1.glibc23.x86_64.rpm
    

    在安装过程中可能用遇到安装冲突,查看冲突的软件包,并把冲突的软件包卸载:

    rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps
    

    卸载完了原来的mysql,我们现在再来安装server,如下所示,发现安装成功了。

    rpm -ivh MySQL-server-5.1.73-1.glibc23.x86_64.rpm
    

    屏幕出现:Starting MySQL. SUCCESS!代表安装成功。

    第四步:安装MySQL-client-5.1.73-1.glibc23.x86_64.rpm

    输入命令:

    rpm -ivh MySQL-client-5.1.73-1.glibc23.x86_64.rpm
    

    屏幕出现100%安装进度条提示,表示安装成功。

    第五步:初始化Mysql

    那我们便使用/usr/bin/mysql_secure_installation这个脚本来初始化一下,输入:

     /usr/bin/mysql_secure_installation
    

    初始化过程中会有几个问题需要输入:

    第一个停顿的地方我们直接回车就可以
    接下来会让我们选择是否现在设置密码,我们选择"Y"
    输入密码:
    再次输入密码
    提示是否删除所有匿名用户,我们选择"Y"进行删除。
    提示是否不允许远程连接,我们选择"n"意思是允许远程连接
    提示是否删除测试数据库,我们不删除,选择n
    提示是否重新刷新表权限,我们选择"Y"
    

    到此我们的mysql初始化便完成了。

    第六步:检验安装成果

    mysql -uroot -p密码

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
    +--------------------+
    3 rows in set (0.00 sec)
    mysql>
    

    返回正常,MySQL安装成功。

    三、安装配置Hive-3.1.2
    1、把压缩包上传到虚拟机中,使用命令进行解压:
    tar  -zxvf  apache-hive-3.1.2-bin.tar.gz  -C  /home/hadoop/test
    

    进入解压目录,重命名文件夹:

    mv  apache-hive-3.1.2-bin  hive-3.1.2
    
    2、设置环境变量:
    vi   ~/.bash_profile 
    

    编辑文件添加内容

    HIVE_HOME=/home/hadoop/test/hive-3.1.2
    export HIVE_HOME
    PATH=$HIVE_HOME/bin:$PATH
    export PATH
    

    使变量立即生效:

    source  ~/.bash_profile 
    
    3、修改hive-site.xml 文件:

    进入/home/hadoop/test/hive-3.1.2/conf目录,下创建hive-site.xml 文件,
    复制hive-default.xml.template并更名为hive-site.xml

    cp hive-default.xml.template hive-site.xml  
    
    4、创建HDFS文件夹

    提前把hadoop安装配置好后启动,具体安装配置过程可以参考文章:《大数据01_centos7部署hadoop-3.1.2本地模式与伪分布模式》

    hadoop fs -mkdir -p /user/hive/warehouse   # 创建文件夹
    hadoop fs -mkdir -p /tmp/hive    # 创建文件夹
    hadoop fs -mkdir -p /tmp/hive    # 创建文件夹
    hadoop fs -chmod -R 777 /tmp/hive   # 授予权限
    

    查看是否创建成功:

    hadoop fs -ls /
    
    5、Hive相关配置

    在/home/hadoop/test/hive-3.1.2下创建iotmp目录

    mkdir iotmp
    chmod -R 777 iotmp   # 授予权限
    

    pwd # 查看temp的文件位置

    /home/hadoop/test/hive-3.1.2/iotmp
    

    然后,将 hive-site.xml 中的{system:java.io.tmpdir}改为hive的本地目录,将{system:user.name}改为用户名。注意:路径和用户名都是自己的。下面列出的是根据我的路径和我的用户名修改的文件。

    由于hive-site.xml文件内容很多,可以借助文本编辑器的“/关键字”查找功能来定位。

     <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/home/hadoop/test/hive-3.1.2/hadoop</value>
    <description>Local scratch space for Hive jobs</description>
     	 </property
    
      <property>
        		<name>hive.downloaded.resources.dir</name>
      <value>/home/hadoop/test/hive-3.1.2/${hive.session.id}_resources</value>
        		<description>Temporary local directory for added resources in the remote file system.</description>
    	</property>
      
    <property>
        		<name>hive.server2.logging.operation.log.location</name>
       		 <value>/home/hadoop/test/hive-3.1.2/iotmp/operation_logs</value>
        		<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
     	 </property>
    
     	<property>
        		<name>hive.querylog.location</name>
       		<value>/home/hadoop/test/hive-3.1.2/iotmp</value>
        		<description>Location of Hive run time structured log file</description>
     	 </property>
    
    6、数据库的相关配置

    同样修改 hive-site.xml 中的以下几项,数据库jdbc地址,value标签内修改为主机ip地址

     	 <property>
       		 <name>javax.jdo.option.ConnectionURL</name>
        		<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
        		<description>
          		JDBC connect string for a JDBC metastore.
          		To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
         		 For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
        		</description>
     	 </property>
    

    这里jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true 中的 localhost 要看自己的数据库的 user 和 host,打开数据库,执行以下命令即可看到:

    mysql> select user,host from mysql.user;
    

    修改数据库的驱动类名称

    <property>
        		<name>javax.jdo.option.ConnectionDriverName</name>
       		<value>com.mysql.jdbc.Driver</value>
        		<description>Driver class name for a JDBC metastore</description>
      	</property>
    

    修改数据库用户名:切记要和自己的对应,用户名再前面已经查看了,我的是 root,所以这里就写root。

    <property>
       		<name>javax.jdo.option.ConnectionUserName</name>
        		<value>root</value>
        		<description>Username to use against metastore database</description>
      	</property>
    

    修改数据库密码:自己数据库的密码

    <property>
        		<name>javax.jdo.option.ConnectionPassword</name>
        		<value>数据库密码</value>
        		<description>password to use against metastore database</description>
      	</property>
    
    7、配置hive-log4j2.properties

    进入/home/hadoop/test/hive-3.1.2/conf目录,创建hive-log4j2.properties文件

    cp hive-log4j2.properties.template hive-log4j2.properties
    

    用vi编辑器打开,编辑:

    vi hive-log4j2.properties   # 打开文件
    

    修改内容

    property.hive.log.dir = /home/hadoop/test/hive-3.1.2/iotmp
    
    8、配置hive-env.sh文件

    进入/home/hadoop/test/hive-3.1.2/conf目录,创建 hive-env.sh文件

    cp hive-env.sh.template hive-env.sh
    vi hive-env.sh
    

    添加以下内容,没有的要添加

    export JAVA_HOME=/home/hadoop/test/jdk1.8.0_241
    export HADOOP_HOME=/home/hadoop/test/hadoop-3.1.2
    export HIVE_HOME=/home/hadoop/test/hive-3.1.2
    export HIVE_CONF_DIR=$HIVE_HOME/conf
    export HIVE_AUX_JARS_PATH=/home/hadoop/test/hive-3.1.2/lib
    
    9、下载数据库驱动:

    这里我放入的是这个:mysql-connector-java-5.1.28-bin.jar ,将下好的文件解压后上传到Hive的lib文件夹下。

    三、启动 Hive
    1、进入hive的bin目录,进行初始化:
    schematool -dbType mysql -initSchema
    

    出现“schemaTool completed”信息代表初始化成功。如果出现错误,看错误的描述定位原因,可能出现的错误是在hive-site.xml文件的有特殊字符,删除掉for&#8即可

      <description>
         	 Ensures commands with OVERWRITE (such as INSERT OVERWRITE) acquire Exclusive locks for&#8;transactional tables.  This ensures that inserts (w/o overwrite) running concurrently
          	are not hidden by the INSERT OVERWRITE.
        </description>
    

    然后再执行初始化命令即可。

    2、启动 hive

    启动hive,出现 hive>,输入show functions;

    hive> show functions;
    

    出现以下信息,说明 hive 安装成功。

    OK
    !
    !=
    $sum0
    %
    &
    *
    +
    -
    /
    <
    <=
    <=>
    <>
    =
    ........
    
  • 相关阅读:
    服务器端事件发送SSE
    Mybatis generator代码生成
    如何靠谱地查到Tomcat的版本
    java自动生成代码
    Java读取excel(兼容03和07格式)
    常见的NoSQL数据库
    任务五 通用类问题相关度计算实现
    任务四 娱乐相关节目和娱乐人物关系代码整理
    任务三 非人物分析判断
    任务二 人物类与娱乐类关联优化分析
  • 原文地址:https://www.cnblogs.com/weyanxy/p/12832122.html
Copyright © 2011-2022 走看看