hadoop單節點搭建

企業大數據來源
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"

  1. 設置DNS
    vi /etc/sysconfig/network-scripts/ifcfg-eth0

            DNS1=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

fs.defaultFS hdfs://hadoop-senior.beifeng.com:8020 hadoop.tmp.dir /opt/modules/hadoop-2.5.0-cdh5.3.6/data 修改slaves文件 --》指定那臺服務器是datanode hadoop-senior.beifeng.com 比如三臺主機 每行一個主機名or ip hadoop-senior.beifeng1.com hadoop-senior.beifeng2.com hdfs-site.xml 副本數不能大於主機個數(hdfs當節點不切換文件,集 羣會) dfs.replication 1 格式化文件系統 $ bin/hdfs namenode -format 啓動namenode 和datanode 服務 $ sbin/hadoop-daemon.sh start namenode 啓動namenode $ sbin/hadoop-daemon.sh start datanode 啓動datanode 查看服務進程 [beifeng@hadoop-senior hadoop-2.5.0]$ jps 10031 Jps 9954 DataNode 9845 NameNode $ bin/hdfs dfs -mkdir /input 創建文件夾在hdfs上 $ bin/hdfs dfs -put /opt/modules/yy.txt /input 上傳文件 $ bin/hdfs dfs -cat /input/yy.txt 查看文件 配置 yarn 資源管理,任務調度 yarn-env.sh mapred-env.sh 環境變量: export JAVA_HOME=/opt/modules/jdk1.7.0_67 **resourcemanager **nodemanager yarn-site.xml yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname hadoop-senior.beifeng.com mapred-site.xml mapreduce.framework.name yarn 啓動yarn $ sbin/yarn-daemon.sh start resourcemanager $ sbin/yarn-daemon.sh start nodemanager 瀏覽器 http://hadoop-senior.beifeng.com:8088/cluster 利用官方自帶jar包進行文件的單詞統計 $ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-exam ples-2.5.0.jar wordcount /input/ /output $ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0- cdh5.3.6.jar wordcount /input/ /output 查看統計結果 $ bin/hdfs dfs -cat /output/par* 配置日誌服務器 yarn-site.xml yarn.log-aggregation-enable true yarn.log-aggregation.retain-seconds 86400 mapred-site.xml mapreduce.jobhistory.address hadoop-senior.beifeng.com:10020 mapreduce.jobhistory.webapp.address hadoop-senior.beifeng.com:19888 重啓yarn $ sbin/yarn-daemon.sh stop resourcemanager $ sbin/yarn-daemon.sh stop nodemanager $ sbin/yarn-daemon.sh start resourcemanager $ sbin/yarn-daemon.sh start nodemanager 啓動historyserver服務 $ sbin/mr-jobhistory-daemon.sh start historyserver $ bin/yarn jar share/hadoop/mapreduce/hadoop-ma preduce-examples-2.5.0.jar wordcount /input/ /output1 源文件分隔符\t input表示輸入路徑 output表示輸出路徑 必須是不存在的 都是HDFS裏面的路徑 解決警告: 替換native包 將native壓縮包解壓至/opt/modules/hadoop-2.5.0/lib 替換原來的native 問題: 用戶操作的問題 不要用root用戶啓動服務 切換普通用戶的時候記得去虛擬機查看是否已經切換普通用戶 /opt目錄下 的兩個文件夾 一定是屬於普通用戶的 編輯配置文件的時候 notepad 用普通用戶去登陸操作, 虛擬機環境問題 防火牆 網關 ip 主機名本地hosts文件添加映 射 查看日誌信息 tail -n50查看後五十行日誌信息 /opt/modules/hadoop-2.5.0/logs $ tail -n50 hadoop-beifeng-namenode-hadoop-senior.beifeng.com.log
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章