目录
第一次启动mysql,会在日志文件中生成root用户的一个随机密码,使用下面命令查看密码:
如果你想设置简单密码,需要设置mysql密码安全级别:(进入mysql中实行)
在core-site.xml 添加;并分发,且重启hdfs集群
将下载好的驱动包jar包,放入:hive安装文件夹的lib目录内:
在hive的conf内,新建hive-env.sh文件,填入:
在hive的conf内,新建hive-site.xml文件,填入:
启动客户端,二选一当前先选择hive shell 方式:(别忘了开集群)
Hive ThriftServer 方式(不可直接sql,需要外部客户端链接使用):
步骤一:安装mysql
更新秘钥:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
安装mysql yum库:
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
yum 安装mysql:
yum -y install mysql-community-server
启动mysql设置开机启动:
systemctl start mysqld
systemctl enable mysqld
检查mysql服务状态:
systemctl status mysqld
第一次启动mysql,会在日志文件中生成root用户的一个随机密码,使用下面命令查看密码:
grep 'temporary password' /var/log/mysqld.log
如果你想设置简单密码,需要设置mysql密码安全级别:(进入mysql中实行)
set global validate_password_policy=LOW; #密码安全级别低
set global validate_password_length=; #密码长度最低四位即可
然后就可以简单密码了:(进入mysql中实行)
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
grant all privileges on *.* to root@"%" identified by '密码' with grant option;
#刷新权限
flush privileges;
步骤二:配置hadoop:
在core-site.xml 添加;并分发,且重启hdfs集群
表示允许root用户代理
<property>
<name>hadoop.proxyuesr.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
步骤三:下载解压hive:
1:先导hive的包;可以用以有的安装包或者从下面下载:
http://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
2:用tar解压;
tar -zxvf apache-hive-3.1.3-bin.tar.fz -C /opt/module/
3:用mv将hive-3.1.3移到hive里;
mv apache-hive-3.1.3 /opt/module/hive
步骤四:下载mysql驱动包
https://repo1.mzven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar
将下载好的驱动包jar包,放入:hive安装文件夹的lib目录内:
mv mysql-connector-java-5.1.34.jar /opt/module/hive/lib
步骤五:配置hive
在hive的conf内,新建hive-env.sh文件,填入:
export HADOOP_HOME=/opt/module/hadoop
export HIVE_CONF_DIR=/opt/module/hive/conf
export HIVE_AUX_JARS_PATH=/opt/module/server/hive/lib
在hive的conf内,新建hive-site.xml文件,填入:
<configuration>
#mysql的链接
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hivecreateDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
#mysql的账号
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
#mysql的密码
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>master</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:9083</value>
</property>
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
</configuration>
步骤六:初始化元数据库:
在mysql执行:
创建hive数据库:
create database hive charset UTF8;
执行元数据库初始化命令:
cd /opt/module/hive
schematool可以初始化:
cd bin/schematool -initSchema -dbType mysql -verbos
初始化错误一般是配置文件出了问题!!!
或者是:
初始化元数据库(默认是derby数据库)
bin/schematool -dbType derby -initSchema
报以下错误:
原因是hadoop和hive的两个guava.jar版本不一致,两个jar位置分别位于下面两个目录:
/export/servers/hive/lib/guava-19.0.jar
/export/servers/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar
解决办法是删除低版本的那个,将高版本的复制到低版本目录下。
cd /export/servers/hive/lib
rm -f guava-19.0.jar
cp /export/servers/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar .
再次运行schematool -dbType derby -initSchema,即可成功初始化元数据库。
步骤七:启动Hive:
创建一个hive的日志文件夹:
mkdir /opt/module/hive/logs
启动元数据管理服务(必须启动,不然无法工作):
前台启动:
bin/hive --service metastore
后台启动:
nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &
启动客户端,二选一当前先选择hive shell 方式:(别忘了开集群)
Hive Shell方式(可以直接写sql):
bin/hive
Hive ThriftServer 方式(不可直接sql,需要外部客户端链接使用):
bin/hive --service hiveserver2