mysql安装和hive安装

1 安装mysql

Linux下使用yum安装MySQL,以及启动、登录和远程访问MySQL数据库。

1、安装

查看有没有安装过:
	yum list installed mysql*
	rpm -qa | grep mysql*

查看有没有安装包:
	yum list mysql*

安装mysql客户端:
	yum install mysql

安装mysql 服务器端:
	yum install mysql-server
	yum install mysql-devel

2、启动&&停止

数据库字符集设置
	mysql配置文件/etc/my.cnf中加入default-character-set=utf8

启动mysql服务:
	service mysqld start或者/etc/init.d/mysqld start

开机启动:
	chkconfig -add mysqld,查看开机启动设置是否成功chkconfig --list | grep mysql*
	mysqld  0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

停止:
	service mysqld stop

3、登录

创建root管理员:mysqladmin -u root password 123456
登录:          mysql -u root -p  输入密码即可。

忘记密码:
	1)停止服务:     service mysqld stop	
	2)安全模式启动: mysqld_safe --user=root --skip-grant-tables
	3)登录数据库,修改用户即可:
		mysql -u root
		use mysql
		update user set password=password("new_pass") where user="root";
		flush privileges;
当安全模式启动后,屏幕会卡住,克隆会话后登录即可。

4、远程访问

开放防火墙的端口号

mysql增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。

update user set password=password('123456') where user='root'; 
flush privileges;

5、Linux MySQL的几个重要目录

数据库目录:        /var/lib/mysql/

配置文件:        /usr/share /mysql(mysql.server命令及配置文件)

相关命令:        /usr/bin(mysqladmin mysqldump等命令)

启动脚本:        /etc/rc.d/init.d/(启动脚本文件mysql的目录)

6.mysql只要留一个用户即可 mysql 数据库 user表中,其他的匿名用都删除。

localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9

2 Hive安装

Hive只在一个节点上安装即可

1.上传tar包

hive-0.9.0.tar.gz

2.解压

tar -zxvf hive-0.9.0.tar.gz -C /cloud/

3.安装mysql数据库

(切换到root用户)(装在哪里没有限制,只有能连通hadoop集群的节点)
mysql安装仅供参考,不同版本mysql有各自的安装流程
	rpm -qa | grep mysql
	rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
	rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm 
	rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm 
修改mysql的密码
/usr/bin/mysql_secure_installation
(注意:删除匿名用户,允许用户远程连接)
登陆mysql
mysql -u root -p

4.配置hive

(a)配置HIVE_HOME环境变量  vi conf/hive-env.sh 配置其中的$hadoop_home
(b)配置元数据库信息   vi  hive-site.xml (这个文件不存在要新增)
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://mini1:3306/hive?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>
</configuration>

5.安装hive和mysq完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下

mysql-connector-java-5.1.35.jar 这个包拷贝到lib目录

如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)
mysql -uroot -p
#(执行下面的语句  *.*:所有库下的所有表   %:任何IP地址或主机都可以连接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

注意删除匿名用户,新建用户重新授权,允许任何ip连接:
	delete from mysql.user where user='';
	select user,host,password  from mysql.user;
	insert into mysql.user(Host,User,Password) values("localhost","root",password("123456"));

6. Jline包版本不一致的问题,

需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的 
/home/hadoop/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar
-- 删除这个jar,把hive中的拷贝到这里。

6.1 启动hive

bin/hive

6.2 当做服务的方式启动

hive也可以启动为一个服务器,来对外提供

启动方式,(假如是在mini1上):
启动为前台:bin/hiveserver2
启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &

启动成功后,可以在别的节点上用beeline去连接

方式(1)
	输入:
		hive/bin/beeline  
	进入beeline的命令界面,输入命令连接:
		beeline> !connect jdbc:hive2://mini1:10000
		用户名输入root 密码为空,回车即可
	(mini1是hiveserver2所启动的那台主机名,端口默认是10000)
方式(2)
	或者启动就连接:
		bin/beeline -u jdbc:hive2://mini1:10000 -n root

接下来就可以做正常sql查询了

7.建表(默认是内部表)

create table trade_detail(id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by '\t';
建分区表
create table td_part(id bigint, account string, income double, expenses double, time string) partitioned by (logdate string) row format delimited fields terminated by '\t';
建外部表
create external table td_ext(id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by '\t' location '/td_ext';

8.创建分区表

普通表和分区表区别:有大量数据增加的需要建分区表
create table book (id bigint, name string) partitioned by (pubdate string) row format delimited fields terminated by '\t'; 

分区表加载数据
load data local inpath './book.txt' overwrite into table book partition (pubdate='2010-08-22');

load data local inpath '/root/data.am' into table beauty partition (nation="USA");


select nation, avg(size) from beauties group by nation order by avg(size);

9.hive笔记

1) 桶表 cluster 和 sort by 不能共存,cluster改成distributed by 即可;
2) 桶表不能直接load数据,只能通过查询另外一个表的方式进行overwrite;
3) 桶表在实际企业中的用途:抽样,高效查询;
4) 集合类型要指定collection terminated by '-',如果是map类型,要加may keys terminated by ':'
5) select * from t_3 不会走mapreduce, select count(*) from t_3则要走mapreduce;

10.hive笔记2

partition 表现为一个table下的不同目录
bucket 根据某个字段hash取值分散在不同的文件中
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值