入門大數據---安裝ClouderaManager,CDH和Impala,Hue,oozie等服務

1.要求和支持的版本

(PS:我使用的環境,都用加粗標識了。)html

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)

​ (系統版本要求)java

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.

​ (系統空間要求)node

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.0四、18.04 LTS的默認設置) img

​ (MySql版本要求)mysql

1.4支持的JDKs

Cloudera企業版 支持的Oracle JDK 支持的OpenJDK
5.3 -5.15 1.七、1.8 沒有
5.16 和更高的5.x版本 1.七、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.八、11.0.3或更高

​ (從上圖能夠看到6.0支持的是1.8版本)linux

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版本)git

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進行搭建遇到了不少坑,最終仍是沒搭建好總結的一個經驗。緣由就是你想安裝某個軟件,官方都不支持下載了,你還獲得處找,而後匹配,有一點不匹配就會致使內核不支持,你要是再升級內核,就又得找,而後去安裝去實驗,麻煩的一批。跟不上時代了,你連哭的地都沒有。就至關於互聯網時代能在網上購票了,你還去排很長的隊去現場買票,那麼你就得乘坐交通工具去吧,跑很遠的路,等有一天中止人工售票了,你難道還去找門子讓別人幫你買票麼?話說回來了,也就是軟件停更了,你難道還去各個網站去找老版本麼?github

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 下載到本地。web

下載VMWare虛擬機軟件。使用VMWare進行安裝,一共須要安裝三臺,主機名和ip配置如上所示。sql

PS:先安裝一臺,而後照着下面設置,設置完後克隆下修改主機名和ip就能夠了。shell

安裝步驟可參考: http://www.javashuo.com/article/p-rvjcmgta-cb.html

下面說下安裝完成後如何配置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寫的,爲了方便上傳,把圖片都放到路過圖牀了,上傳完畢後,個人圖片竟然都不顯示,而後登錄路過圖牀排查緣由,果真,上傳的圖片都失效了,包括以前的圖片也不能看了,哎~ 免費沒好貨啊,擔憂的事情這麼快就發生了,我想着圖片怎麼能用幾年,這才幾個月啊。我體會到要找活得長久的,技術好的公司的圖牀,要不沒幾年倒閉了或者圖牀被攻擊了,你就哭去吧。最後我買了騰訊的對象存儲,這個公司和技術不用質疑了,嗯!掏錢就好了,不過能買來心安也不錯。 另外悟出來一點就是買公司產品,仍是買大公司的好,小公司幾天倒閉了,你的用戶數據,財務數據怎麼辦?因此強者越強,弱者越弱,越弱越沒人搭理,越強吸引的人才就多,公司產品就能作的越好,公司也就能作的越長久。

系列傳送門

相關文章
相關標籤/搜索