溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

hadoop單節(jié)點(diǎn)搭建

發(fā)布時(shí)間:2020-08-02 17:01:00 來(lái)源:網(wǎng)絡(luò) 閱讀:880 作者:jiaohuanji88 欄目:大數(shù)據(jù)

企業(yè)大數(shù)據(jù)來(lái)源
1.企業(yè)內(nèi)部
日志文件
數(shù)據(jù)庫(kù)
**用戶行為數(shù)據(jù)
2.企業(yè)外部
爬蟲(chóng)
第三方購(gòu)買(螞蟻數(shù)據(jù)銀行)--貴陽(yáng)
大數(shù)據(jù)=海量數(shù)據(jù)+復(fù)雜類型的數(shù)據(jù)
hadoop是由谷歌的三篇論文
《mapreduce》 --》mapreduce 分布式離線并行計(jì)算框


GFS ——————》HDFS 分布式文件存儲(chǔ)

系統(tǒng)
bigtable ————》 HBASE 分布式數(shù)據(jù)庫(kù)

Hadoop四大核心模塊
common
為其他模塊提供基礎(chǔ)設(shè)施
hdfs
分布式文件存儲(chǔ)系統(tǒng)
mapreduce
分布式離線并行計(jì)算框架
分為兩個(gè)階段 map reduce
yarn
任務(wù)管理 資源調(diào)度
一個(gè)新的框架,2.0之后產(chǎn)生的一個(gè)全新的框架(將任務(wù)

調(diào)度資源管理與mappreduce分離)
HDFS
namenode(一臺(tái))
主從結(jié)構(gòu),
存儲(chǔ)的是元數(shù)據(jù),包括,文件類型屬性,名稱等

    datanode(多臺(tái))
             可以存儲(chǔ)不同的是數(shù)據(jù)塊(block)每一個(gè)數(shù)據(jù)塊默認(rèn)大?。?28M

)這個(gè)參數(shù)可以自定義

            apache  
                    hadoop。apache.org

            google                
            hadoop功能
                    **數(shù)據(jù)存儲(chǔ)
                    **數(shù)據(jù)計(jì)算模型
    文件系統(tǒng),fat32 ntfs  ext4
    軟件版本  0.2
    1.0
    2.0   2.5 
    3.0
    HDFS組成
            一臺(tái)namenode 服務(wù)器
                    存儲(chǔ)元數(shù)據(jù)
            和多臺(tái)datanode 服務(wù)器 
                    存儲(chǔ)真實(shí)數(shù)據(jù)()
    主從結(jié)構(gòu)
                    一臺(tái)namenode

                    多臺(tái)datanode

                    一個(gè)文件上傳  唄分割為 多個(gè)數(shù)據(jù)塊  每個(gè)數(shù)據(jù)塊 默認(rèn)

大小
128M
hdfs 功能:
namenode 主節(jié)點(diǎn),存放文件元數(shù)據(jù),文件名 文

件目錄 結(jié)構(gòu),文件屬性
datanode 存儲(chǔ)在本地的文件數(shù)據(jù),數(shù)據(jù)塊校驗(yàn)
yarn
resourcemanage
任務(wù)調(diào)度資源管理
nodemanager
節(jié)點(diǎn)管理服務(wù)
任務(wù)管理 資源調(diào)度
1.客戶端 向 resourcemanager提交任務(wù)
2 resourcemanager向namenode 分配一個(gè) applicationManager,

并找到一個(gè)容器生成一個(gè) MR appmatr
3該應(yīng)用的管理者 向resourcemanager申請(qǐng)資源
4資源申請(qǐng)完畢,找到nodemanager將容器中的 MRappmstr

啟動(dòng)起來(lái)
5map 和reduce 任務(wù)啟動(dòng)
6mapreduce 程序啟動(dòng) 都要向 MRappmstr提交信息
7程序結(jié)束,應(yīng)用的管理者都要向 resourcemanager提交信息

mapreduce
計(jì)算分為兩個(gè)階段
map 文件上傳被分割程 多個(gè)任務(wù),
shuffer
reduce 將map的結(jié)果輸出
系統(tǒng)安裝
1,創(chuàng)建虛擬機(jī)選擇磁盤 不能小于50G
2.安裝類型 桌面
3.分區(qū)默認(rèn)
為分布式 準(zhǔn)備環(huán)境
1, 設(shè)置網(wǎng)卡 ip為靜態(tài)的
vi /etc/sysconfig/network-scripts/ifcfg-eth0

                    DEVICE=eth0

TYPE=Ethernet
UUID=b17e5d93-cd31-4166-827f-18cf14586777
ONBOOT=yes #把網(wǎng)卡設(shè)置成開(kāi)機(jī)啟動(dòng)
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. 設(shè)置DNS
    vi /etc/sysconfig/network-scripts/ifcfg-eth0

            DNS1=192.168.30.2
    DNS2=202.96.209.5
       把網(wǎng)絡(luò)服務(wù)重啟  service network restart
      3.設(shè)置主機(jī)名
      vi /etc/sysconfig/network
      hadoop-senior.beifeng.com
     4.關(guān)閉防火墻

    禁用linux中的安全子系統(tǒng),是在selinux文件中
    路徑/etc/sysconfig/selinux
    1.首先將selinux=disabled
    [root@java15 ~]# vi /etc/sysconfig/selinux
    selinux=disabled
    2.關(guān)閉防火墻
    [root@java15 ~]# service iptables stop
    3.設(shè)置防火墻開(kāi)機(jī)不啟動(dòng)
    [root@java15 ~]# chkconfig iptables off
    4.查看防火墻是否完全關(guān)閉
    [root@java15 ~]# service iptables status
    iptables: Firewall is not running.
    5.添加主機(jī)名映射
    [root@hadoop-senior ~]# vi /etc/hosts
    192.168.30.100 hadoop-senior.xiaoping.com

windows C:\Windows\System32\drivers\etc
6.設(shè)置普通用戶 方便后期使用,后期的所有操作都使用普通用戶
useradd xiaoping

echo 123456 | passwd --stdin xiaoping

安裝jdk
su -root 切換root用戶創(chuàng)建

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環(huán)境變量
    /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

    卸載系統(tǒng)自帶的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    普通用戶環(huán)境配置可以選擇不配
  ##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-cdh6.3.6.tar\(1\).gz  -C /opt/modules/

hadoop安裝包下的配置文件所在目錄
/opt/modules/hadoop-2.5.0-cdh6.3.6/etc/hadoop

    配置hadoop環(huán)境變量

hadoop-env.sh mapred-env.sh yarn-env.sh 三個(gè)全部修改javahome
export JAVA_HOME=/opt/modules/jdk1.7.0_67

修改 core-site.xml
<!--hdfs默認(rèn)訪問(wèn)入口-->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-senior.beifeng.com:8020</value>
</property>
<!--存放hadoop 運(yùn)行產(chǎn)生臨時(shí)數(shù)據(jù)的目錄-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0-cdh6.3.6/data</value>
</property>
</configuration>

    修改slaves文件  --》指定那臺(tái)服務(wù)器是datanode
    hadoop-senior.beifeng.com   比如三臺(tái)主機(jī) 每行一個(gè)主機(jī)名or ip
    hadoop-senior.beifeng1.com
    hadoop-senior.beifeng2.com

hdfs-site.xml
<!--設(shè)置副本數(shù)為1個(gè)副本-->副本數(shù)不能大于主機(jī)個(gè)數(shù)(hdfs當(dāng)節(jié)點(diǎn)不切換文件,集

群會(huì))
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
格式化文件系統(tǒng)
$ bin/hdfs namenode -format
啟動(dòng)namenode 和datanode 服務(wù)
$ sbin/hadoop-daemon.sh start namenode 啟動(dòng)namenode
$ sbin/hadoop-daemon.sh start datanode 啟動(dòng)datanode
查看服務(wù)進(jìn)程
[beifeng@hadoop-senior hadoop-2.5.0]$ jps
10031 Jps
9954 DataNode
9845 NameNode
$ bin/hdfs dfs -mkdir /input 創(chuàng)建文件夾在hdfs上
$ bin/hdfs dfs -put /opt/modules/yy.txt /input 上傳文件
$ bin/hdfs dfs -cat /input/yy.txt 查看文件

配置 yarn
資源管理,任務(wù)調(diào)度
yarn-env.sh mapred-env.sh
環(huán)境變量:
export JAVA_HOME=/opt/modules/jdk1.7.0_67

    **resourcemanager
    **nodemanager

yarn-site.xml

<!--NodeManager上運(yùn)行的附屬服務(wù)。需配置成mapreduce_shuffle,才可運(yùn)行

MapReduce程序-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--resourcemanager提供給客戶端的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-senior.beifeng.com</value>
</property>

    mapred-site.xml

<!--mapreeduce 運(yùn)行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
啟動(dòng)yarn
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
瀏覽器
http://hadoop-senior.beifeng.com:8088/cluster
利用官方自帶jar包進(jìn)行文件的單詞統(tǒng)計(jì)
$ 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-

cdh6.3.6.jar wordcount /input/ /output

查看統(tǒng)計(jì)結(jié)果
$ bin/hdfs dfs -cat /output/par*

配置日志服務(wù)器
yarn-site.xml
<!--啟動(dòng)日志聚合功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--日志保存時(shí)間毫秒-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>

mapred-site.xml
<!--進(jìn)程通信-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop-senior.beifeng.com:10020</value>
</property>
<!--客戶端訪問(wèn)入口-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop-senior.beifeng.com:19888</value>
</property>

重啟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
啟動(dòng)historyserver服務(wù)
$ 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 替換原來(lái)的native

問(wèn)題:
用戶操作的問(wèn)題
不要用root用戶啟動(dòng)服務(wù)
切換普通用戶的時(shí)候記得去虛擬機(jī)查看是否已經(jīng)切換普通用戶
/opt目錄下 的兩個(gè)文件夾 一定是屬于普通用戶的
編輯配置文件的時(shí)候 notepad 用普通用戶去登陸操作,
虛擬機(jī)環(huán)境問(wèn)題 防火墻 網(wǎng)關(guān) ip 主機(jī)名本地hosts文件添加映

查看日志信息 tail -n50查看后五十行日志信息
/opt/modules/hadoop-2.5.0/logs
$ tail -n50 hadoop-beifeng-namenode-hadoop-senior.beifeng.com.log

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI