8.Hive数据仓库
1、数据仓库
master角色:hive客户端
slave1角色:hive服务端
slave2角色:安装MySQL
2、slave2角色:安装MySQL
1) 安装wget
yum -y install wget
(换网安装的时候遇到了提示yum,lock的情况)
rm -r /var/run/yum.pid
/sbin/service yum-updatesd restart
这样解决
2) 下载mysql的repo源
wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
3) rpm安装mysql的repo源
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
4) 安装mysql
yum install mysql-community-server
5) 查看安装的mysql的版本
mysql -V
6) 加载修改过的所有配置
systemctl daemon-reload
启动服务
systemctl start mysqld
开机就启动mysql
systemctl enable mysqld
7) 登录mysql
默认安装mysql,root有密码
查看mysql的root用户的密码:
grep "temporary password" /var/log/mysqld.log
修改密码
mysqladmin -u root -p password "新密码"
输入旧密码
登录mysql
mysql -uroot -p
输入你的密码
修改msyql的密码安全策略
set global validate_password_policy=0;
设置密码长度
set global validate_password_length=4;
修改root用户的密码
alter user 'root'@'localhost' identified by '123456';
8) 设置远程登录
创建远程登录用户
create user 'root'@'%' identified by '123456';
删除用户
drop user 'root'@'%';
授予权限
grant all privileges on *.* to 'root'@'%' with grant option;
刷新权限
flush privileges;
3、master和slave1都需要安装hive
slave1角色:hive服务端
1)创建安装目录
mkdir /usr/hive
2)解压
tar -xzvf apache-hive-2.1.1-bin.tar.gz -C /usr/hive/
3)复制到master角色
scp -r /usr/hive root@master:/usr/
4) 修改配置文件/etc/profile (master和slave1)
vi /etc/profile
#hive envirment
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=\$PATH:\$HIVE_HOME/bin
source /etc/profile
5)slave1 :hive服务器配置
a.将mysql的驱动程序复制到slave1的hive安装目录的lib目录中
cp /root/soft/mysql-connector-java-5.1.5-bin.jar /usr/hive/apache-hive-2.1.1-bin/lib/
b.修改配置文件hive-env.sh
cp /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh.template /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
设置HADOOP_HOME的值
HADOOP_HOME=/hadoop/hadoop-2.7.3
c.修改hive-site.xml
cd /usr/hive/apache-hive-2.1.1-bin/conf
// cp hive-default.xml.template hive-site.xml (好像不用这行了)
vi 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.ConnectionURI</name>
<value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true</value>
</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>
6)master:hive客户端配置
a) 版本冲突和jar包依赖问题
cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/
b) 修改hive-env.sh配置文件
cp /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh.template /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
vi /usr/hive/apache-hive-2.1.1-bin/conf/hive-env.sh
设置HADOOP_HOME的值
HADOOP_HOME=/hadoop/hadoop-2.7.3
c) 修改hive-site.xml文件
cd /usr/hive/apache-hive-2.1.1-bin/conf
// cp hive-default.xml.template hive-site.xml(好像不用这行了)
vi 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>
7)hive启动
在zookeeper、Hadoop、HBase启动之后
slave1(hive服务器端):
/usr/hive/apache-hive-2.1.1-bin/bin/hive --service metastore
master(hive客户端)
/usr/hive/apache-hive-2.1.1-bin/bin/hive
输入命令查看数据库:
show databases;
退出hive的客户端:quit;
退出hive的服务端:ctrl+z