天天看點

hadoop詳細配置hadoop詳細配置

詳見fenghaootong-github

hadoop詳細配置

  • hadoop基礎知識

java JDK配置

  • 下載下傳JDK
  • 解壓jdk到/usr/local/目錄下
  • 配置環境變量

節點規劃

主機名稱 IP位址 功能
hadoop1 192.168.75.111 NameNode、DataNode、resourcemanager、nodemanager
hadoop2 192.168.75.112 DataNode、nodemanager
hadoop3 192.168.75.113 DataNode、nodemanager

建立虛拟機配置網絡

  • 手動配置DHCP
  • 修改域名,在/etc/sysconfig/network中添加HOSTNAME=hadoop1
  • 把域名添加到/etc/hosts中
  • 修改/etc/sysconfig/network-scripts/ifcfg-ens33檔案
    • 添加DNS和網關一樣
    • ONBOOT=yes

安裝nginx

  • pcre
tar zxvf pcre-.tar.gz
cd pcre-
./configure && make && make install
           
  • openssl
tar zxvf openssl-.tar.gz
cd openssl-fips-
./config && make && make install
           
  • zlib
tar zxvf zlib-.tar.gz
cd zlib-
./configure && make && make install
           
  • nginx
tar zxvf nginx-.tar.gz
cd nginx-
 ./configure && make && make install
           

單機版hadoop配置

  • 下載下傳hadoop
  • 解壓壓縮包到

    /usr/local/

    目錄
  • 配置環境變量
  • 修改hadoop/etc/hadoop/hadoop-env.sh檔案中的JAVA環境變量為JDK路徑
  • 測試
which hadoop
    hadoop version
           
$ mkdir /home/htfeng/data/input
$ cp hadoop/etc/hadoop/*.xml /home/htfeng/data/input
$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-.jar grep /home/htfeng/data/input /home/htfeng/data/output 'dfs[a-z.]+'
$ cat /home/htfeng/data/output/*
$ hdfs dfs -ls /
           

克隆虛拟機

  • 修改網卡資訊(忽略)
  • 修改主機名
vi /etc/sysconfig/network
           
  • 修改ip資訊
vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改ip、硬體位址和UUID
           
  • 修改映射
vi /etc/hosts  

 hadoop2 www.hadoop2.com
           

叢集配置

  • 配置JDK
  • 配置hadoop
  • 配置hadoop-env.sh
  • 配置hadoop-core-site.xml
  • 配置hadoop-hdfs-site.xml
  • 配置hadoop-mapred-site.xml
  • 配置hadoop-yarn-site.xml
  • 配置slave
  • 發送hadoop檔案到所有機子上

配置core-site.xml

配置hadoop-hdfs-site.xml

配置hadoop-mapred-site.xml

配置hadoop-yarn-site.xml

配置slave

發送hadoop檔案到所有機子上

scp -r ../hadoop-2.8.4/ hadoop2:/usr/local/
scp -r ../hadoop-2.8.4/ hadoop3:/usr/local/
           

啟動之前在namenode伺服器上格式化,隻需一次即可

  • 關閉防火牆
systemctl stop firewalld.service
           
hadoop namenode -format

全啟動:start-all.sh
子產品啟動:
start-dfs.sh
start-yarn.sh
單個程序啟動
hadoop-daemon.sh start/stop namenode
hadoop-daemons.sh start/stop datanode
yarn-daemon.sh start/stop namenode
yarn-daemons.sh start/stop datanode
mr-jobhistory-daemon.sh start/stop historyserver
           
netstat -tnpl:檢視啟動端口
  • 啟動start-dfs.sh測試
  • 上傳和下載下傳檔案(測試hdfs)
hdfs dfs -put ./README.txt /
           
  • 啟動start-yarn.sh跑一個mapreduce作業
yarn jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-.jar wordcount /README.txt /out/
           

免密登入

ssh-keygen -t rsa
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3
           

HDFS shell

hdfs的shell

指令和shell指令基本一緻

hdfs dfs -

Usage: hadoop fs [generic options]
    [-appendToFile <localsrc> ... <dst>]
    [-cat [-ignoreCrc] <src> ...]
    [-checksum <src> ...]
    [-chgrp [-R] GROUP PATH...]
    [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
...
           
hdfs dfs -ls /   
hadoop fs - /  
hdfs dfs -ls -R / #遞歸檢視  
hdfs dfs -mkdir -p /  #遞歸建立
hdfs dfs -touchz  /test/te.txt
hdfs dfs -put ./if.sh /if.sh  # 本地目錄上傳到hdfs檔案目錄
hdfs dfs -get /if.sh /home/htfeng  #從hdfs檔案目錄下載下傳
hdfs dfs -du -s / #統計目錄大小
           

window中安裝maven

  • 下載下傳maven
  • 解壓并複制到一個目錄
  • 配置環境變量
  • 配置maven,修改settings.xml檔案,指定本地倉庫位置

    H:\hadoop\mvnrepositry

    , maven庫
  • 和java的編輯工具整合(eclipse,idea,myeclipse等)

maven項目測試

hadoop核心協定RPC(遠端過程調用協定)

例子

  • 建一個rpc的包,然後建立下面三個java腳本,具體代碼
    • hello.java
    • RPCServer.java
    • RPCClient.java

zookeeper

  • zookeeper基礎知識
  • Download
  • 解壓到/usr/local/
  • 配置環境變量
  • 修改配置檔案/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/home/htfeng/zkdata/
clientPort=2181
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
           

在每個伺服器上面建立myid,内容為server.X中的X

mkdir /home/htfeng/zkdata
vi /home/htfeng/zkdata/myid
           

zookeeper測試

HDFS的HA

  • HDFS的HA基礎講解

規劃

主機名稱 IP位址 功能
hadoop1 192.168.75.111 NameNode、DataNode、jouranlnode、quroumPeerMain、zkf
hadoop2 192.168.75.112 DataNode、jouranlnode、quroumPeerMain、zkf
hadoop3 192.168.75.113 DataNode、jouranlnode、quroumPeerMain
在配置HA之前,要對之前的配置做一個備份
mv /usr/local/hadoop-/ /usr/local/hadoop-_bak
           

HA的配置

  • 解壓下載下傳的hadoop,到/usr/local/目錄下

在/usr/local/hadoop-2.8.4/etc/hadoop/下

- 配置hadoop-env.sh

- 配置hadoop-core-site.xml

- 配置hadoop-hdfs-site.xml

- 配置slave

- 發送hadoop檔案到所有機子上

- hadoop2也作為namenode免密登陸

配置hadoop-env.sh

配置hadoop-core-site.xml

配置hadoop-hdfs-site.xml

配置slaves

發送hadoop檔案到所有機子上

scp -r ../hadoop-2.8.4/ hadoop2:/usr/local/
scp -r ../hadoop-2.8.4/ hadoop3:/usr/local/
           

hadoop2也作為namenode免密登陸

  • 在hadoop2主機上
ssh-keygen -t rsa
ssh-copy-id hadoop2
ssh-copy-id hadoop1
ssh-copy-id hadoop3
           

按步驟依次執行下面程式

  • 啟動zk
  • 啟動journalnode服務(單個啟動、多個程序啟動)
hadoop-daemon.sh start journalnode
hadoop-daemons.sh start journalnode
           
  • 挑選兩個namenode中的一台進行格式化,然後并且啟動
hdfs namenode -format
hadoop-daemon.sh start namenode
           
  • 在另一台namenode的機器上拉去中繼資料(也可以複制)
  • 格式化zk
  • 啟動

會有五個程序,檢視是否全部啟動

檢視webUI是否正(http://192.168.75.111:50070,http://192.168.75.112:50070)

在hdfs中的讀寫檔案

然後關閉一個namenode失敗,檢視是否自動切換

kill -9 [namenode pid]
hadoop-daemon.sh start namenode
           

Yarn的HA

規劃

主機名稱 IP位址 功能
hadoop1 192.168.75.111 resourcemanager、nodemanager、quroumPeerMain
hadoop2 192.168.75.112 nodemanager、quroumPeerMain
hadoop3 192.168.75.113 nodemanager、quroumPeerMain

HA的配置

  • HA基礎
  • 配置yarn-site.xml
  • 配置mapred-site.xml
  • 遠端發送
  • 直接啟動
  • 測試

配置yarn-site.xml

配置mapred-site.xml

遠端發送

scp -r ./etc/hadoop/mapred-site.xml ./etc/hadoop/yarn-site.xml hadoop2:/usr/local/hadoop-/etc/hadoop/

scp -r ./etc/hadoop/mapred-site.xml ./etc/hadoop/yarn-site.xml hadoop3:/usr/local/hadoop-/etc/hadoop/
           

直接啟動

#hadoop1
start-yarn.sh
#hadoop2
yarn-daemon.sh start resourcemanager
           

測試

yarn jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-.jar wordcount /words /out/
           

轉載于:https://www.cnblogs.com/htfeng/p/9931737.html