安装数据库(操作环境: slave2)
1.环境中已经安装mysql-community-server,关闭mysql开机自启服务
//判断是否安装mysql-community-server
rpm -aq | grep mysql-community-server
//关闭mysql开机自启服务
systemctl disable mysqld
//判断是否开启
systemctl status mysqld
//开启MySQL服务
systemctl start mysqld
grep “temporary password” /var/log/mysqld.log
1、登录mysql
mysql -uroot -p
输入刚刚生成的临时密码
2、设置密码强度为低级
set global validate_password_policy=0;
3、设置密码长度为6
set global validate_password_length=6;
4、修改本地密码
alter user'root'@'localhost'identified by '123456';
5、设置满足任意主机节点root的远程访问权限(否则后续hive无法连接mysql)
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
6、刷新权限
flush privileges;
1.将Hive安装包解压到指定路径/usr/hive(安装包存放于/usr/package277)
//新建文件夹
mkdir -p /usr/hive
//解压到指定路径
tar -zxvf /usr/package277/apache-hive-2.3.4-bin.tar.gz -C /usr/hive/
2. 文件/etc/profile中配置环境变量HIVE_HOME,将Hlve安装路径中的bin目录加入PATH系统变量,注意生效变量
vi /etc/profile
加入:
#hive
export HIVE_HOME=/usr/hive/apache-hive-2.3.4-bin
export PATH=$PATH:$HIVE_HOME/bin
使文件生效
source /etc/profile
3.修改HIVE运行环境,配置Hadoop安装路径HADOOP_HOME
4.修改HIVE运行环境,配置Hive配置文件存放路径HIVE_CONF_DIR
5.修改HIVE运行环境,配置Hive运行资源库路径HIVE_AUX_JARS_PATH
cd /usr/hive/apache-hive-2.3.4-bin/conf/
mv hive-env.sh.template hive-env.sh
<!---Hadoop安装路径HADOOP_HOME-->
echo “export HADOOP_HOME=/usr/hadoop/hadoop-2.7.7
<!---文件存放路径HIVE_CONF_DIR-->
export HIVE_CONF_DIR=/usr/hive/apache-hive-2.3.4-bin/conf
<!---运行资源库路径HIVE_AUX_JARS_PATH-->
export HIVE_AUX_JARS_PATH=/usr/hive/apache-hive-2.3.4-bin/lib” >> hive-env.sh
6.解决jline的版本冲突,将$ HIVE_HOME/lib/jline-2.12.jar同步至$HADOOP_HOME/share/hadoop/yarn/lib/下
cp /usr/hive/apache-hive-2.3.4-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.7/share/hadoop/yarn/lib/
1.驱动JDBC拷贝至hive安装目录对应lib下(依赖包存放于/usr/package277/)
cp /usr/package277/mysql-connector-java-5.1.47-bin.jar /usr/hive/apache-hive-2.3.4-bin/lib/
2.配置元数据数据存储位置为/user/hive_remote/warehouse
4.配置连接JDBC的URL地址主机名及默认端口号3306,数据库为hive,如不存在自行创建,ssl连接方式为false
vim hive-site.xml
插入:
<configuration>
<!--Hive产生的元数据存放位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
<!--数据库连接JDBC的URL地址-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!--数据库连接driver,即MySQL驱动-->
<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.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateALL</name>
<value>true</value>
</property>
</configuration>
1.配置元数据存储位置为/user/hive_remote/warehouse
3.配置指向metastore服务的主机为slave1,端口号为9083
vim 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>
1.服务器初始化数据库,启动metastore服务(操作环境:slave1)
schematool -dbType mysql -initSchema
2.客户端开启进入hive,创建hive数据库(操作环境:master)
bin/hive --service metastore &
bin/hive
create database hive;
每次启动hive前要先启动hadoop集群
在master上操作
cd /usr/hadoop/hadoop-2.7.7
start-dfs.sh
start-yarn.sh
slave1上执行,初始化数据库
schematool -dbType mysql -initSchema
出现以下界面则为初始化成功
slave1上执行
cd /usr/hive/apache-hive-2.3.4-bin
bin/hive --service metastore
出现以下界面则为成功
master上执行
cd /usr/hive/apache-hive-2.3.4-bin
bin/hive