• 大数据基础---安装ClouderaManager,CDH和Impala,Hue,oozie等服务


    1.要求和支持的版本

    (PS:我使用的环境,都用加粗标识了。)

    1.1 支持的操作系统版本

    操作系统 版本
    RHEL/CentOS/OL with RHCK kernel 7.6, 7.5, 7.4, 7.3, 7.2,6.10, 6.9 , 6.8
    Oracle Linux (OL) 7.4, 7.3, 7.2 (UEK default)
    SUSE Linux Enterprise Server
    SLES 12 SP4, 12 SP3, 12 SP2
    Ubuntu
    Ubuntu 16.04 LTS (Xenial)

    ​ (系统版本要求)

    1.2硬件要求

    组件 存储 说明
    Partition hosting /usr 1 GB
    Partition hosting /var 5 GB to 1 TB Scales according to number of nodes managed. See table below.
    Partition hosting /opt 15 GB minimum Usage grows as the number of parcels downloaded increases.
    Cloudera Manager Database Server 5 GB If the Cloudera Manager Database is shared with the Service Monitor and Host Monitor, more storage space is required to meet the requirements for those components.

    ​ (系统空间要求)

    1.3 支持的MySql版本

    MySQL版本 Cloudera Enterprise 6.x
    5.1(RHEL / CentOS / OEL 6的默认设置) img
    5.5(Debian 8.9的默认设置) img
    5.6 img
    5.7(Ubuntu 16.04、18.04 LTS的默认设置) img

    ​ (MySql版本要求)

    1.4支持的JDKs

    Cloudera企业版 支持的Oracle JDK 支持的OpenJDK
    5.3 -5.15 1.7、1.8 没有
    5.16 和更高的5.x版本 1.7、1.8 1.8
    6.0 1.8 没有
    6.1 1.8 1.8
    6.2 1.8 1.8
    6.3 1.8 1.8、11.0.3或更高

    ​ (从上图可以看到6.0支持的是1.8版本)

    1.5 推荐使用的JDK

    Oracle JDK版本 笔记
    1.8u181 推荐/最新版本经过测试
    1.8u162 推荐的
    1.8u141 推荐的
    1.8u131 推荐的
    1.8u121 推荐的
    1.8u111 推荐的
    1.8u102 推荐的
    1.8u91 推荐的
    1.8u74 推荐的
    1.8u31 最低要求

    ​ (推荐的MySql版本)

    1.6CM和CDH兼容性

    1.6.1 版本支持

    当前的Cloudera Manager版本 支持的Cloudera Manager升级路径 支持的CDH升级路径
    6.0 6.3.x6.2.x6.1.x6.0.x维护版本 6.0.x维护版本CDH 5.7-5.14的任何次要版本

    1.6.2 Cloudera Manager 6.0.0下载地址

    类型 位置 (基本网址) 回购文件
    兼容RHEL 7 https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/ cloudera-manager.repo
    兼容RHEL6 https://archive.cloudera.com/cm6/6.0.0/redhat6/yum/ cloudera-manager.repo
    SLES 12 https://archive.cloudera.com/cm6/6.0.0/sles12/yum/ cloudera-manager.repo
    Ubuntu Xenial(16.04) https://archive.cloudera.com/cm6/6.0.0/ubuntu1604/apt/ cloudera-manager.lis

    1.6.5 CDH 6.0.0下载地址

    储存库类型 位置 (基本网址)
    包裹 https://archive.cloudera.com/cdh6/6.0.0/parcels/
    兼容RHEL 7 https://archive.cloudera.com/cdh6/6.0.0/redhat7/yum/
    兼容RHEL 6 https://archive.cloudera.com/cdh6/6.0.0/redhat6/yum/
    SLES 12 https://archive.cloudera.com/cdh6/6.0.0/sles12/yum/
    Ubuntu Xenial(16.04) https://archive.cloudera.com/cdh6/6.0.0/ubuntu1604/apt/

    2.环境搭建

    PS:推荐能使用高版本就使用高版本进行搭建,因为很多老版本都逐渐被淘汰。这也是我花费了三天多时间,使用老版本centos6.5进行搭建遇到了很多坑,最终还是没搭建好总结的一个经验。原因就是你想安装某个软件,官方都不支持下载了,你还得到处找,然后匹配,有一点不匹配就会导致内核不支持,你要是再升级内核,就又得找,然后去安装去实验,麻烦的一批。跟不上时代了,你连哭的地都没有。就相当于互联网时代能在网上购票了,你还去排很长的队去现场买票,那么你就得乘坐交通工具去吧,跑很远的路,等有一天停止人工售票了,你难道还去找门子让别人帮你买票么?话说回来了,也就是软件停更了,你难道还去各个网站去找老版本么?

    2.1安装Centos7.6

    主机名 cdh1 cdh2 cdh3
    IP地址 192.168.40.104 192.168.40.105 192.168.40.106
    其它环境 MySql,JDK JDK JDK

    首先去网站 http://archive.kernel.org/centos-vault/7.6.1810/isos/x86_64/ 把CentOS-7-x86_64-DVD-1810.iso 下载到本地。

    下载VMWare虚拟机软件。使用VMWare进行安装,一共需要安装三台,主机名和ip配置如上所示。

    PS:先安装一台,然后照着下面设置,设置完后克隆下修改主机名和ip就可以了。

    安装步骤可参考: https://blog.csdn.net/babyxue/article/details/80970526

    下面说下安装完成后如何配置IP地址和修改主机名:

    • 安装vim(找个文件实验一下有没有,有的话忽略这步)

      yum -y install vim*

    网络和主机名设置
    # cd /etc/sysconfig/network-scripts
    # vi ifcfg-ens33 --这里改为你自己的名称
    

    修改内容如下:

    #标记显示固定ip
    BOOTPROTO=static 
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=eno16777736  
    UUID=c2cc280c-e0a6-4694-b062-e43b5f44db61
    #网卡名
    DEVICE=eno16777736 
    ONBOOT=yes
    #ip地址,这个以cdh1举例,我设定的为104,后面的cdh2,cdh3可以分别设置为105,106
    IPADDR=192.168.40.104 
    #网关地址
    GATEWAY=192.168.40.2  
    NETMASK=255.255.255.0
    DNS1=114.144.144.114
    DNS2=8.8.8.8
    
    • 修改主机别名

    ​ vim /etc/hostname 修改为cdh1

    ​ PS:其它主机照着配置即可。 设置完后重启生效。

    • 修改host文件映射别名

      vim /etc/hosts 添加

      192.168.40.104 cdh1

      192.168.40.105 cdh2

      192.168.40.106 cdh3

    设置cdh1对其它主机免密钥。

    在cdh1主机执行以下命令。

    ssh-keygen -t rsa #一路回车即可

    ssh-copy-id localhost #对本机免密钥,会提示输入本机密码

    ssh-copy-id cdh2 #会提示输入cdh2的密码

    ssh-copy-id cdh3 #会提示输入cdh3的密码

    关闭防火墙

    禁止开机启动

    [root@cdh1 ~]# systemctl disable firewalld
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

    SELINUX关闭

    setenforce 0

    vi /etc/selinux/config (SELINUX=disabled)

    • 克隆到其它主机,并记得修改下主机名和ip

    2.2安装MySql

    建立一个mysql目录

    [root@cdh1 etc]# mkdir -p /opt/mysql

    [root@cdh1 etc]#cd /opt/mysql

    下载安装

    $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

    $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

    $ sudo yum update

    $ sudo yum install mysql-server

    $ sudo systemctl start mysqld

    给root用户设置密码,授权,删除多余用户

    [root@cdh1 mysql]# mysql

    mysql> use mysql; --切库

    mysql> select Host,User,Password,authentication_string from user; --查询下

    mysql> grant all privileges on . to 'root'@'%' identified by '123456' WITH GRANT OPTION; --创建一个新root用户,并授权可以远程登陆

    mysql> update user set authentication_string=password('123456') where user='root' and host='%'; --给用户添加远程登陆密码

    mysql> select Host,User,Password,authentication_string from user; --再查询下,可以看的多了个一个root用户

    +-----------+------+-------------------------------------------+-----------------------+
    | Host | User | Password | authentication_string |
    +-----------+------+-------------------------------------------+-----------------------+
    | localhost | root | | |
    | cdh1 | root | | |
    | 127.0.0.1 | root | | |
    | ::1 | root | | |
    | localhost | | | NULL |
    | cdh1 | | | NULL |
    | % | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | |
    +-----------+------+-------------------------------------------+-----------------------+

    mysql> flush privileges; --刷新权限

    mysql> quit; --退出

    [root@VM_0_10_centos ~]# systemctl restart mysqld --重启下,登陆

    [root@VM_0_10_centos ~]# mysql -uroot -p
    Enter password:

    然后这个时候通常会提示以下错误:

    ERROR 1045 (28000): Access denied for user 'root'@'cdh1' (using password: YES)。

    网上查了很多解决方案,都让设置my.cnf配置文件,然后修改密码。但是这里并不是密码问题,而是上面的一些没密码的用户干扰的。把没密码的用户都删掉,反正也没用,然后就可以了。如下:

    delete from mysql.user where Password ='' or Password is null;

    flush privileges; --刷新权限

    systemctl restart mysql --重启mysql,然后再登陆就可以登陆了,如下所示。

    [root@cdh1 mysql]# mysql -uroot -p
    Enter password:

    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.6.47 MySQL Community Server (GPL)

    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>

    2.3安装JDK8

    2.3.1.首先下载

    由于官网太慢了,还有有好心人把包搬到了Github上,这样我们就方便下载了。

    https://github.com/frekele/oracle-java/releases

    根据上面的推荐,这里我选择的1.8u181版本。

    2.3.2.通过FTP上传到cdh1上面

    PS:官方规定一定要上传到/usr/java目录下,没有就创建

    在cdh1下面创建一个mysql目录

    [root@cdh1 etc]# cd /usr/java/

    通过FTP将下载好的jdk-8u181-linux-x64.tar.gz上传到目录并解压

    tar -xvf jdk-8u181-linux-x64.tar.gz

    2.3.3.配置环境

    [root@cdh1 jdk1.8.0_181]# vim /etc/profile

    在文件下方添加如下内容:

    export JAVA_HOME=/usr/java/jdk1.8.0_181
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
    

    然后重启系统,使用命令java -version命令验证即可

    [root@cdh1 ~]# java -version
    java version "1.8.0_181"
    Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
    

    其它机器按照类似步骤配置即可。

    2.4系统环境准备

    2.4.1安装NTP

    PS:NTP是个时间管理器,用于同步时间。

    $ yum -y install ntp

    $ systemctl enable ntpd #启用NTP

    $ systemctl start ntpd #运行NTP

    $ systemctl enable ntpd.service #设置开机启动

    2.5为CM配置Repository(就是rpm仓库)

    2.5.1 在cdh1,cdh2,cdh3安装ClouderaManager

    sudo wget <repo_file_url> -P /etc/yum.repos.d/

    根据1.6.2推荐,repo_file_url这里写: https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/cloudera-manager.repo

    $ sudo wget https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/

    2.5.2 导入存储库签名GPG密钥:

    RHEL 7 compatible:

    $ sudo rpm --import https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPM-GPG-KEY-cloudera

    2.6 安装Cloudera Manager服务

    2.6.1在cdh1服务器安装server,daemons,agent

    $ sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

    2.6.2在cdh2,cdh3服务器安装daemons,agent

    $ sudo yum install cloudera-manager-daemons cloudera-manager-agent

    2.6.3 在所有主机上指定server服务器地址和端口

    $ vim /etc/cloudera-scm-agent/config.ini

    server_host配置CM Server服务器名,server_port配置CM Server端口

    这里都要配置成:

    server_host=cdh1

    server_port=7182

    2.6.4启动所有服务器的代理

    $ sudo systemctl start cloudera-scm-agent

    2.7配置MySql

    2.7.1 停止服务器

    sudo systemctl stop mysqld

    2.7.2移除老的日志文件

    例如将 /var/lib/mysql/ib_logfile0 和 /var/lib/mysql/ib_logfile1 移出 /var/lib/mysql/ 到别的地方备份。

    2.7.3 更新 my.cnf 符合以下要求

    设置缓存,死锁,最大连接数

    vim /etc/my.cnf

    • 为防止死锁设置隔离级别为 READ-COMMITTED.

    • 设置存储引擎为InnoDB,而不是MyISAM

      PS:InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。

    ​ 可以使用命令查看用的哪个引擎:

    mysql> show table status from [YourDatabaseName];

    • service服务器(这里是cdh1)设置innodb_flush_method属性为 O_DIRECT 以提供更大吞吐量。

    • 根据服务器集群设置 max_connections 属性

      • 少于50台主机-您可以在同一台主机上存储多个数据库(例如,活动监视器和服务监视器)。如果这样做,您应该:

      • 将每个数据库放在其自己的存储卷上。

      • 每个数据库允许100个最大连接,然后添加50个额外的连接。例如,对于两个数据库,将最大连接数设置为250。如果在一个主机上存储五个数据库(Cloudera Manager Server,Activity Monitor,Reports Manager,Cloudera Navigator和Hive metastore的数据库),则将最大连接数设置为550。

      • 超过50台不要在同一个主机上存储多个数据库。每个数据库应配置单独的主机。

      • 超过1000台应设置max_allowed_packet为16M。

      下面是一个推荐配置表:

      [mysqld]
      datadir=/var/lib/mysql
      socket=/var/lib/mysql/mysql.sock
      transaction-isolation = READ-COMMITTED
      # Disabling symbolic-links is recommended to prevent assorted security risks;
      # to do so, uncomment this line:
      symbolic-links = 0
      
      key_buffer_size = 32M
      max_allowed_packet = 32M
      thread_stack = 256K
      thread_cache_size = 64
      query_cache_limit = 8M
      query_cache_size = 64M
      query_cache_type = 1
      
      max_connections = 550
      #expire_logs_days = 10
      #max_binlog_size = 100M
      
      #log_bin should be on a disk with enough free space.
      #Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your
      #system and chown the specified folder to the mysql user.
      log_bin=/var/lib/mysql/mysql_binary_log
      
      #In later versions of MySQL, if you enable the binary log and do not set
      #a server_id, MySQL will not start. The server_id must be unique within
      #the replicating group.
      server_id=1
      
      binlog_format = mixed
      
      read_buffer_size = 2M
      read_rnd_buffer_size = 16M
      sort_buffer_size = 8M
      join_buffer_size = 8M
      
      # InnoDB settings
      innodb_file_per_table = 1
      innodb_flush_log_at_trx_commit  = 2
      innodb_log_buffer_size = 64M
      innodb_buffer_pool_size = 4G
      innodb_thread_concurrency = 8
      innodb_flush_method = O_DIRECT
      innodb_log_file_size = 512M
      
      [mysqld_safe]
      log-error=/var/log/mysqld.log
      pid-file=/var/run/mysqld/mysqld.pid
      
      sql_mode=STRICT_ALL_TABLES
      
    • 确保数据库启用

      $ sudo systemctl enable mysqld

    • 启动数据库

      $ sudo systemctl start mysqld

    2.7.4安装MySql JDBC驱动程序

    在所有数据据服务器安装JDBC程序。官网推荐安装5.1版本。安装步骤如下:

    其中可以先在cdh1安装,然后复制到cdh2和cdh3即可(cdh2和cdh3安装了,就可以使用cdh1数据库了。):

    • 下载JDBC驱动程序

      [root@cdh1 mysql]# cd /opt/mysql

      [root@cdh1 mysql]# mkdir jdbcDriver

      [root@cdh1 mysql]# cd jdbcDriver

      [root@cdh1 jdbcDriver]# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz

    • 放入到/usr/share/java目录下

      [root@cdh1 jdbcDriver]# tar -xf mysql-connector-java-5.1.46.tar.gz

      [root@cdh1 jdbcDriver]# cd mysql-connector-java-5.1.46

      [root@cdh1 mysql-connector-java-5.1.46]# sudo mkdir -p /usr/share/java --创建java目录

      [root@cdh1 mysql-connector-java-5.1.46]# cp mysql-connector-java-5.1.46.jar /usr/share/java/mysql-connector-java.jar --将驱动复制到/usr/share/java目录,并重命名

    2.7.5为cloudera创建数据库
    • 登陆数据库

      systemctl start mysqld

      $ mysql -u root -p

      Enter password:

    • 创建数据库

      语法参考:

      • 创建数据库:

      mysql>CREATE DATABASE DEFAULT CHARACTER SET DEFAULT COLLATE utf8_general_ci;

      Query OK, 1 row affected (0.00 sec)

      • 给用户授权:

      GRANT ALL ON .* TO ''@'%' IDENTIFIED BY '';

      Query OK, 0 rows affected (0.00 sec)

      flush privileges;

      需要创建的表:

    Service Database User
    Cloudera Manager Server scm scm
    Activity Monitor amon amon
    Reports Manager rman rman
    Hue hue hue
    Hive Metastore Server metastore hive
    Sentry Server sentry sentry
    Cloudera Navigator Audit Server nav nav
    Cloudera Navigator Metadata Server navms navms
    Oozie oozie oozie

    拿Cloudra Manager Server举例:

    • 创建数据库scm,hive,hue,oozie

    $ mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    $ mysql> CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    $ mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    $ mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    • 给用户授权

    mysql> GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    mysql> GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    mysql> GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    mysql> GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    mysql>use mysql; --注意切换数据库哦

    mysql> update user set authentication_string=password('123456') where user='scm' and host='%'; --自己创建的用户是没有密码的,手动更新

    mysql> update user set authentication_string=password('123456') where user='hive' and host='%'; --自己创建的用户是没有密码的,手动更新

    mysql> update user set authentication_string=password('123456') where user='hue' and host='%'; --自己创建的用户是没有密码的,手动更新

    mysql> update user set authentication_string=password('123456') where user='oozie' and host='%'; --自己创建的用户是没有密码的,手动更新

    mysql> flush privileges; --刷新权限

    • 确认下是否创建成功

    mysql>SHOW DATABASES;

    mysql>SHOW GRANTS FOR 'scm'@'%';

    mysql>SHOW GRANTS FOR 'hive'@'%';

    mysql>SHOW GRANTS FOR 'hue'@'%';

    mysql>SHOW GRANTS FOR 'oozie'@'%';

    **PS:%授权用户本地登陆的时候需要指定主机: mysql -u用户名 -p密码 -h192.168.9.111 **

    2.8设置Cloudea Manager数据库

    假如2.7.5你已经配置好的数据库,执行下面:

    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh -h 主机名或IP

    例如:

    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm -h cdh1

    如果2.7.5没有配置,执行下面

    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh [选项] <数据库类型> <数据库名称> <数据库用户> <密码>

    例如:

    sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm -uroot -p123456

    2.9安装CDH和其它软件

    2.9.1启动Cloudra Manager服务器

    注意:建议先参考2.9.3里面的图8,将文件下载到本地,然后上传到服务器,再进行下面操作,不然访问外国的网站很慢,会导致无法下载,很麻烦,这个坑我帮你踩过了,别怪没提醒哦~

    $ sudo systemctl start cloudera-scm-server

    等待几分钟,以启动Cloudera Manager Server。要观察启动过程,请在Cloudera Manager Server主机上运行以下命令:

    $ sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

    当出现一下内容时证明安装成功了:

    INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.

    2.9.2登陆UI系统

    访问地址: http://<server_host>:7180

    这里是:

    http://cdh1:7180

    默认登陆账号和密码都是admin

    2.9.3进入系统,开始安装流程

    注意:可以提前参考地——步,将文件下载到本地,然后上传到服务器,

    图1:

    3JIlZ9.png

    图2:

    3JI1aR.png

    图3:

    3JI3I1.png

    图4:

    3JIYRK.png

    图5:

    3JI6Rf.png

    图6:

    3JIGPx.png

    图7:

    3JIDII.png

    图8:

    3JIUMD.png

    3JIase.png

    PS:如果下载比较慢的话,可以手动下载到本地(本地也慢的话,可以使用一台国外云服务器进行下载,下载完后再通过FTP下载到本地),然后上传到Manager Server服务器的/opt/cloudera/parcel-repo 下面。然后注意注意,这里需要重启manager service服务。然后重新登陆,不然它还会自动下载!!!

    重启完后继续,报了异常:主机运行不良。查了下 解决方案,删除cm_guid 文件,然后重启agent服务。

    rm -f /var/lib/cloudera-scm-agent/cm_guid --移除

    sudo systemctl restart cloudera-scm-server

    sudo systemctl restart cloudera-scm-agent

    登陆数据库,删除上面创建的scm数据库里面的所有的表。

    sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

    然后再重新登陆。挺费时间的,毕竟重启一次很慢,不过也没办法啦~

    3JI5on.png

    3JIdqH.png

    图9:

    3JIyJP.png

    图10:

    3JI0Zd.png

    图11:

    3JIBdA.png

    PS:上面提示红色表示有错误,黄色表示警告,绿色表示正常。查询错误不用管,等集群运行一会有数据了就显示了。

    上面可能遇到的问题及解决方案:

    问题1:Could not create the Java Virtual Machine。。。。

    解决方案:这个是虚拟机内存太小造成的,改大些就好了。参考链接

    问题2: Actually, the** Job History server** would be owned by mapred and if you want to see the exact permissions you should refer to:

    解决方案:这个是没有权限造成的。参考链接

    问题3: 此角色的主机的运行状况为存在隐患。 以下运行状况测试存在隐患: 正在交换。

    原理参考 解决方案就是加大电脑内存,然后加大虚拟机内存。(PS:所以想学大数据,先装内存条吧,哈哈哈~)

    解决后来张图:

    3UhoSP.png

    上面将HDFS,Zookeeper和Yarn安装完了。接下来安装下Hive,oozie和hue,注意最后安装hue,因为hue会基于以前安装的内容渲染UI。

    安装Hive

    3Bnvon.png

    3Bnziq.png

    3BupWV.png

    3BuSJ0.png

    oozie简介

    oozie是一个工作流,可以将多种任务拼接在一起自动执行。

    oozie wordflow是作业操作的有向无环图。

    oozie coordinator 作业由时间和数据触发的oozie workflow周期性作业。

    安装oozie

    3Bn4II.png

    3BnfZd.png

    oozie问题

    首次打开页面可能会提示:

    Oozie web console is disabled.

    To enable Oozie web console install the Ext JS library.

    Refer to Oozie Quick Start documentation for details.

    解决方法:

    下载ext2.2.zip包

    链接:https://pan.baidu.com/s/1VvzuFTA4eUsc2qe0AoFe6Q
    提取码:lyff

    放在/var/lib/oozie/ 下解压即可。

    hue简介

    hue是大数据的一个图形界面工具。

    安装hue

    3BnhdA.png

    3Bn2se.png

    3BngMD.png

    3BnIit.png

    3Bnqsg.png

    impala简介

    针对hbase和hdfs的大数据进行查询,并基于hive的metastore进行找数据。它和hive相似,但是为了提高速度,用内存存储结果。

    因为内存是有限的,所以一般impala和hive结合使用。

    安装impala

    3Bnjds.png

    impala架构图

    impala使用

    在控制台,使用impala-shell 进入,然后操作语句和Hive一样,使用SQL即可。

    参考: https://www.w3cschool.cn/impala/impala_shell.html

    题外话:

    当我上传博客到博客园时,因为我的博客是Markdown写的,为了方便上传,把图片都放到路过图床了,上传完毕后,我的图片居然都不显示,然后登陆路过图床排查原因,果然,上传的图片都失效了,包括之前的图片也不能看了,哎~ 免费没好货啊,担心的事情这么快就发生了,我想着图片怎么能用几年,这才几个月啊。我体会到要找活得长久的,技术好的公司的图床,要不没几年倒闭了或者图床被攻击了,你就哭去吧。最后我买了腾讯的对象存储,这个公司和技术不用质疑了,嗯!掏钱就行了,不过能买来心安也不错。 另外悟出来一点就是买公司产品,还是买大公司的好,小公司几天倒闭了,你的用户数据,财务数据怎么办?所以强者越强,弱者越弱,越弱越没人搭理,越强吸引的人才就多,公司产品就能做的越好,公司也就能做的越长久。

    系列传送门

  • 相关阅读:
    操作技巧——电脑远程控制
    软件安装——internal error2503/2502
    系统常识——虚拟内存地址
    操作技巧——保障无线上网的技巧
    操作技巧——输入法转换问题
    软件安装——彻底卸载MySQL
    Java——this
    python百度贴吧爬虫
    糗事百科python爬虫
    python请求带cookie
  • 原文地址:https://www.cnblogs.com/shun7man/p/12368349.html
Copyright © 2020-2023  润新知