标签(空格分隔): hive,mysql
hive相当于编译器的组件,他并不存储数据,元数据存储在mysql中,数据则存放在hdfs中,通过hive,可以利用sql语句对存储在hdfs的数据进行处理。
hadoop要搭建好(参考前面的文章)
mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
apache-hive-2.1.1-bin.tar.gz
mysql安装参考了博客:
我的路径放在了/root/下,你要根据自己的情况去修改下面的操作
操作系统是centos7
1.搭建mysql,mysql不需要在每台机子上都安装,只需要在namenode(主机)上安装就行了,如果确保高可用,还可以做一个主从复制。
2.将此压缩包放在/root/目录下,并执行解压命令:
tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz mv mysql-5.6.34-linux-glibc2.5-x86_64 mysql
3.创建一个不能登陆系统但是可以管理数据库存储目录的用户mysql:
cd mysql useradd -s /sbin/nologin -m mysql
4.对数据库存储目录进行授权:
chown -r mysql.mysql ./mysql/data/
5.初始化数据库:
./mysql/scripts/mysql_install_db --basedir=/root/mysql --datadir=/root/mysql/data --user=mysql ###备注:这一步可能会报错,是因为没有下载perl 和 perl-devel,用yum进行安装即可
6.将启动脚本放到启动目录中,并对两个文件中路径进行修改:
cp /root/mysql/support-files/mysql.server /etc/init.d/mysqld sed -i 's#/usr/local/mysql#/root/mysql#g' /root/mysql/bin/mysqld_safe sed -i 's#/usr/local/mysql#/root/mysql#g' /etc/init.d/mysql
7.将mysql自带的配置文件复制为/etc/my.cnf:
cp /root/mysql/support-files/my-default.cnf /etc/my.cnf
8.启动mysql,执行命令:
service mysqld start
9.设置root用户密码:
/root/mysql/bin/mysqladmin -u root password 'mysql123456'
10.登录mysql,执行命令:
/root/mysql/bin/mysql -uroot -pmysql123456
1.解压hive,采用的版本是apache-hive-2.1.1-bin.tar.gz
tar xf apache-hive-2.1.1-bin.tar.gz mv apache-hive-2.1.1-bin hive
2.添加到环境变量,在/etc/profile加上
export hive_home=/root/hive export hive_conf_dir=/root/hive/conf path=$path:$hive_home/bin #保存退出后,执行 source /etc/profile 让环境变量生效
3.启动hadoop
start-all.sh
4.利用hadoop创建一些必要的目录(配置文件要用到这些目录),并赋予权限
hadoop fs -mkdir -p /user/hive/warehouse hadoop fs -chmod -r 777 /user/hive/warehouse hadoop fs -mkdir -p /tmp/hive hadoop fs -chmod -r 777 /tmp/hive cd /root/hive mkdir tmp chmod 777 ./tmp
5.修改hive-env.sh
cp hive-env.sh.template hive-env.sh vi hive-env.sh #将下面三行写入这个配置文件,注意用自己的路径 hadoop_home=/root/hadoop-2.8.0 export hive_conf_dir=/root/hive/conf export hive_aux_jars_path=/root/hive/lib
6.修改hive-site.xml
cd /root/hive/conf cp hive-default.xml.template hive-site.xml #下面两个命令把配置文件中的两个变量进行全部替换 #这个/root/hive/tmp就是之前创建的 #这个root是我的用户名 sed -i ‘s#${system:java.io.tmpdir}#/root/hive/tmp#g’ hive-site.xml sed -i ‘s#${system:user.name}#root#g’ hive-site.xml
7.修改hive-site.xml中关于mysql的配置
将javax.jdo.option.connectiondrivername的值改成mysql驱动: com.mysql.jdbc.drive 将javax.jdo.option.connectionurl的值改成mysql连接路径: jdbc:mysql://localhost:3306/hive?createdatabaseifnotexist=true 将javax.jdo.option.connectionusername的值改成mysql用户名:root 将javax.jdo.option.connectionpassword的值改成mysql密码:mysql123456
8.下载mysql驱动包
cd /root/hive/lib wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
9.对mysql进行初始化
cd /root/hive/bin ./schematool -initschema -dbtype mysql
10.执行命令hive
,查看是否安装成功
至此,hive搭建完成,本代码已经过实验,请放心使用,但还是需要根据情况做适当修改
新手上路,错误在所难免,恳请大家多多指正
如对本文有疑问, 点击进行留言回复!!
去 HBase,Kylin on Parquet 性能表现如何?
如何找到Hive提交的SQL相对应的Yarn程序的applicationId
如何在 HBase Shell 命令行正常查看十六进制编码的中文?哈哈~
HBase Filter 过滤器之 Comparator 原理及源码学习
网友评论