centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)

一、安装JDK

解压jdk-8u111-linux-x64.tar.gz

重命名文件夹 mv /opt/j dk-8u111 /usr/java

配置环境变量

使环境变量生效


二、mysql5.6安装(centos6.8)

yum list installed | grepmysql

yum -y removemysql-libs.x86_64

wgethttp://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

rpm -ivhmysql-community-release-el6-5.noarch.rpm

yum clean all

yum installmysql-community-server

service mysqld start

mysql_secure_installation

登录mysql重设密码的问题

启动mysql:
#/etc/init.d/mysqld start

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第1张图片

启动成功后查看mysql进程信息,获取mysqld_safe的安装目录(非常关键):
#ps -ef | grep -i mysql

可以看到mysqld_safe的安装位置(上面标红色框部分):/usr/bin/
接着执行一下命令停止mysql:
/etc/init.d/mysql stop

以安全方式启动mysql:
#/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &

稍等5秒钟,然后执行以下语句:
#/usr/bin/mysql -u root mysql
注意:mysql与mysql_safe目录一样,都是:/usr/bin/下,这个是通过“ps -ef | grep -i mysql”命令得到的。
centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第2张图片
出现“mysql>”提示符后输入:
mysql> update user set password = Password('root') where User = 'root';


回车后执行(刷新MySQL系统权限相关的表):
mysql> flush privileges;


再执行exit退出:
mysql> exit;

退出后,使用以下命令登陆mysql,试试是否成功:

#mysql -u root -p 

按提示输入密码:root

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第3张图片 

mysql> show databases;

 centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第4张图片

配置hive需要的数据库内容

创建hive运行所需要的元数据数据库:

create database myhive;

创建hive运行所需要的用户,该用户应该能够在说有的机器上登录:

create user myhive@'%' identified by 'myhive';


给新创建的hive用户授权,应该允许该用户操作hive数据库下的所有内容:

grant all on myhive.* to myhive@'%'identified by 'myhive';


更新权限:

flush privileges;


验证是否可以远程登录:(在windows下)

 centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第5张图片


三、安装hadoop

确保ssh是已经安装和运行

service sshdstatus ;如果没有运行,service sshd start;如果没有安装,运行yum install ssh\* -y。


关闭SELinux

vim/etc/selinux/config

 centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第6张图片

关闭完成后,重启linux。


调整防火墙默认设置

修改防火墙的默认准入策略为允许,并保持防火墙设置。(生产环境下最好针对单个接口进行准入准出设置)。


修改linux机器的hosts文件,将本机名称和ip进行映射(如果是集群,需要映射其他机器)

vim /etc/hosts


测试是否能ping


Hadoop2.7.3安装

准备软件:复制hadoop-2.7.3.tar.gz的软件到linux的/opt/下。

将上传的hadoop压缩文件解压到/bigdata/中:tar -zxvf hadoop-2.7.3.tar.gz -C

重命名hadoop-2.7.3文件为hadoop

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第7张图片

修改配置文件(hadoop2.x的配置文件路径进行了调整:

/hadoop/hadoop-2.7.3/etc/hadoop/)

配置hadoop-env.sh

 centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第8张图片

配置core-site.xml

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第9张图片 

其中,tmp.dir指定的目录不需要手工创建,format名称节点的时候会自动创建(创建的是name相关的)。

配置hdfs-site.xml

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第10张图片 

该文件这里了只配置了一个参数,用来指定datanode数据副本的备份个数。

 

配置mapred-site.xml

该文件默认不存在,但是存在一个mapred-site.template文件,将该文件命名为mapred-site.xml.修改命名后的文件的内容如下:


centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第11张图片


配置yarn-site.xml

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第12张图片

配置root到本机的免登录。

ssh-keygen -trsa生成公钥和私钥

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第13张图片

ssh-copy-idpseudohadoop将公钥复制给本机(localhost也行)

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第14张图片

测试ssh localhost直接登录成功。

格式化和启动

由于没有添加hadoop相关的环境变量,以下操作必须处于hadoop的根目录下。

格式化namenode

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第15张图片

启动hdfs

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第16张图片

启动yarn


测试是否启动成功(jps)

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第17张图片


四、安装hive2.1.1

上传apache-hive-2.1.1-bin.tar.gz到linux的/opt目录下。

解压apache-hive-2.1.1-bin.tar.gz到当前文件夹:tar -zxvfapache-hive-2.1.1-bin.tar.gz

并重命名为hive

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第18张图片

添加hive的环境变量到/etc/profile中:

在最后追加如下内容:


生效环境变量:source /etc/profile


修改配置

hive-env.sh

进入到hive的conf目录,cp hive-env.sh.template hive-env.sh

hive-env.sh

头部添加:export JAVA_HOME=/usr/java

修改HADOOP_HOME和HIVE_CONF_DIR

 centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第19张图片

hive-site.xml

进入hive的conf目录,复制一个hive-site.xml文件出来:cp hive-default.xml.template hive-site.xml

vi  hive-site.xml,尾行模式执行:18,$-1d 删除18到倒数第二行(显示行号尾行模式使用set nu

在configuration之间添加如下内容(可根据自己的需要调整配置):

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第20张图片

由于hive使用mysql作为元数据仓库,通过jdbc的方式进行连接,那么需要使用jdbc的jar包,复制相应版本的jdbc驱动包到$HIVE_HOME/lib目录下(该方式假设当前目录存在mysql驱动包):cp mysql-connector-java-5.1.35.jar $HIVE_HOME/lib

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第21张图片

格式化元数据仓库(从hive2.0之后都要显示格式化元数据):

schematool -dbType mysql -initSchema

 

上边提示slf4j冲突,这里可以不处理,也可以删除hive下边的那一个(不能删除hadoop那个,因为hive使用了hadoop而hadoop没有使用hive,删除了hadoop的之后,hadoop就无法启动)。

rm -rf $HIVE_HOME/lib/log4j-slf4j-impl-2.4.1.jar


启动hdfs和yarn:$HADOOP_HOME/sbin/start-dfs.sh   $HADOOP_HOME/sbin/start-yarn.sh(在这之前已经启动和yarn)

运行$HIVE_HOME/bin/hive 显示如下界面:

 

执行:show databases;

 


五、Hive启动hwi

默认hive不带hwi需要自己源代码编译。

解压源代码tar zxvfapache-hive-2.1.1-src.tar.gz


cd/opt/apache-hive-2.1.1-src/hwi/web/在该文件夹下执行:zip hive-hwi-2.1.1.zip ./*

cp hive-hwi-2.1.1.zip/opt/

修改hive-hwi-2.1.1.zip的扩展名为warmv hive-hwi-2.1.1.zip hive-hwi-2.1.1.war

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第22张图片

移动该文件到hivelib目录中:mv hive-hwi-2.1.1.war/opt/hive/lib/

移动jdktoolshivelib目录下:cp /usr/java/lib/tools.jar/opt/hive/lib/


进入cd /opt/hive/conf编辑vi hive-site.xml

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第23张图片 

Ant的安装

导入jar包

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第24张图片

解压

tar-zxvf apache-ant-1.9.7-bin.tar.gz

centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下)_第25张图片

配置环境变量和path

vi /etc/prifile


环境变量生效


测试

http://hbase01:9999/hwi

如果访问失败,可以查看9999默认的访问端口是否打开

查看:netstat-ant | grep 9999

打开:hive --service hwi >/dev/null 2>&1 &


如果访问失败,可以多刷新几次;9999默认的访问端口,如果需要修改可以在hive-site.xml中进行。

此时就可以操作hive了

 

 


你可能感兴趣的:(centos6.8平台上安装hive(基于Mysql6.5 和hadoop2.7.3伪分布集群下))