1. 程式人生 > >大資料平臺CDH叢集離線搭建

大資料平臺CDH叢集離線搭建

摘要:管理、部署Hadoop叢集需要工具,Cloudera Manager便是其一。本文先是簡要對比了當前的類似工具,而後詳細記錄了以離線方式部署CDH叢集>的步驟。

前言

    以Apache Hadoop為主導的大資料技術的出現,使得中小型公司對於大資料的儲存與處理也擁有了武器。目前Hadoop有不少發行版:華為發行版 收費、Intel發行版 收費、Cloudera發行版(Cloudera’s Distribution Including Apache Hadoop,簡稱 CDH)免費、Hortonworks發行版(Hortonworks Data Platform,簡稱 HDP)免費 等,所有這些發行版均是基於Apache Hadoop社群版衍生出來的。
    部署、管理擁有數十數百甚至更多節點的Hadoop叢集,也需要先進武器。Hortonworks公司的Apache Ambari專案的目的就是通過軟體來配置、監控和管理Hadoop(HDP)叢集,以使Hadoop的管理更加簡單。Ambari提供了一個基於它自身RESTful的api實現的直觀的、簡單易用的web介面。Cloudera公司也提供了類似的工具:Cloudera Manager(簡稱 CM)來配置、監控和管理CDH叢集。
    需特別注意的是Cloudera Manager與作業系統的版本關係 el7暫不支援,按照官方文件的要求來,否則安裝會有問題。

注意:本文是基於作業系統CentOS 6.5, 64-bit;Cloudera Manager 5.3.6;JDK 1.7 版本進行部署的。

部署步驟

網路配置(所有節點)

[[email protected]server ~]# vi /etc/sysconfig/network #修改hostname:
NETWORKING=yes
HOSTNAME=cdh-server

[[email protected]server ~]# vi /etc/hosts #修改ip與主機名的對應關係:
192.168.180.173 cdh-server
192.168.180
.175 node175 [[email protected]server ~]# service network restart #重啟網路服務生效

安裝JDK(所有節點)

#解除安裝OpenJDK
[root@cdh-server user1]# rpm -qa | grep java
[root@cdh-server user1]# rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
[root@cdh-server user1]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
[root@cdh-server user1]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 #安裝JDK [root@cdh-server user1]# chmod a+x jdk-7u79-linux-x64.rpm [root@cdh-server user1]# rpm -ivh jdk-7u79-linux-x64.rpm [root@cdh-server user1]# echo "JAVA_HOME=/usr/java/jdk1.7.0_79/" >> /etc/environment

安裝MySQL(主節點)

[user1@cdh-server]$ cd /home/user1
[user1@cdh-server]$ tar -zxvf mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz
[user1@cdh-server]$ mv mysql-5.6.26-linux-glibc2.5-x86_64 mysql-5.6.26
[user1@cdh-server]$ cd mysql-5.6.26/
[user1@cdh-server]$ vi support-files/my.cnf #新建檔案
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[mysqld]
character-set-server=utf8
default-storage-engine=INNODB

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /home/user1/mysql-5.6.26/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /home/user1/mysql-5.6.26/data
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

初始化MySQL(主節點)

[user1@cdh-server]$ ./scripts/mysql_install_db --defaults-file=/home/user1/mysql-5.6.26/support-files/my.cnf --basedir=/home/user1/mysql-5.6.26 --datadir=/home/user1/mysql-5.6.26/data --user=user1
[user1@cdh-server]$ ./bin/mysqld --defaults-file=/home/user1/mysql-5.6.26/support-files/my.cnf --basedir=/home/user1/mysql-5.6.26 --datadir=/home/user1/mysql-5.6.26/data > mysql.log 2>&1 &
[user1@cdh-server]$ ./bin/mysqladmin -u root password '123456'
[[email protected] mysql-5.6.26]$ ./bin/mysql -uroot -p'123456'
#hive
mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

#Activity Monitor使用
mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.01 sec)

#Navigator Audit Server使用
mysql> create database audit DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.01 sec)
#Navigator Metadata Server
mysql> create database metadata DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.01 sec)

mysql> grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to 'root'@'cdh-server' identified by '123456' with grant option;
Query OK, 0 rows affected (0.00 sec)

#this user scm is for  cloudera manager
mysql> grant all privileges on *.* to 'scm'@'localhost' identified by 'scm' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to 'scm'@'cdh-server' identified by 'scm' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

部署/啟動CM Server(主節點)

[user1@cdh-server ~]$ tar -zxvf cloudera-manager-el6-cm5.3.6_x86_64.tar.gz
[user1@cdh-server ~]$ cp mysql-connector-java-5.1.33-bin.jar ./cm-5.3.6/share/cmf/lib/

[user1@cdh-server ~]$ su - root
[root@cdh-server ~]# cd /home/user1/

[root@cdh-server user1]# cp -rf cloudera /opt
[root@cdh-server user1]# mv CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel /opt/cloudera/parcel-repo/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel
[root@cdh-server user1]# mv CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha /opt/cloudera/parcel-repo/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha
[root@cdh-server user1]# mv manifest.json /opt/cloudera/parcel-repo/manifest.json
[root@cdh-server user1]# ./cm-5.3.6/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost:3306 -uroot -p123456 --scm-host localhost scm scm scm
[root@cdh-server user1]# ./cm-5.3.6/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server:                              [  OK  ]
[root@cdh-server user1]# tail -f ./cm-5.3.6/log/cloudera-scm-server/cloudera-scm-server.log

關閉防火牆(所有節點)

#停止iptables
[root@cdh-server user1]# service iptables stop
#通過瀏覽器訪問驗證
http://192.168.180.173:7180/

部署/啟動CM Agent(從節點)

[root@cdh-server user1]# tar -zxvf cloudera-manager-el6-cm5.3.6_x86_64.tar.gz
[root@cdh-server user1]# vi cm-5.3.6/etc/cloudera-scm-agent/config.ini
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Hostname of the CM server.
#server_host=localhost
server_host=cdh-server
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[root@cdh-server user1]# useradd -G sys --home=/home/user1/cm-5.3.6/run/cloudera-scm-server --no-create-home  --comment "Cloudera SCM User" cloudera-scm
[root@cdh-server user1]# useradd --comment "Cloudera SCM User" cloudera-scm #若上一步執行正確,則此步省略

[root@cdh-server user1]# echo 0 > /proc/sys/vm/swappiness

[root@cdh-server user1]# ./cm-5.3.6/etc/init.d/cloudera-scm-agent start
Starting cloudera-scm-agent:                               [  OK  ]
[root@cdh-server user1]# tail -f ./cm-5.3.6/log/cloudera-scm-agent/cloudera-scm-agent.log

配置CDH

登陸Cloudera Manager http://192.168.180.173:7180/,並新建叢集Cluster_user1,進行各服務的配置啟動。
#安裝配置hive出錯時,在hiveServer上:
[[email protected]server user1]# cp mysql-connector-java-5.1.33-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hive/lib/

#同理:use this jar for Navigator Audit Server and Navigator Metadata Server or Activity Server
[[email protected]server user1]# cp mysql-connector-java-5.1.33-bin.jar /usr/share/java/mysql-connector-java.jar

其他

停止叢集步驟

  • 停止Cloudera Management Service和Cluster_user1
  • 從節點停止Agent
[root@cdh-server user1]# ./cm-5.3.6/etc/init.d/cloudera-scm-agent stop
  • 主節點停止Server
[[email protected]server user1]# ./cm-5.3.6/etc/init.d/cloudera-scm-server stop

啟動叢集步驟

  • 主節點啟動MySQL
[user1@cdh-server]$ ./bin/mysqld --defaults-file=/home/user1/mysql-5.6.26/support-files/my.cnf --basedir=/home/user1/mysql-5.6.26 --datadir=/home/user1/mysql-5.6.26/data > mysql.log 2>&1 &
[user1@cdh-server]$ ps -a | grep mysql
  • 從節點啟動Agent
[root@cdh-server user1]# ./cm-5.3.6/etc/init.d/cloudera-scm-agent start
Starting cloudera-scm-agent:                               [  OK  ]
[root@cdh-server user1]# tail -f ./cm-5.3.6/log/cloudera-scm-agent/cloudera-scm-agent.log
  • 主節點啟動Server
[[email protected]server user1]# ./cm-5.3.6/etc/init.d/cloudera-scm-server start
Starting cloudera-scm-server:                              [  OK  ]
[[email protected]server user1]# tail -f ./cm-5.3.6/log/cloudera-scm-server/cloudera-scm-server.log

啟動our叢集步驟

node90:

  • 主節點啟動MySQL (cm與hive依賴它, 最好先啟動)
(1). 用 user1 賬號 啟動mysql
 cd /home/user1/mysql-5.6.26
 ./bin/mysqld --defaults-file=/home/user1/mysql-5.6.26/support-files/my.cnf --basedir=/home/user1/mysql-5.6.26 --datadir=/home/user1/mysql-5.6.26/data > mysql.log 2>&1 &

 (2). 驗證是否啟動成功    ps -ef | grep mysql 
  • 主節點啟動Server
  • 從節點啟動Agent

node98:

  • 從節點啟動Agent
  • 啟動tomcat,有其他統計程式在裡面執行 (our) @user1

node96:

  • 從節點啟動Agent
  • 啟動kibana :
    cd /home/deploy/kibana-4.1.1-linux-x64
    ./bin/kibana > kibana.log 2>&1 &              --@user1
  • 啟動tomcat,有其他統計程式在裡面執行 (our) @user1
service elaticsearch restart
service elaticsearch install 加入到開機自啟動
service elaticsearch stop

相關推薦

資料平臺CDH叢集離線搭建

摘要:管理、部署Hadoop叢集需要工具,Cloudera Manager便是其一。本文先是簡要對比了當前的類似工具,而後詳細記錄了以離線方式部署CDH叢集>的步驟。 前言 以Apache Hadoop為主導的大資料技術的出現,使得中小型

1.資料CDH叢集搭建詳細步驟(一)

1.使用CDH,其中CDH表示的意思是Cloudera’s Distribution Including Apache Hadoop,簡稱“CDH”) 基於web的使用者介面,支援大多數的hadoop元件,包括了HDFS,MapReduce以及HIve和Pig Hbase以及Zookeepe

資料平臺hbase,phoenix,spark搭建和研發問題和解決方式彙總

#Q Caused by: java.lang.NoSuchMethodError: org.apache.hadoop.tracing.SpanReceiverHost.get $A <hadoop.version>2.7.3</hadoop.version>

資料平臺Hadoop的分散式叢集環境搭建,官網推薦

1 概述 本文章介紹大資料平臺Hadoop的分散式環境搭建、以下為Hadoop節點的部署圖,將NameNode部署在master1,SecondaryNameNode部署在master2,slave1、slave2、slave3中分別部署一個DataNode節點 NN

資料平臺搭建------CDH單機部署

       從 17年十一月入職起,到中間經歷了畢業、春節、轉正。在工作崗位上學到了很多很多的東西,非常有幸遇到這麼一群人生導師,早就想把工作中趟過的坑,總結的文件,開個部落格記錄起來,一來可以給其他人蔘考,二來也是自己的一個複習吧。可是拖延症作祟,這事,一直耽擱,爭取以後

資料平臺hive原生搭建教程

環境準備 centos 7.1系統 需要三臺雲主機: master(8) 作為 client 客戶端 slave1(9) 作為 hive server 伺服器端 slave2(10) 安裝 mysql server 安裝包使用的是官網下載的 將hive上傳到master ,mys

資料平臺--Hadoop原生搭建教程

環境準備: 三臺虛擬機器 master(8)、slave1(9)、slave2(10) centos 7.1、jdk-8u171-linux-x64.tar.gz、hadoop-2.7.3.tar.gz 0x1環境準備 首先先在三臺虛擬機器中建立hadoop資料夾 mdkir /

資料:spark叢集搭建

建立spark使用者組,組ID1000 groupadd -g 1000 spark 在spark使用者組下建立使用者ID 2000的spark使用者 獲取視訊中文件資料及完整視訊的夥伴請加QQ群:947967114useradd -u 2000 -g spark spark 設定密碼 passwd

ambari資料平臺搭建的安裝(全)

本篇主要說明離線安裝的流程,如需檢視線上安裝的可以看以前博文 https://blog.csdn.net/xiaozou_it/article/details/82911160 一、安裝前的一些準備(離、線上皆需先完成) 1、推薦四臺虛擬機器器(本文以centos為例) 2、

使用docker搭建資料平臺

我們以Ambari+HDP為例。儘管說運維堅決不同意在docker上執行大資料元件,但是我覺得,作為測試和學習目的在本地快速構建大資料叢集仍然是一件非常有意義的事情。 如果我們想採取Ambari來安裝HDP的話,其包含的主要元件如下 ambari-server: 主要部署的控

小型資料平臺搭建

目錄 前言 一、 搭建環境 1.1叢集規劃 二、 叢集的相關配置 2.1 新建使用者hadoop 2.2 更改主機名 2.3 主機和IP做相關對映 2.4 SSH免密碼登入 2.5 時間配置 2.6 整體安裝目錄安排 三、 Hadoop HA環境搭建 3.1 JDK配置 3.2 安裝

資料平臺搭建(hadoop+spark)

一.基本資訊 1. 伺服器基本資訊 主機名 ip地址 安裝服務 spark-master 172.16.200.81 jdk、hadoop、spark、scala spark-slave01 172.16.200.82 jd

阿里如何實現秒級百萬TPS?搜尋離線資料平臺架構解讀

什麼是搜尋離線? 一個典型的商品搜尋架構如下圖所示,本文將要重點介紹的就是下圖中的離線資料處理系統(Offline System)。 何謂離線?在阿里搜尋工程體系中我們把搜尋引擎、線上算分、SearchPlanner等ms級響應使用者請求的服務稱之為“

Ambari——資料平臺搭建利器

Ambari 是什麼 Ambari 跟 Hadoop 等開源軟體一樣,也是 Apache Software Foundation 中的一個專案,並且是頂級專案。目前最新的釋出版本是 2.0.1,未來不久將釋出 2.1 版本。就 Ambari 的作用來說,就是建立

(一)資料生態圈叢集搭建之 --Linux環境準備

搭建準備工作 本地機環境 準備安裝包 虛擬機器工具 連線工具 上傳工具 CentOS虛擬機器環境搭建 通用配置 靜態IP配置 時間同步配置 JDK環境配置

阿里雲搭建資料平臺(3):安裝JDK和Hadoop偽分佈環境

一、安裝jdk 1.解除安裝Linux自帶的JDK rpm -qa|grep jdk   #查詢原始JDK yum -y remove  <舊JDK> 2.解壓縮 tar -zxvf /opt/softwares/jdk-8u151-linux-x64.t

資料學習——hadoop叢集搭建2.X

1.準備Linux環境 1.0先將虛擬機器的網路模式選為NAT 1.1修改主機名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=itcast ### 1.2修改IP 兩種方式: 第一種:通過Linux圖形介面進行修改(強烈推薦) 進入Linux圖形

Spark、Hadoop資料平臺搭建

下載安裝包 Spark 分散式計算 spark-2.3.2-bin-hadoop2.7,安裝包大小:220M 支援Hadoop 2.7以後的版本 Scala Scala環境,Spark的開發語言 scala-2.12.8.tgz,安裝包大小:20M Hadoo

離線輕量級資料平臺Spark之JavaRDD關聯join操作

對兩個RDD進行關聯操作,如: 1)檔案post_data.txt包含:post_id\title\content 2)檔案train.txt包含:dev_id\post_id\praise\time 通過post_id關聯,提取post_id\content\praise

CDH資料平臺優化---hdfs優化

        hdfs作為大資料底層的分散式檔案系統,在大資料生態圈中起著很重要的作用,hdfs檔案系統的效能直接影響著大資料平臺效能。故對hdfs做有效的優化顯得尤其重要。現對hdfs優化總結如下: core-default.xml h