Linux下安装hive1.2.1+mysql5.1.7

Linux下安装hive1.2.1+mysql5.1.7

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yuechu4492/article/details/80171276

前提环境:


已安装hadoop和yarn,并配置了环境变量

mysql

先检查有没有mysql的安装包

rpm -aq |grep mysql

删除该依赖包

sudo rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64

安装

mysql客户端

sudo yum install mysql

mysql服务

sudo yum install -y mysql-server

启动

sudo service mysqld server

设置root用户密码

当重启mysql服务上面会有类似如下的提示,提示我们怎么设置mysql用户名和密码

mysqladmin -u root password '123456'

这里我测试了用自己设置的密码登录,看是否能进入,如图进入了,表示设置正确

设置开机启动

sudo chkconfig mysqld on

这里我查看了mysql是否开机启动,其中2,3,4,5为on则表示开机启动

配置用户的访问权限

添加权限

先进入mysql

mysql  -u root -p

 

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你设置的密码' WITH GRANT OPTION;

补充:

显示数据库名:注意databases后面加;

删除其他的授权

先查看有哪些授权

SELECT User, Host, Password FROM mysql.user;

画红线的是我们刚刚添加的授权,我们等下要删除的是上面四个

 

分别删除其他的授权

  1.  
    delete from mysql.user where Host='localhost';
  2.  
     
  3.  
    delete from mysql.user where Host='bigdata-hpsk01.huadian.com' ;
  4.  
     
  5.  
    delete from mysql.user where Host='127.0.0.1';
  6.  
     
  7.  
    delete from mysql.user where Host='bigdata-hpsk01.huadian.com';

刷新权限

flush privileges;


重启服务

 sudo service mysqld restart

远程连接

我用的是Navicat,之所以可以远程连接,是有在Windows下配置过ip与主机名的映射,这里不详细说。

Hive 安装+环境变量配置

开启hadoop的相关进程

  1.  
    sbin/hadoop-daemon.sh start namenode
  2.  
     
  3.  
    sbin/hadoop-daemon.sh start datanode
  4.  
     
  5.  
    sbin/yarn-daemon.sh start resourcemanager
  6.  
     
  7.  
    sbin/yarn-daemon.sh start nodemanager
  8.  
     
  9.  
    sbin/mr-jobhistory-daemon.sh start historyserver

检查进程

安装hive1.2.1 

到该路径下找hive对应的版本号:http://archive.apache.org/dist/

解压,重命名

 

tar -zxvf apache-hive-1.2.1-bin.tar.gz  -C /opt/modules/
mv apache-hive-1.2.1-bin/  hive-1.2.1

 

配置*.env.sh文件中的环境变量

复制hive-env.sh.tmplate文件重命名为hive-env.sh

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

修改hive-env.sh里面的配置,将下面两行的注释去掉,路径换成自己hadoop和conf的路径


 

修改环境变量文件

sudo vi /etc/profile

  在最下面添加如下配置

  1.  
    # HIVE HOME
  2.  
    export HIVE_HOME=/opt/modules/hive-1.2.1
  3.  
    export PATH=${PATH}:$HIVE_HOME/bin:$HIVE_HOME/conf

使配置文件生效

source /etc/profile

启动hive

到hive的安装目录下执行下面命令

bin/hive

如图,进入到了hive内

基本使用

到hive官网:http://hive.apache.org/查看官方文档

创建文件夹

到该https://cwiki.apache.org/confluence/display/Hive/GettingStarted路径下,看到如下图:

红框前面的命令都比较老了,我们注意的是红框内的

到hadoop的安装路径分别执行以下命令:

  1.  
    bin/hdfs dfs -mkdir /tmp
  2.  
     
  3.  
    bin/hdfs dfs -mkdir -p /user/hive/warehouse
  4.  
     
  5.  
    bin/hdfs dfs -chmod g+w /tmp
  6.  
     
  7.  
    bin/hdfs dfs -chmod g+w /user/hive/warehouse

打开http://bigdata-hpsk01.huadian.com:50070/,到Utilities下可以看到我们刚刚创建的文件夹

创建数据库

创建表

  1.  
    create table db_hive.tb_word(
  2.  
    id INT,
  3.  
    word STRING)
  4.  
    ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' //字段之间以“\t”分隔

导入数据

源文件内容:

LOAD DATA LOCAL INPATH '/opt/modules/hadoop-2.7.3/data/word.data' INTO TABLE db_hive.tb_word 

实现业务

select word,count(word) from db_hive.tb_word group by word

更改Derby默认数据库为mysql

在conf目录下新建hive.site.xml

touch hive-site.xml

将hive-default.xml.template里面的约束复制到hive-default.xml内

  1.  
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2.  
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

到https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties找配置文件中需要添加的属性

  1.  
    <configuration>
  2.  
     
  3.  
    <property>
  4.  
    <name>javax.jdo.option.ConnectionURL</name>
  5.  
    <value>jdbc:mysql://bigdata-hpsk01.huadian.com/metaStore?createDatabaseIfNotExist=true</value>
  6.  
    </property>
  7.  
     
  8.  
    <property>
  9.  
    <name>javax.jdo.option.ConnectionDriverName</name>
  10.  
    <value>com.mysql.jdbc.Driver</value>
  11.  
    </property>
  12.  
     
  13.  
    <property>
  14.  
    <name>javax.jdo.option.ConnectionUserName</name>
  15.  
    <value>root</value>
  16.  
    </property>
  17.  
     
  18.  
    <property>
  19.  
    <name>javax.jdo.option.ConnectionPassword</name>
  20.  
    <value>123456</value>
  21.  
    </property>
  22.  
     
  23.  
     
  24.  
     
  25.  
    </configuration>

删除文件/文件夹

删除红框内的文件/文件夹

rm derby.log
rm -rf metastore_db

导包

将mysql-connector-java-5.1.7-bin.jar驱动包导入到hive的lib内

测试

重新进入hive

方法一:多了个数据库

方法二:可同时登陆多个hive会话

方法三:Derby.log he metastore_db不存在与hive安装目录下

PS:如果出现如下错误

Linux下连接Mysql出现:Access denied for user 'root'@'localhost' (using password:YES)

参考:https://blog.csdn.net/money9sun/article/details/52290396

posted @ 2019-10-27 22:20  邵德强  阅读(481)  评论(0编辑  收藏  举报