大數據基礎---安裝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寫的,為了方便上傳,把圖片都放到路過圖床了,上傳完畢后,我的圖片居然都不顯示,然后登陸路過圖床排查原因,果然,上傳的圖片都失效了,包括之前的圖片也不能看了,哎~ 免費沒好貨啊,擔心的事情這么快就發生了,我想着圖片怎么能用幾年,這才幾個月啊。我體會到要找活得長久的,技術好的公司的圖床,要不沒幾年倒閉了或者圖床被攻擊了,你就哭去吧。最后我買了騰訊的對象存儲,這個公司和技術不用質疑了,嗯!掏錢就行了,不過能買來心安也不錯。 另外悟出來一點就是買公司產品,還是買大公司的好,小公司幾天倒閉了,你的用戶數據,財務數據怎么辦?所以強者越強,弱者越弱,越弱越沒人搭理,越強吸引的人才就多,公司產品就能做的越好,公司也就能做的越長久。

系列傳送門


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM