前言:暑假里老师布置的任务没有完成,来到学校后马不停蹄的安装kylin,结果一路艰难险阻,搞了快两个星期都没有弄好....现在止步于hive阶段卡死...仅将之前的步骤记录下来以便重新安装时更加顺利...

【kylin安装基础】

安装kylin前要在虚拟机上将hadoop、hive、hbase都安装完毕,注意要选择兼容的版本。

【一】虚拟机安装

虚拟机:VMware Workstation 12

linux系统可有多种选择:

(1)CentOS(Community ENTerprise OS):发行公司:Red Hat ,软件管理是rpm,该系统比较成熟,非常稳定。

(2)Ubuntu:该系统是以桌面为主的linux系统,面向桌面领域,界面友好,适合新手入门,但不支持rpm格式的安装。

(3)Debian:适合服务器的操作系统,非常稳定,占用内存硬盘小。

我选择了CentOS系统,虚拟机安装教程可直接上网百度,安装过程中一定要注意网络的设置!

【二】JDK安装

在虚拟机安装完毕后,hadoop安装前一定要进行JDK的设置(第一次因为设置JDK搞了一下午...)

(1)选择与系统版本匹配的JDK版本,我这里选择的是jdk 1.8.0

1.在浏览器中下载相应的版本:jdk-8u131-linux-x64.tar.gz(可以直接去官网上下载)

2.解压文件到指定的目录中:

在/usr/local/文件下新建文件夹:mkdir jdk

解压tar.gz的文件:tar -zxvf  路径+文件名 指定的路径;如果是rpm的文件可以用命令:rpm -ivh

若提示权限不够,使用命令:sudo su :切换用户,将普通用户切换为超级用户,但该命令只是可以使用root的权限进行操作,shell环境仍然是普通用户的环境(即文件地址仍是普通用户下的);sudo su -:该命令是彻底切换为超级用户。

解压完成后配置配置环境变量:使用gedit编辑器编辑:gedit  /etc/profile

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar(通过该值找到对应的类文件)

export PATH=$PATH:$JAVA_HOME/bin  (通过该值找到bin目录下的exe文件)

配置完成后可通过java -version查看是否配置成功.

【三】hadoop安装模式

(1)单机模式standalone:即独立(本地)运行模式:该模式为默认模式,hadoop完全运行在本地,不使用hdfs,也不加载hadoop的任何守护进程,主要用于开发调试MapReduce程序的应用逻辑。一台linux即可。

(2)伪分布模式:该模式模拟一个小规模的集群,一台linux即可,具有hadoop的所有功能,是完全分布式的一个特例。

(3)完全分布式模式:hadoop守护进程运行在一个集群上,是真正的分布式环境,主要用于生产。

对比hadoop的三种模式后,选择伪分布模式进行安装学习。

【四】SSH免密登录

由于Hadoop节点之间通过SSH通信,为了避免连接过程中人工输入密码,所以要配置SSH的免key登陆,由于本文讲得是伪分布式,因此只需要对本机localhost免key登陆。

使用命令:rpm -qa | grep ssh:该命令可以列出所有已经被安装的名字中包含ssh字符串的rpm包。

可使用命令 yum install openssh-clients 和yum install open ssh-server 安装ssh客户端和server。

安装成功后可使用命令 ssh localhost登录到本机,第一次登录时需要输入密码,然后输入 exit退出,依次执行以下命令

cd ~/.ssh/

ssh-keygen -t rsa

cat id_rsa.pub >> authorized_keys #加入授权

chmod 600 ./authorized_keys # 修改文件权限

此时再输入ssh localhost  就不需要密码了。

【五】hadoop安装

说了这么多,终于要安装正主了~

(1)下载合适版本的hadoop:我选择的是hadoop-2.7.6.tar.gz版本(附下载地址 http://mirrors.cnnic.cn/apache/hadoop/common/ )

仍然使用 tar -zxvf命令解压至/usr/local/路径下,解压后可使用命令mv ./hadoop-2.7.6/ ./hadoop 修改文件名称;

之后使用命令chown -R hadoop:hadoop ./hadoop 修改文件权限

(2)设置环境变量

使用命令: gedit ~/.bashrc  添加下列命令行

export HADOOP_HOME=/usr/local/hadoop

export HADOOP_INSTALL=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

之前设置java变量的时候是在/etc/profile中设置的,这里是在~/.bashrc中,两者的区别在于:

/etc/profile:设定的变量可以用于任何用户,是系统全局环境变量设置;

~/.bashrc:设定的变量是局部私有的,是对某用户目录下的变量设定;

所以这里也可以直接在/etc/profile中设定。后续启动时不知道为什么总是报java_home未设置,此时在~/.bashrc中将java_home的值改了之后就可以了。

(3)修改配置文件:

[1]:core-site.xml:

<name>fs.defaultFS</name>指定hdfs的主端口namenode要放在哪台机器上

<value>hdfs://local:9000</value>

[2]:hdfs-site.xml:

<name>dfs.replication</name>副本数,伪分布式设置为1即可

<value>1</value>

<name>dfs.namenode.name.dir</name>命名空间和事务在本地文件系统永久存储的路径

<value>file:/usr/local/hadoop/tmp/dfs/name </value>

<name>dfs.datanode.data.dir</name>datanode 在本地系统中存放的路径

<value>file:/usr/local/hadoop/tmp/dfs/data</value>

(4)格式化namenode

配置完成后,要先格式化文件系统:./bin/hdfs namenode -format ,这个过程中可能会出错,如果status为1则有错,可根据错误信息百度解决方案

(5)开启进程

./sbin/start-dfs.sh

(6)验证是否启动成功:

可直接输入:jps查看开启的进程;可在浏览器中输入 http://localhost:50070 查看信息

(7)启动YARN

可启动yarn进行资源管理与任务调度,但伪分布式不开启也行,具体的开启过程可参考该博客https://blog.csdn.net/a5601564/article/details/52997015

至此,hadoop安装完毕,但这只是艰难旅程中的第一步~

【六】hive安装

(1)知识补充:

hive是一种以SQL风格进行任何大小数据分析的工具,它采取类似关系数据库的SQL命令处理hadoop的大数据,是建立在hadoop之上的数据仓库架构。数据库比较偏向于事务性的一些操作,比如增删改查,而数据仓库更侧重于查询。

工作原理:hive通过给用户提供的一系列交互接口,接收到用户的指令(sql),使用自己的driver,结合元数据(metastore)将这些指令翻译成MapReduce,提交到hadoop中执行,将执行结果输出到用户交互接口。

hive与hdfs的对应关系是存放在hive中的一个组件metastore中的,也就是说hive与hadoop结合在一起需要有一个映射的关系,这个映射的关系就是metastore,sql语句的执行在这里面转换为对表的操作,对文件夹的操作,对文件的操作,以及对数据的列的操作都是通过查询metastore实现的。metastore表现为关系数据库,可以是derby,也可以是mysql,所以在安装hive之前需要安装mysql。

(2)安装mysql

[1]:先检查centos自带的mysql版本:mariadb;删除自带版本:yum remove mysql mysql-server

[2]:centos7下的yum(shell前端软件包管理器)源中无mysql-server文件,所以要去官网上进行下载或者直接使用yum命令进行安装:

yum update #更新yum源

rpm -Uvh http://dev.mysql.com/get/版本号 #将mysql添加到yum源中(这里我使用的是mysql-5.7.23版本)

yum install mysql-server  #安装mysql服务器端

yum repolist enabled | grep "mysql.*-community.*" #检查mysql源是否安装成功

[3]:mysql安装成功后,设置开机自启动:chkconfig mysqld on(chkconfig 是管理系统服务,随系统启动而启动,关闭而关闭)

[4]:启动mysql :systemctl start mysqld (systemctl是系统管理服务器指令,将service和chkconfig组合在一起)

[5]:mysql会有初始密码,可查看初始密码:cat /var/log/mysqld.log | grep password

[6]:使用初始密码登录mysql:mysql -u root -p 输入初始密码

[7]:重设密码:set password=password('root') ;flush privileges;(该语句可刷新mysql的系统权限相关表,不重启mysql服务的情况下直接生效)

[8]:创建数据库hive:create database hive;

[9]:创建用户hive并授予权限:create user 'hive' @ '%' identified by '密码'; grant all on hive *.*to 'hive' @ '%' identified by '密码' ; flush privileges;

[10]:关闭防火墙并设置远程访问:firewall-cmd --state #查看防火墙是否启用  systemctl stop firewalld #关闭防火墙

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;

(3)hive安装

[1]:下载hive:http://mirrors.cnnic.cn/apache/hive/  这里我下载的是2.3.3版本的,下载完成后进入到文件夹/home/hadoop/ 下解压至文件夹  tar -zxvf  路径/文件

这里可以使用mv指令修改文件夹的名称,并使用chown -R

[2]:把mysql驱动放到hive的lib目录下 http://dev.mysql.com/downloads/connector/j/ ,默认情况下是Windows安装包,这里需要选择Platform Independent版本下载zip格式的文件,解压后不是jar格式,而是文件夹,需要将文件夹里的驱动文件复制放到hive的lib目录下。

[3]:配置环境变量:使用gedit编辑:gedit /etc/profile

export HIVE_HOME=/home/hadoop/hive

export PATH=$PATH:$HIVE_HOME/bin

export CLASSPATH=$CLASSPATH:$HIVE_HOME/bin

[4]:设置hive-env.sh文件:cp hive-env.sh.template hive-env.sh  #hive的conf文件下没有该文件,直接将hive-env.sh .template 文件复制成hive-env.sh文件

设置hadoop_home和hive_conf_dir两个值:export HADOOP_HOME=/usr/local/hadoop  export HIVE_CONF_DIR=/home/hadoop/hive/conf

[5]:设置hive-site.xml文件:cp hive-default.xml.template hive-site.xml 主要在该配置文件中添加mysql的连接信息:

首先要把原文件中关于jdbc配置的内容注释掉;

然后添加以下信息

        <property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?=createDatabaseIfNotExist=true</value>(mysql地址localhost)
</property> <property>
<name>javax.jdo.option.ConnectionDriverName</name>(mysql的驱动)
<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.schema.verification</name>
<value>false</value>
</property>

<property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
     </property>

[6]初始化元数据库:cd /home/hadoop/hive/bin   pwd   schematool -dbtype mysql -initSchema

这里经常发生错误,一定要根据错误信息进行百度

[7]启动hive:./hive  启动时也经常报错,这里的一篇博客包含了经常发生的错误及解决方案,可进行参考https://blog.csdn.net/eason_oracle/article/details/52273954

hive启动成功后可进行测试,测试步骤可参考该博客https://www.cnblogs.com/dxxblog/p/8193967.html

至此hive也安装成功~

累觉不爱,好不容易安装好了这两个,结果虚拟机中的linux系统死活连不上网了,各种方法都试过了,可能人品这几天太差了,没有办法先把之前安装的步骤记录下来,可能哪天就又要重装了!

安装kylin的艰难历程的更多相关文章

  1. 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)

    在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...

  2. 基于CDH5.12安装Kylin及官方用例测试

    1 kylin 简介 Apache Kylin是2013年由eBay 在上海的一个中国工程师团队发起的.基于Hadoop大数据平台的开源 OLAP引擎,它采用多维立方体预计算技术,利用空间换时间的方法 ...

  3. RHEL 安装gcc 艰难历程

    装好系统后···· 各种搜的方案都不好使····· 最后搜到有人说在刚装系统的时候定制软件之类的那个地方选上“开发工具”就可以...

  4. 顶级项目孵化的故事系列——Kylin的心路历程【转】

    现在已经名满天下的 Apache Kylin,是 Hadoop 大数据生态系统不可或缺的一部分,要知道在 Kylin 项目早期,可是以华人为主的开源团队,一路披荆斩棘经过几年的奋斗,才在 Apache ...

  5. CHD 5.15 安装 Kylin

    这里主要参考官网安装单机案例,并写入到脚本中.具体请看如下:      1.说明           这里采用的是root用户安装,但是运行时需要改一些配置,不然没有权限      2.安装     ...

  6. 【实战3】记一次内网中反弹shell的艰难历程

    # 0x00 前言 最近在客户现场对内网服务器进行渗透测试,发现了大量的弱口令,本次历程就是从这里开始··· # 0x01 弱口令 对目标ip进行端口扫描,开放端口为80,445,1433,3389- ...

  7. 笔记本win10安装node的尖酸历程。。。。。。

    在公司的电脑搭建vue环境分分钟搞定,周末闲的无聊给自己的电脑也搭建一个环境,谁知道这么多的问题,记录下这些问题,希望对那些安装node环境有问题的朋友一些帮助. 1.下载安装node 下载地址htt ...

  8. liunx 安装Zabbix的心酸历程

    作者:邓聪聪 为了工作之需要,在系统服务方面不断的摸爬打滚,有了这样点点滴滴的经验,留后在使用!  插件网盘取. 链接: https://pan.baidu.com/s/1i5u0ed3 密码: rx ...

  9. linux平台 PHP 实现 word转pdf的艰难历程...

    1.网上搜索资料 无非是 openoffice + PHP的com组件 然而试了很多次 都不可靠 2.后来找到 openoffice + jodconverter(需java环境) 一.安装openo ...

随机推荐

  1. 从零开始学spring cloud(五) -------- 将服务注册到Eureka上

    一.开发前准备工作: 官方文档地址:https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.1.0.RELEASE/mul ...

  2. project5 大数据

    [概念] build和run不是一样的,要看输出,不要误解. [方法论] 先要搞懂每个方法的使用,不能乱写.文件名不要写成字符串内容. 又忘记用lab code了,该死. programcreek是个 ...

  3. Selenium 汇总

  4. JMeter 通过JSON Extractor 插件来提取响应结果

    接口响应结果,通常为HTML.JSON格式的数据,对于HTML的响应结果的提取,可以通过正则表达式,也可以通过XPath 来提取. 对于JSON格式的数据,可以通过正则表达式.JSON Extract ...

  5. 20-matlab全排列-函数调用

    matlab中global的用法 Matlab 中子函数不传参直接调用主函数global变量方法  在一个m文件里要调用一个函数(自定义的),但是我希望这个函数能利用并修改workspace中的变量( ...

  6. Retrofit 2.0 上传文件

    1.用MultipartBody.Part的方式上传文件(单文件上传)(表单方式) @Multipart @POST("xxx/xxx") Call<ResponseBody ...

  7. python3 安装 google-visualization-python(windows10)

    google-visualization-python 的 github 官网:https://github.com/google/google-visualization-python 安装: 打开 ...

  8. 4-2 requests库使用

    打开自己的编辑器 创建一个py文件 这里是首先调用requests库 调用requests  最后打印出response

  9. Spring 缓存注解之@Cacheable,@CacheEvit

    Spring引入了Cache的支持,其使用方法类似于Spring对事务的支持.Spring Cache是作用于方法上的,其核心思想是,当我们调用一个缓存方法时,把该方法参数和返回结果作为一个键值对存放 ...

  10. Scara机器人微分运动

    两关节是Scara的典型结构,其运动学.逆运动学及微分运动计算简单,以下以两关节长度相等为条件进行运动学计算演示,l为杆件1,2长度,杆件1起点为基座零点: 一.            正运动学 其中 ...