Hive数据仓库的搭建

Hive数据仓库的搭建

实验中我们选用hive的远程模式,slave2安装mysql server用于存放元数据,slave1作 为hive,server作为thrift 服务器,master作为client

一、开启zookeeper

二、开启hadoop

三、Slave2上安装mysql server

1.安装MySQL:

yum -y install mysql-community-server

2.启动服务

重载所有修改过的配置文件:systemctl daemon-reload
开启服务:systemctl start mysqld 
开机自启:systemctl enable mysqld

3.安装完毕后,MySQL会在/var/log/mysqld.log这个文件中会自动生成一 个随机的密码,获取得这个随机密码,以用于登录MySQL数据库:

获取初密码: grep "temporary password" /var/log/mysqld.log
登陆MySQL:mysql -uroot -p(注意中英文)

4.MySQL密码安全策略设置:

设置密码强度为低级:set global validate_password_policy=0; 
设置密码长度:set global validate_password_length=4; 
修改本地密码:alter user 'root'@'localhost' identified by '123456'; 
退出:\q
  1. 设置远程登录
以新密码登陆MySQL:mysql -uroot -p123456 
创建root用户:create user 'root'@'%' identified by '123456'; 
添加远程登录用户:grant all privileges on *.* to 'root'@'%' with grant option;
刷新权限:flush privileges;

四、master、slave1上创建工作路径,解压hive

1.首先我们需要创建工作路径,并将hive解压。环境中master作为客户 端,slave1作为服务器端,因此都需要使用到hive。因为hive相关安装包存放在 master中,因此我们先在master中对hive进行解压,然后将其复制到slave1 中。
master中操作如下:

tar -zxvf /opt/soft/apache-hive-2.1.1-bin.tar.gz -C /usr/hive/

2.同样slave1上建立文件夹/usr/hive,master中将安装包远程复制到 slave1。

scp -r /usr/hive/apache-hive-2.1.1-bin root@slave1:/usr/hive/

3.修改/etc/profile文件设置hive环境变量。(master和slave1都执行)

vim /etc/profile

#set hive
export HIVE_HOME=/usr/hive/apache‐hive‐2.1.1‐bin
export PATH= P A T H : PATH: PATH:HIVE_HOME/bin

4.生效环境变量:

source /etc/profile

五、slave1作为hive server,进行配置

1.因为服务器端需要和Mysql通信,所以服务器端需要Mysql的lib安装包到 Hive_Home/conf目录下。 注意:mysql.jar放在slave2中的/lib目录下,需要将其远程复制到slave1的 hive的lib中。
首先slave2中进行如下操作:

查看lib:ls /lib 
远程复制依赖包到slave1:scp /lib/mysql-connector-java-5.1.5-bin.jar root@slave1:/usr/hive/apache-hive-2.1.1-bin/lib

2.回到slave1,修改hive-env.sh文件中HADOOP_HOME环境变量。进入 hive配置目录,因为hive中已经给出配置文件的范本hive-env.sh.template,直 接将其复制一个进行修改即可:

cd $HIVE_HOME/conf 
ls
cp hive-env.sh.template hive-env.sh 
vim hive-env.sh

hive-env.sh文件中修改HADOOP_HOME环境变量,内容如下:

HADOOP_HOME=/usr/hadoop/hadoop-2.7.3

3.修改hive-site.xml文件

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</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> 21 </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>

六、master作为客户端,进行配置

1.解决版本冲突和jar包依赖问题。
由于客户端需要和Hadoop通信,所以需要更改Hadoop中jline的版本。即 保留一个高版本的jline jar包,从hive的lib包中拷贝到Hadoop中lib位置 为/usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib。

cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/

2.修改hive-env.sh中HADOOP_HOME环境变量:
3.修改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>

七、启动hive

1.slave1作为服务器端,开启hive server。

bin/hive --service metastore

2.master作为客户端,启动hive。

bin/hive

3.测试hive是否启动成功:
hive>show databases;

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值