一、思路
1.安装hadoop集群。我这里使用的是自己编译的2.7.6
2.元数据使用mysql作为技术支撑
3.配置hive参数分发至各个节点
4.hive服务端启动
5.各个节点hive客户端访问
二、mysql的安装
rpm -q mysql-server //检查是否安装mysql
yum install -y mysql-server //yum安装
service mysqld start //启动mysql
chkconfig mysqld on //开机启动mysql
# mysql -uroot //进入mysql
mysql>create database if not exists hive_metadata;
mysql>grant all privileges on hive_metadata.* to 'root'@'master' identified by '123456';
mysql>grant all privileges on hive_metadata.* to 'root'@'slave1' identified by '123456';
mysql>grant all privileges on hive_metadata.* to 'root'@'slave2' identified by '123456';
mysql>grant all privileges on hive_metadata.* to 'root'@'slave3' identified by '123456';
mysql>flush privileges; //刷盘生效
mysql>quit;//退出
# yum install -y mysql-connector-java //安装mysql-connector-java
# cp /usr/share/java/mysql-connector-java-5.1.17.jar /opt/module/apache-hive-2.3.3-bin/lib //将mysql connector拷贝到hive的lib包中
三、配置hive
# cd /opt/module/apache-hive-2.3.3-bin/conf
# cp -a hive-default.xml.template hive-site.xml
# vim hive-site.xml
搜索以下参数修改
端口默认3306
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive_metadata?createDatabaseIfNotExist=true </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>
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:9083</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
cp -a hive-env.sh.template hive-env.sh
vim hive-env.sh
/etc/profile 这个文件 记得配置一下 hive_home 环境变量
启动hadoop集群
hadoop fs -mkdir /tmp
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod -R 777 /tmp
hadoop fs -chmod -R 777 /user
三、分发配置
像hadoop一样分发配置
所有机器 都在同一目录下
scp hive 这个目录 到所有 奴隶机 的目录
分发完 hive文件
分发配置文件
各个机器 source 使配置生效
四、初始化元数据
在其中一台机器上执行(我选择 当时 安装mysql 以及 hive 的机器。并非分发的奴隶机)
schematool -initSchema -dbType mysql
等待初始化完成
hive --service metastore & //后台运行
五、运行hive
在其他任意节点上 输入hive
hive>show databases;
创建 create database test;
在 另一个机器上 输入hive
查看刚刚建的数据库是否存在