全國大學生大數據技能競賽 | 學習日記


比賽項目

相關軟件下載

鏈接:https://pan.baidu.com/s/1W4rVk5D4Zp3nEn7iyXnlsQ 
提取碼:rdyo

Hadoop技術

2.1 Liunx 系統環境准備

3月份白嫖的阿里雲ECS雲服務器終於有用了,ubuntu 16.04 64bit,開始搭環境

都是一些基本的命令,如果以前 Linux 用得少按課程資料照貓畫虎也行

2.2 HDFS偽分布式集群搭建

HDFS 是負責海量數據的存儲,集群中的角色主要有 NameNode / DataNode

偽分布是因為只有一台雲主機,以后看看有什么項目能用到真框架吧

首先是安裝 hadoop,用了網盤里的版本,據說和比賽的匹配

然后就開始按課程資料一步步配置文檔,有些地方按自己的想法改着做了,沒出問題

就是我 vim 還用得比較蹩腳,快捷鍵記不住哈哈

2.3 YARN 偽分布式集群搭建

負責海量數據運算時的資源調度,集群中的角色主要有 ResourceManager /NodeManager

配置過程同上,沒啥好說的

附啟動集群成功截圖一張:

2.4 Hadoop 集群初體驗

因為是 SSH 到雲服務器上的,好像沒映射其他端口,看不到 UI 界面

這節課主要就是讓我們用 hadoop 的樣例程序體驗一下分布式計算過程,也沒啥好說的

數據倉庫hive

Hive 是基於 Hadoop 的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,並提供類 SQL 查詢功能, Hive 底層是將 SQL 語句轉換為 MapReduce 任務運行。

(1)Hive 處理的數據存儲在 HDFS;

(2)Hive 分析數據底層的實現是 MapReduce,利用 MapReduce 查詢數據;

(3)執行程序運行在 YARN 上。

2.1 Hive 內嵌模式安裝

內嵌模式:將元數據保存在本地內嵌的 Derby 數據庫中,這是使用 Hive 最簡單的方式。但是這種方式缺點也比較明顯,因為一個內嵌的 Derby 數據庫每次只能訪問一個數據文件,這也就意味着它不支持多會話連接。

按照課程資料給定流程安裝,注意在同一個目錄下同時只能有一個 Hive 客戶端能使用數據庫

輸入 hive 有反饋即連接成功(注意 hive 是基於 hadoop 的,所以事先要在該目錄下啟動集群 start-dfs.sh start-yarn.sh )

2.2 Hive 本地模式安裝

這種模式是將元數據保存在本地獨立的數據庫中(一般是 MySQL),這種方式是一個多用戶的模式,運行多個用戶 Client 連接到一個數據庫中。這種方式一般作為公司內部同時使用 Hive。 這里有一個前提,每一個用戶必須要有對 MySQL 的訪問權利,即每一個客戶端使用者需要知道 MySQL 的用戶名和密碼才行。

首先安裝 MySQL,由於用的是雲服務器(Ubuntu 16.04 64bit),用不了課程資料中的 rpm 包,以下是用 apt 的半自動安裝步驟:

(1)更新 apt-get > sudo apt-get update

(2)安裝服務端 > sudo apt-get install mysql-server

會有一個界面要求設置密碼

(3)安裝客戶端 > sudo apt-get install mysql-client

(4)安裝鏈接庫 > sudo apt-get install libmysqlclient-dev

配置和啟動流程和課程資料一致,包括:

  1. 初始化 MySQL 的數據庫

  2. 啟動 MySQL 服務

  1. 登錄 MySQL

  1. 重置 MySQL 密碼

  2. 增加遠程登錄權限

然后要把 Hive 元數據配置到 MySQL

3.1 驅動拷貝

將/root/software目錄下的 MySQL 驅動包 mysql-connector-java-5.1.47-bin.jar 拷貝到 ${HIVE_HOME}/lib 目錄下。

3.2 配置 Metastore到MySQL

同樣按課程資料操作

3.3 初始化元數據庫

中途報錯了一次,重寫了一次配置文件修復了

3.4 Hive 連接

注意啟動 Hive 之前要先啟動 Hadoop

爬蟲技術

Python Requests lib

...


免責聲明!

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



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