任务概述: 将mysql数据库安装到slave1上,以slave2 为hive服务器, 以master为hive的客户端进行连接服务器
1. 安装数据库
1.1 安装数据库
yum install mysql-community-server
1.1开启服务
systemctl start mysqld systemctl status mysql # 查看状态
1.3 查看密码: vim /var/log/mysqld.log
1.4 登陆后修改密码:
set global validate_password_policy=0; set global validate_password_length=4; flush privileges; alter user root @localhost identified by “新密码:123456” 或者 set password =password(“新密码”)
2.slave1和master安装hive
下面的操作都是在master和slave1两个节点都要进行的操作
2.1 解压安装hive 2.2 配置HIVE_HOME环境变量 2.3 配置HIVE运行环境 hive-env.sh : 注hadoop路径和hive路径是区别的,细心点别写错
#配置Hadoop安装路径 export HADOOP_HOME=???? #配置Hive配置文件存放路径为conf export HIVE_CONF_DIR=???? #配置Hive运行资源库路径为lib export HIVE_AUX_JARS_PATH=????
2.4 解决hadoop和hive 的 jline jar包冲突问题,将hive/lib 下的高版本移动到hadoop/share/yarn/lib/ 下 具体操作(3台节点):
cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/
3.配置slave1 HIVE服务器
作为hive服务器肯定是要与mysql进行通信的
3.1 拷贝mysql 驱动包到 hive/lib下 3.2 修改数据存放目录 hive-site.xml
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
3.3 配置mysql 连接驱动 hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
4. 配置master上的hive客户端
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://slave1:9083</value>
</property>
</configuration>
5. 初始化HIVE
解决:
- 先查看是否有连接数据库的权限,没有的话给权限
- 查看是否已经有该数据库,有的话删除
- 将hive目录下的 metastore_db删除
- 重新初始化 bin/schematool -dbType mysql -initScheam
- 开启slave1 的metastore: bin/hive --service metastore
- hive服务器不需要初始化,可以直接启动客户端 bin/hive
|