集群:hadoop-ha高可用集群
hive版本:hive-2.3.7
mysql版本:mysql-5.6.24
解压后在conf下更改hive-env配置文件
加入hadoop和hive的conf地址
export HADOOP_HOME=/root/bigdata/hadoop/hadoop-3.1.2
export HIVE_CONF_DIR=/root/bigdata/hive/apache-hive-2.3.7-bin/conf
直接从官网下载的jdbc,client,service文件
首先用rpm -ivh命令安装客户端和MySQL服务
rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
开启mysql服务
service mysql start
安装client
rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
首先使用cat /root/.mysql_secret命令查看初始化的随机密码,用这个密码登录mysql
然后更改密码为你的密码
>SET PASSWORD=PASSWORD('123456');
是用新密码登录一下mysql没问题就好
mysql -uroot -p123456
在mysql的默认数据库中有一个mysql库,里面的user表记录了一些配置信息,我们需要修改这个表中数据以达到无主机登录的目的
首先查看表结构
use mysql;
select user,host,password from user;
你会发现四行数据,其中我们需要将host更改为‘%’,即赋予最高权限
update user set host='%' where host='localhost';
然后删除三行内容
delete from user where Host='masternode';
delete from user where Host='127.0.0.1';
delete from user where Host='::1';
注意: 这里的masternode是你的主机名
flush privileges;
解压mysql-connector-java-5.1.27
里面有一个jar包,我们需要移动到hive/lib目录下
cp mysql-connector-java-5.1.27-bin.jar /root/bigdata/hive/hive/lib/
在hive/conf中是没用这个配置信息的,需要我们用手打一个
vim hive-site.xml
插入以下配置信息
"1.0"?>
-stylesheet type="text/xsl" href="configuration.xsl"?>
javax.jdo.option.ConnectionURL</name>
jdbc:mysql://masternode:3306/metastore?createDatabaseIfNotExist=true</value>
JDBC connect string for a JDBCmetastore</description>
</property>
javax.jdo.option.ConnectionDriverName</name>
com.mysql.jdbc.Driver</value>
Driver class name for a JDBCmetastore</description>
</property>
javax.jdo.option.ConnectionUserName</name>
root</value>
username to use against metastoredatabase</description>
</property>
javax.jdo.option.ConnectionPassword</name>
passward</value>
password to use against metastoredatabase</description>
</property>
</configuration>
在hive的bin目录下使用初始化命令
schematool -dbType mysql -initSchema
网上好多资料写的是用derby数据库初始化,但是亲测derby数据库有问题,所以用mysql命令
如果在profile文件中配置了HIVE_HOME 那么直接敲hive便可直接启动hive