企業大數據來源
1.企業內部
日誌文件
數據庫
**用戶行爲數據
2.企業外部
爬蟲
第三方購買(螞蟻數據銀行)--貴陽
大數據=海量數據+複雜類型的數據
hadoop是由谷歌的三篇論文
《mapreduce》 --》mapreduce 分佈式離線並行計算框
架
GFS ——————》HDFS 分佈式文件存儲
系統
bigtable ————》 HBASE 分佈式數據庫
Hadoop四大核心模塊
common
爲其他模塊提供基礎設施
hdfs
分佈式文件存儲系統
mapreduce
分佈式離線並行計算框架
分爲兩個階段 map reduce
yarn
任務管理 資源調度
一個新的框架,2.0之後產生的一個全新的框架(將任務
調度資源管理與mappreduce分離)
HDFS
namenode(一臺)
主從結構,
存儲的是元數據,包括,文件類型屬性,名稱等
datanode(多臺)
可以存儲不同的是數據塊(block)每一個數據塊默認大小(128M
)這個參數可以自定義
apache
hadoop。apache.org
google
hadoop功能
**數據存儲
**數據計算模型
文件系統,fat32 ntfs ext4
軟件版本 0.2
1.0
2.0 2.5
3.0
HDFS組成
一臺namenode 服務器
存儲元數據
和多臺datanode 服務器
存儲真實數據()
主從結構
一臺namenode
多臺datanode
一個文件上傳 唄分割爲 多個數據塊 每個數據塊 默認
大小
128M
hdfs 功能:
namenode 主節點,存放文件元數據,文件名 文
件目錄 結構,文件屬性
datanode 存儲在本地的文件數據,數據塊校驗
yarn
resourcemanage
任務調度資源管理
nodemanager
節點管理服務
任務管理 資源調度
1.客戶端 向 resourcemanager提交任務
2 resourcemanager向namenode 分配一個 applicationManager,
並找到一個容器生成一個 MR appmatr
3該應用的管理者 向resourcemanager申請資源
4資源申請完畢,找到nodemanager將容器中的 MRappmstr
啓動起來
5map 和reduce 任務啓動
6mapreduce 程序啓動 都要向 MRappmstr提交信息
7程序結束,應用的管理者都要向 resourcemanager提交信息
mapreduce
計算分爲兩個階段
map 文件上傳被分割程 多個任務,
shuffer
reduce 將map的結果輸出
系統安裝
1,創建虛擬機選擇磁盤 不能小於50G
2.安裝類型 桌面
3.分區默認
爲分佈式 準備環境
1, 設置網卡 ip爲靜態的
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=b17e5d93-cd31-4166-827f-18cf14586777
ONBOOT=yes #把網卡設置成開機啓動
NM_CONTROLLED=yes
BOOTPROTO=static DHCP改成static
HWADDR=00:0C:29:88:2A:28
IPADDR=192.168.30.100
PREFIX=24
GATEWAY=192.168.30.2
DNS1=192.168.30.2
DNS2=202.96.209.5
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
-
設置DNS
vi /etc/sysconfig/network-scripts/ifcfg-eth0DNS1=192.168.30.2 DNS2=202.96.209.5 把網絡服務重啓 service network restart 3.設置主機名 vi /etc/sysconfig/network hadoop-senior.beifeng.com 4.關閉防火牆
禁用linux中的安全子系統,是在selinux文件中
路徑/etc/sysconfig/selinux
1.首先將selinux=disabled
[root@java15 ~]# vi /etc/sysconfig/selinux
selinux=disabled
2.關閉防火牆
[root@java15 ~]# service iptables stop
3.設置防火牆開機不啓動
[root@java15 ~]# chkconfig iptables off
4.查看防火牆是否完全關閉
[root@java15 ~]# service iptables status
iptables: Firewall is not running.
5.添加主機名映射
[root@hadoop-senior ~]# vi /etc/hosts
192.168.30.100 hadoop-senior.xiaoping.com
windows C:\Windows\System32\drivers\etc
6.設置普通用戶 方便後期使用,後期的所有操作都使用普通用戶
useradd xiaoping
echo 123456 | passwd --stdin xiaoping
安裝jdk
su -root 切換root用戶創建
mkdir /opt/modules/ 用於軟件安裝的目錄
# mkdir /opt/softwares/ 用於軟件下載目錄
# chown beifeng:xiaoping /opt/modules/
# chown beifeng:xiaoping /opt/softwares/
hadoop-2.5.0.tar.gz
#su xiaoping 切換xiaoping用戶下
解壓jdk
$ tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/modules/
配置 jdk環境變量
/opt/modules/jdk1.7.0_67
# vi /etc/profile 用root用戶
##JAVA_HOME
JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
卸載系統自帶的jdk、
# rpm -qa |grep -i java
# rpm -e --nodeps tzdata-java-2012j-1.el6.noarch
# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-
1.50.1.11.5.el6_3.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
# vi ~/.bashrc 普通用戶環境配置可以選擇不配
##JAVA_HOME
JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
$ source /etc/profile
更新文件
# source ~/.bashrc
安裝hadoop
#tar -zxvf hadoop-2.5.0-cdh5.3.6.tar\(1\).gz -C /opt/modules/
hadoop安裝包下的配置文件所在目錄
/opt/modules/hadoop-2.5.0-cdh5.3.6/etc/hadoop
配置hadoop環境變量
hadoop-env.sh mapred-env.sh yarn-env.sh 三個全部修改javahome
export JAVA_HOME=/opt/modules/jdk1.7.0_67
修改 core-site.xml