一、Hive集群搭建
1.环境中已经安装mysql-community-server,关闭mysql开机自启服务
操作环境:slave2
systemctl disable mysqld.service
2.开启MySQL服务
操作环境:slave2
启动mysql服务:systemctl start mysqld.service
查看mysql服务:systemctl status mysqld.service
3.判断mysqld.log日志下是否生成初临时密码
操作环境:slave2
grep "temporary password" /var/log/mysqld.log
4.设置mysql数据库本地root用户密码为123456
操作环境:slave2
mysql -uroot -p
设置密码强度为低级:set global validate_password_policy=0;
设置密码长度:set global validate_password_length=4;
修改本地密码:alter user 'root'@'localhost' identified by '123456';
退出:exit
mysql -uroot -p123456根据要求满足任意主机节点root的远程访问权限(否则后续hive无法连接mysql);
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
注意刷新权限
flush privileges;
二、Hive相关操作:
1.将Hive安装包解压到指定路径/usr/hive(安装包存放于/usr/package277/)
操作环境:master、slave1
mkdir -p /usr/hive
cd /usr/package277/
tar -zxvf apache-hive-2.3.4-bin.tar.gz -C /usr/hive/
2.配置环境变量HIVE_HOME,将Hive安装路径中的bin目录加入PATH系统变量,注意生效变量
操作环境:master、slave1
vim /etc/profile
export HIVE_HOME=/usr/hive/apache-hive-2.3.4-bin
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
hive --version
3.修改HIVE运行环境,配置Hadoop安装路径HADOOP_HOME
操作环境:master、slave1
4.修改HIVE运行环境,配置Hive配置文件存放路径HIVE_CONF_DIR
操作环境:master、slave1
5.修改HIVE运行环境,配置Hive运行资源库路径HIVE_AUX_JARS_PATH
操作环境:master、slave1
[root@master conf]# cp hive-env.sh.template hive-env.sh
[root@master conf]# vim hive-env.shSet HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.7
Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/hive/apache-hive-2.3.4-bin/conf
Folder containing extra libraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/usr/hive/apache-hive-2.3.4-bin/lib
远程复制,分发给slave1:
scp -r /usr/hive root@slave1:/usr/
scp /etc/profile root@slave1:/etc/
source /etc/profile # slave1
6.解决jline的版本冲突,将$HIVE_HOME/lib/jline-2.12.jar同步至$HADOOP_HOME/share/hadoop/yarn/lib/下
操作环境:master、slave1
两个节点分别进行操作
cp $HIVE_HOME/lib/jline-2.12.jar $HADOOP_HOME/share/hadoop/yarn/lib/
三、相关操作
1.驱动JDBC拷贝至hive安装目录对应lib下(依赖包存放于/usr/package277/)
操作环境:slave1
cp /usr/package277/mysql-connector-java-5.1.47-bin.jar $HIVE_HOME/lib
2.配置元数据数据存储位置为/user/hive_remote/warehouse
操作环境:slave1
3.配置数据库连接为MySQL
操作环境:slave1
4.配置连接JDBC的URL地址主机名及默认端口号3306,数据库为hive,如不存在自行创建,ssl连接方式为false
操作环境:slave1
5.配置数据库连接用户
操作环境:slave1
6.配置数据库连接密码
操作环境:slave1
vim /usr/hive/apache-hive-2.3.4-bin/conf/hive-site.xml
<configuration>
<!-- Hive产生的元数据存放位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
<!-- 数据库连接driver,即MySQL驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- 数据库连接JDBC的URL地址-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&useSSL=false</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>
</configuration>
四、配置操作
1.配置元数据存储位置为/user/hive_remote/warehouse
操作环境:master
2.关闭本地metastore模式
操作环境:master
3.配置指向metastore服务的主机为slave1,端口为9083
操作环境:master
vim /usr/hive/apache-hive-2.3.4-bin/conf/hive-site.xml
<configuration>
<!-- Hive产生的元数据存放位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
<!--- 使用本地服务连接Hive,默认为true-->
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<!-- 连接服务器-->
<property>
<name>hive.metastore.uris</name>
<value>thrift://slave1:9083</value>
</property>
</configuration>
4.服务器端初始化数据库,启动metastore服务
操作环境:slave1
初始化数据库
schematool -dbType mysql -initSchema
启动metastore服务
nohup hive --service metastore &
5.客户端开启进入hive,创建hive数据库
操作环境:master
进入Hive客户端
hive
create database hive;
show databases;
版权归原作者 小伍_Five 所有, 如有侵权,请联系我们删除。