在hadoop集群上安装hive和mysql

来源:互联网 发布:成都中科大cms漏洞 编辑:程序博客网 时间:2024/05/22 13:54
一:hive使用前提   
hive的运行要在hadoop集群上。hive相当于mapreduce的客户端。此外还需要mysql等数据库存储数据。所以依赖于hadoop,jdk.所以使用hive时,必须先启动hdfs。(因为只要其读取操作文件。hive的文件实际存储在hdfs上)
- 内嵌模式:元数据保持在内嵌的derby模式,只允许一个会话连接(默认 hive带的数据库)
- 本地独立模式:在本地安装Mysql,吧元数据放到mySql内
- 远程模式:元数据放置在远程的Mysql数据库
二:Hive的部署与安装
        1、解压Hive到安装目录
            $ tar -zxf /opt/softwares/hive-0.13.1-cdh5.3.6.tar.gz -C  /opt/modules/

        2、重命名配置文件
            $ mv hive-default.xml.template   hive-site.xml
            $ mv hive-env.sh.template     hive-env.sh

        3、在hive-env.sh 配置如下环境变量
            JAVA_HOME=/opt/modules/jdk1.8.0_121
            HADOOP_HOME=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/
            export HIVE_CONF_DIR=/opt/modules/cdh/hive-0.13.1-cdh5.3.6/conf

        4、在linux里安装Mysql
             1.$ su - root  。需要切换到root权限
             2.依次运行如下命令,从网络下载安装mysql服务端和客户端
            # yum -y install mysql  mysql-server  mysql-devel
            # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
            # rpm -ivh mysql-community-release-el7-5.noarch.rpm
            # yum -y install mysql-community-server
            尖叫提示:如果使用离线绿色版本(免安装版本)需要手动初始化Mysql数据库

        5、配置Mysql
            ** 开启Mysql服务
                # systemctl start mysqld.service
                
            ** 设置root用户密码
                # mysqladmin  -uroot  password '123456'
            ** 为用户以及其他机器节点授权
                 在mysql里面运行如下命令:
                grant all on *.* to root@'hadoop102' identified by '123456';

                grant:授权
                all:所有权限
                *.*:数据库名称.表名称
                root:操作mysql的用户
                @'':主机名
                密码:123456
                如果单独使用mysql -uroot -p123456可以登录mysql表明mysql安装成功
                 退出当前账户用 exit;   主要不要忽略了;

          6.关联mysql和hive.先配置修改hive里的hive-site.xml文件
            ** hive-site.xml

                <-远程用hive连接数据库,主要修改hive里的四个配置文件->
                <1.hadoop102连接mysql,并且在mysql里面创建metastore数据库。>
                <2.添加mysql驱动路径到hive中,前提是已在hive的lib目录下,上传了mysql连接驱动的jar包>
                <3和4是hive连接mysql数据库的账户和密码>

                <property>
                      <name>javax.jdo.option.ConnectionURL</name>
                     <value>jdbc:mysql://hadoop102:3306/metastore?createDatabaseIfNotExist=true</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>root</value>
                      <description>username to use against metastore database</description>
                </property>

                <property>
                      <name>javax.jdo.option.ConnectionPassword</name>
                      <value>123456</value>
                      <description>password to use against metastore database</description>
                </property>         
三:修改Hive日志信息
     重命名配置文件:hive-log4j.properties (选择性修改)  在/opt/modules/cdh/hive-0.13.1-cdh5.3.6/下  :
                    mkdir logs
                    hive.log.dir=/opt/modules/hive-0.13.1-cdh5.3.6/logs
            7 。 先驱动包,再把里面的解压拷贝数据库驱动包到Hive根目录下的lib文件夹
                $ cp -a mysql-connector-java-5.1.27-bin.jar    /opt/modules/cdh/hive-0.13.1-cdh5.3.6/lib/
             
            8. 启动Hive和测试是否安装成功
                 1.  $ bin/hive   出现下面字样则表示全部安装成功
             17/07/22 09:04:02 WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer   has any effect.  Use hive.hmshandler.retry.*  nstead Logging initialized using configuration in jar:file:/opt/modules/hive-0.13.1-cdh5.3.6/lib/hive-common-0.13.1-cdh5.3.6.jar!/hive-log4j.properties
             2.在登录的hive中输入show databases 如果成功,则表示hive成功搭建 退出hive用exit;