[root@hadoop102 ~]$ ls /opt/software/
[root@hadoop102 software]# tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/
解压完成:
vim /etc/profile
#增加以下内容:
# HIVE_HOME
export HIVE_HOME=/opt/module/hive-1.2.1/
export PATH=$PATH:$HIVE_HOME/bin
#保存退出 source 使其生效
source /etc/profile
cd $HIVE_HOME/conf
# 复制命令
cp hive-env.sh.template hive-env.sh
# 编辑
vim hive-env.sh
# 增加如下内容
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/opt/module/hadoop-2.7.1
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/module/apache-hive-1.2.1-bin/conf
# Folder containing extra ibraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/opt/module/apache-hive-1.2.1-bin/lib
hive --version
上传hive-site.xml到conf目录:
<configuration>
<property>
<!-- 查询数据时 显示出列的名字 -->
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<!-- 在命令行中显示当前所使用的数据库 -->
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<!-- 默认数据仓库存储的位置,该位置为HDFS上的路径 -->
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!-- 8.x -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=GMT</value>
</property>
<!-- 8.x -->
<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>
<!-- hiveserver2服务的端口号以及绑定的主机名 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>master</value>
</property>
</configuration>
查看是否有Centos7自带的mariadb
先上传压缩包
安装mysql
启动mysql
查看初始密码
修改root密码 授权远程访问 设置开机自启动
[root@node2 ~]# mysql -u root -p
Enter password: #这里输入在日志中生成的临时密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.29
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
#更新root密码 设置为hadoop
mysql> alter user user() identified by "hadoop";
Query OK, 0 rows affected (0.00 sec)
#授权
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
#mysql的启动和关闭 状态查看 (这几个命令必须记住)
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld
#建议设置为开机自启动服务
[root@node2 ~]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
#查看是否已经设置自启动成功
[root@node2 ~]# systemctl list-unit-files | grep mysqld
mysqld.service enabled
如果!密码输不进去(能输进去就跳过这步)
跳过输入密码验证
首先,停止MySQL服务
service mysqld stop
既然是密码错误,那么就先跳过密码验证的步骤
#vim /etc/my.cnf
然后,搜索mysqld,找到[mysqld](port=3306上面那个):
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)。
注:windows下修改的是my.ini。
在 [mysqld] 底下添加语句:
skip-grant-tables
这是用来跳过密码验证的,添加之后保存退出。
重新启动MySQL服务
进入MySQL
出现密码输入时,不用输入直接按回车,就可以不用密码就能登录
mysql -u root -p
修改密码
mysql> use mysql
mysql> update user set password=password(“新密码”) where user=”用户名”;
放入hive安装目录的lib目录下
unzip mysql-connector-java-5.1.46.zip -d /opt/module/apache-hive-1.2.1-bin/lib/
从hive安装目录Lib目录下拷贝最新的jline文件到hadoop安装目录下/share/hadoop/yarn/lib目录中
cp /opt/module/apache-hive-1.2.1-bin/lib/jline-2.12.jar /opt/module/hadoop-2.7.1/share/hadoop/yarn/lib/
删除hadoop安装目录下
如果有旧版本文件可用rm删除,没有就不用删除
cd /export/server/apache-hive-3.1.2-bin/
bin/schematool -initSchema -dbType mysql -verbos
#初始化成功会在mysql中创建表
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
解决:
1、关闭防火墙
#关闭防火墙
systemctl stop firewalld
#设置为开机不自启
systemctl disable firewalld
2、关闭selinux
vi /etc/selinux/config
修改SELINUX=enforcing 为 SELINUX=disabled
3、再次启动集群
start-dfs.sh
start-yarn.sh
4、检查集群是否正常启动
jps
5、检查集群是否正处于安全模式
命令hadoop dfsadmin –safemode get 查看安全模式状态
命令hadoop dfsadmin –safemode enter 进入安全模式状态
命令hadoop dfsadmin –safemode leave 离开安全模式状态
如果遇到org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083解决方法
杀死进程,重新启动!!!
./hive --service metastore &
hive
以上就是今天要讲的内容,本文仅仅简单介绍大数据Hadoop集群之Hive安装配置步骤,按照以上步骤和老师讲解相结合相信你也可以成功安装。