starstrrys

hive搭建与简单使用(1)

标签(空格分隔): 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安装参考了博客:https://www.cnblogs.com/clsn/p/8025324.html

注意事项

我的路径放在了/root/下,你要根据自己的情况去修改下面的操作
操作系统是centos7

详细搭建步骤

1.mysql的安装

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

2.hive的安装

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搭建完成,本代码已经过实验,请放心使用,但还是需要根据情况做适当修改

新手上路,错误在所难免,恳请大家多多指正

分类:

技术点:

相关文章: