Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建五(Hive篇)
七、Hive安装配置1.准备工作2.安装hive全文请看:/tktttt/article/details/108578804
大数据集群搭建安装包:/download/tktttt/12879318
大数据集群搭建安装包2:/download/tktttt/12879355
七、Hive安装配置
1.准备工作
在前文基础上,继续安装MySQL
数据库包下载:官网地址
下载rpm类型安装包(注意版本选择),例如本文选择的:
MySQL下载安装可以参考此处:MySQL下载参考mysql-community-common-5.7.31-1.el7.x86_64.rpm
mysql-community-libs-5.7.31-1.el7.x86_64.rpm
mysql-community-client-5.7.31-1.el7.x86_64.rpm
mysql-community-server-5.7.31-1.el7.x86_64.rpm
卸载系统自带的mariadb-lib:
查看mariadb版本
rpm -qa|grep mariadb
卸载mariadb(改成自身的实际版本)
rpm -e mariadb-libs-5.5.65-2.el7.x86_64 --nodeps
安装MySQL:
mysql有依赖关系,安装顺序是 common、lib、client、server:
rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
安装完成后,启动mysql:systemctl start mysqld
设置:
查看安装时自动设置的初始密码:位置应该在/var/log/mysqld.log
之后通过初始密码登录MySQL:mysql -uroot -p初始密码
登录成功后会要求修改密码,按要求进行即可(此时要按其默认规则来),而为了设置简单的密码,如123456,之后要进行权限更改(可以查看下文参考链接),然后再修改密码为123456:
set password for root@localhost = password('123456'); // 设置root密码为123456;
此后再设置授权打开远程连接update user set host = '%' where user ='root'; //配置可远程登录
刷新授权flush privileges; //更新权限
之后重启MySQL服务systemctl restart mysqld
设置自启(可以不设置)systemctl enable mysqld
MySQL安装设置可以参考此处:MySQL设置参考
2.安装hive
到官网下载相应适配版本的hive安装包,本文选择的是:apache-hive-2.3.7-bin.tar.gz
上传到/usrlocal/hive目录下(自行创建的目录),之后解压:
tar -zxvf apache-hive-2.3.7-bin.tar.gz
配置环境变量
vi /etc/profile
#hiveexport HIVE_HOME=/usr/local/hive/apache-hive-2.3.7-binexport PATH=$PATH:$HIVE_HOME/bin #在path后添加即可
使之生效:source /etc/profile
配置完成可输入hive --version
查看版本
配置hive:
修改hive-env.sh文件
切换到/usr/local/hive/apache-hive-2.3.7-bin/conf目录下,若没有hive-env.sh,复制hive-env.sh.template 为 hive-env.sh:
cp hive-env.sh.template hive-env.sh #复制vi hive-env.sh #打开编辑
修改或添加:
HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.4 #hadoop路径export HIVE_CONF_DIR=/usr/local/hive/apache-hive-2.3.7-bin/conf #hive的conf路径export HIVE_AUX_JARS_PATH=/usr/local/hive/apache-hive-2.3.7-bin/lib #hive的jar包路径export JAVA_HOME=/usr/local/java/jdk1.8.0_261 #jdk安装路径
配置hive-site.xml
同目录下,初次解压发现hive-site.xml配置文件并没有,此时需要我们自己创建并配置hive-site.xml,复制hive-default.xml.template 为 hive-site.xml:
cp hive-default.xml.template hive-site.xml
编辑该文件vi hive-site.xml
,加入下述内容:
<property><name>hive.metastore.warehouse.dir</name><value>/opt/hive/warehouse</value></property><property><name>hive.metastore.local</name><value>true</value></property><!-- 元数据库的链接地址 mysql --><!-- 如果是远程mysql数据库的话需要在这里写入远程的IP或hosts --><!--配置mysql连接,如果没有hive_db库则新建--><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://192.168.88.129:3306/hive_db?createDatabaseIfNotExist=true</value> //数据库所在主机的IP</property><!--配置jdbc驱动--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><!--mysql用户名root--><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><!--配置mysql密码--><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value></property>
并搜索上述的每一项,将文件原有的每一项删除或者注释;
搜索derby,将含有该词的每一项都注释或者删除,注释里有的不算;
然后将配置文件中所有的${system:java.io.tmpdir}
更改为/usr/hive/tmp
(如果没有该文件则创建),并将此文件夹赋予读写权限,将${system:user.name}
更改为 实际用户root;
其他${...}
也适当删改;
保存退出
复制hive-exec-log4j2.properties.template 为 hive-exec-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
复制hive-log4j2.properties.template为hive-log4j2.properties
cp hive-log4j2.properties.template hive-log4j2.properties
下载mysql驱动(本文为mysql-connector-java-5.1.49-bin.jar
)放入/usr/local/hive/apache-hive-2.3.7-bin/lib
包中
初始化(第一次启动):
schematool -initSchema -dbType mysql
若最后有下面字样,则说明成功:
schemaTool completed
且查看MySQL数据库,可以发现其中创建了hive_db
库
启动:
要求:前面均已按六、启动hbase步骤启动了所有
hive
启动顺序:
#zookeeper#bin目录下./zkServer.sh start#hadoophadoop-daemon.sh start journalnodestart-all.sh(即:start-dfs.sh start-yarn.sh)#hbase#bin目录下 ./start-hbase.sh#hivehivenohup hiveserver2 2>/usr/data/hive/log/hiveserver2/hiveserver.err &nohup hive --service metastore 2>/usr/data/hive/log/metastore/metastore.err &nohup hiveserver2 >/usr/data/hive/log/hiveserver2/hiveserver.log &nohup hive --service metastore >/usr/data/hive/log/metastore/metastore.log &
关闭顺序:
#hivejps命令找到Runjar进程kill掉或ps -ef | grep hivekill -9 进程 #杀掉#hbase#bin目录下./stop-hbase.sh#hadoophadoop-daemon.sh stop journalnodestop-all.sh#zookeeper#bin目录下./zkServer.sh stop
测试hive:
hive #启动进入hiveshow databases; #展示所有数据库create database test_hive;#创建test_hive数据库show databases; #展示所有数据库use test_hive; #使用数据库test_hiveshow tables;#展示当前该数据库下所有数据表create table test_users(id int,name string); #创建test_users数据表show tables;#展示当前该数据库下所有数据表insert into test_users values(1,"aaa"); #插入数据select * from test_users; #查询test_users表所有数据
若是执行语句时,卡住不动,可以将所有服务停止,然后在Hadoop安装目录下的etc/hadoop目录下,修改yarn-site.xml,添加如下内容应当会有所缓解:
<property><name>yarn.scheduler.maximum-allocation-mb</name><value>2000</value></property><property><name>yarn.nodemanager.resource.memory-mb</name><value>2000</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
之后依次重新启动服务,其中Hadoop最好是删除原有的重新格式化启动