大数据技术之Hadoop3.1.2版本完全分布式部署搭建
java學習討論群:725562382? ?歡迎加入學習
先從別人那里復制了個思維導圖給大家參考
一.主機環境準備
1>.操作系統環境
[root@backup01 hadoop-3.1.2]# cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core)?[root@backup01 hadoop-3.1.2]# uname -r3.10.0-862.el7.x86_64[root@backup01 hadoop-3.1.2]# uname -mx86_64[root@backup01 hadoop-3.1.2]# df -hFilesystem ? ? ? ? ? ? ? Size ?Used Avail Use% Mounted on/dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% /devtmpfs ? ? ? ? ? ? ? ? 471M ? ? 0 ?471M ? 0% /devtmpfs ? ? ? ? ? ? ? ? ? ?488M ? ? 0 ?488M ? 0% /dev/shmtmpfs ? ? ? ? ? ? ? ? ? ?488M ? 15M ?473M ? 4% /runtmpfs ? ? ? ? ? ? ? ? ? ?488M ? ? 0 ?488M ? 0% /sys/fs/cgroup/dev/sda1 ? ? ? ? ? ? ? ?197M ?135M ? 62M ?69% /boottmpfs ? ? ? ? ? ? ? ? ? ? 98M ?4.0K ? 98M ? 1% /run/user/42tmpfs ? ? ? ? ? ? ? ? ? ? 98M ? 44K ? 98M ? 1% /run/user/1000/dev/sr0 ? ? ? ? ? ? ? ? 4.2G ?4.2G ? ? 0 100% /run/media/admin/CentOS 7 x86_64tmpfs ? ? ? ? ? ? ? ? ? ? 98M ? ? 0 ? 98M ? 0% /run/user/0[root@backup01 hadoop-3.1.2]# df -h *Filesystem ? ? ? ? ? ? ? Size ?Used Avail Use% Mounted on/dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% //dev/mapper/centos-root ? 10G ?8.3G ?1.8G ?83% /[root@backup01 hadoop-3.1.2]# free -htotal ? ? ? ?used ? ? ? ?free ? ? ?shared ?buff/cache ? availableMem: ? ? ? ? ? 974M ? ? ? ?600M ? ? ? ?105M ? ? ? ?4.3M ? ? ? ?268M ? ? ? ?155MSwap: ? ? ? ? ?2.0G ? ? ? ?261M ? ? ? ?1.7G
? ?我這邊有 1 個 master 主機(主節點),2 個 slave 主機(從節點),
? 3 臺主機的 hosts 配置文件如下
master的hostname
slave1的hostname
slave2的hostname
2> ssh免密登錄
[root@backup01software]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):? Enter passphrase (empty for no passphrase):? Enter same passphrase again:? Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:r7urq4AdFvcCOq7dBafbRbNe61FA8Yvu+/SEHJZ9uFM root@backup01 The key's randomart image is: +---[RSA 2048]----+ | ? ? ? ? ?o. ? ? | | ? ? ? ? . . ? ? | | ?o . ? ? . . ? ?| | . + . ? ? o + . | |o o o o S . * o E| |.= . = . = + o + | |..o . . o = + + ?| |.. o + o + + o . | |. . +.+o*==o. . ?| +----[SHA256]-----+ [root@backup01 software]# cd /root/ [root@backup01 ~]# ll total 8 -rw-------. 1 root root 2044 May ?4 18:14 anaconda-ks.cfg -rw-r--r--. 1 root root 2075 May ?4 18:23 initial-setup-ks.cfg [root@backup01 ~]# ls -a . ? anaconda-ks.cfg ?.bash_logout ? .bashrc ?.config ?.dbus ? ? ? ? ? ? ? ? .ssh ? ? .Xauthority .. ?.bash_history ? ?.bash_profile ?.cache ? .cshrc ? initial-setup-ks.cfg ?.tcshrc [root@backup01 ~]# cd .ssh/ [root@backup01 .ssh]# ll total 12 -rw-------. 1 root root 1679 May 19 19:29 id_rsa -rw-r--r--. 1 root root ?398 May 19 19:29 id_rsa.pub -rw-r--r--. 1 root root ?175 May 19 17:01 known_hosts [root@backup01 .ssh]# scp ./id_rsa.pub root@192.168.0.121:/root/.ssh/authorized_keys root@192.168.0.121's password:? id_rsa.pub ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?100% ?398 ? 309.1KB/s ? 00:00 ? ? [root@backup01?.ssh]# ll total 16 -rw-r--r--. 1 root root ?398 May 19 19:40 authorized_keys -rw-------. 1 root root 1679 May 19 19:29 id_rsa -rw-r--r--. 1 root root ?398 May 19 19:29 id_rsa.pub -rw-r--r--. 1 root root ?175 May 19 17:01 known_hosts [root@backup01?.ssh]# ssh 192.168.0.121 Last login: Sun May 19 17:21:07 2019 [root@backup01?~]#??
[root@backup02 software]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):? Enter passphrase (empty for no passphrase):? Enter same passphrase again:? Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:W1wq1Uf9Z725ZHpWm4G/3CUjOCRxFjZsGCl3xzR+/EI root@backup02 The key's randomart image is: +---[RSA 2048]----+ | ? ? ? ?.=+oo .. | | ? ? ?. +.+=o+ ?.| | ? ? ? o.o+.+ E o| | ? ? ? ? * o + .=| | ? ? ? ?S = ? o.=| | ? ? ? ? * . . B.| | ? ? ? ?. o . B B| | ? ? ? ? ? . o.Xo| | ? ? ? ? ? ? ?ooo| +----[SHA256]-----+ [root@backup02 software]# cd /root/ [root@backup02 ~]# ls? anaconda-ks.cfg ?initial-setup-ks.cfg [root@backup02 ~]# ls -a . ? anaconda-ks.cfg ?.bash_profile ?.cache ? .cshrc ?initial-setup-ks.cfg ?.tcshrc .. ?.bash_logout ? ? .bashrc ? ? ? ?.config ?.dbus ? .ssh ? ? ? ? ? ? ? ? ?.Xauthority [root@backup02 ~]# cd .ssh/ [root@backup02 .ssh]# ll total 12 -rw-------. 1 root root 1675 May 19 19:33 id_rsa -rw-r--r--. 1 root root ?398 May 19 19:33 id_rsa.pub -rw-r--r--. 1 root root ?175 May 19 19:16 known_hosts [root@backup02 .ssh]# ll total 16 -rw-r--r--. 1 root root ?398 May 19 19:37 authorized_keys -rw-------. 1 root root 1675 May 19 19:33 id_rsa -rw-r--r--. 1 root root ?398 May 19 19:33 id_rsa.pub -rw-r--r--. 1 root root ?175 May 19 19:16 known_hosts [root@backup02 .ssh]# scp ./id_rsa.pub root@192.168.0.120:/root/.ssh/authorized_keys root@192.168.0.120's password:? id_rsa.pub ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?100% ?398 ? 431.7KB/s ? 00:00 ? ? [root@backup02 .ssh]# ssh 192.168.0.120 Last login: Sun May 19 19:16:54 2019 from 192.168.0.121 [root@backup02 ~]#??
3>.配置安裝jdk(三臺主機都要配置)
?3.1 首先確認刪除 centos 系統自帶的 jdk
$ rpm -qa | grep java python-javapackages-3.4.1-11.el7.noarch tzdata-java-2018e-3.el7.noarch javapackages-tools-3.4.1-11.el7.noarch java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64- rpm 是一種用于打包及安裝工具
- -q 代表 query,a 代表 all
- grep: 用于文本搜索
名稱里有 openjdk 的要刪除
$ rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 $ rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_643.2 安裝 jdk
這里安裝的是?jdk1.8
1)創建 jdk 環境的路徑
$ mkdir /usr/local/java2)將下載好的jdk壓縮包解壓到指定路徑
?
設置壞境變量
vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_172
export PATH=$PATH:$JAVA_HOME/bin
使配置生效
source? /etc/profile
查看jdk是否配置成功
?
?
?
4>.關閉防火墻
?
$ su firewall-cmd --state 查看防火墻狀態 $ su systemctl stop firewalld.service 關閉防火墻 $ su systemctl disable firewalld.service 禁止開機時防火墻自啟 ? ?[root@backup01 hadoop-3.1.2]# systemctl stop firewalld[root@backup01?hadoop-3.1.2]# systemctl status firewalld??● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)[root@backup01 hadoop-3.1.2]#??
?
5. 下載、解壓 Hadoop(三臺主機都要安裝)
到 這里 下載 Hadoop 3.1.2 版本
5.1 創建 hadoop 目錄
$ mkdir /usr/local/hadoop5.2 解壓 hadoop 壓縮包到指定目錄
?
6. 修改配置文件(三臺主機都要配置)
配置文件的路徑在?/usr/local/hadoop/hadoop-3.1.2/etc/hadoop
1)hadoop-env.sh
2)core-site.xml
3)hdfs-site.xml
4)mapred-site.xml
5)yarn-site.xml
6)workers
7)start-dfs.sh 和 stop-dfs.sh
8)start-yarn.sh 和 stop-yarn.sh
9)配置 hadoop 環境變量
注意具體配置參考:https://blog.csdn.net/ywl470812087/article/details/100065160
?
7. 啟動 hadoop(在主節點上操作)
7.1 啟動 hadoop 之前在 master 上 format 名稱節點
cd /usr/local/hadoop/hadoop-3.1.2/bin hdfs namenode -format出現以下信息則說明 namenode 格式化成功
INFO common.Storage: Storage directory /usr/local/hadoop/hadoop-3.1.2/namenode has been successfully formatted.7.2 在 master 節點上啟動 hadoop 服務
cd? /usr/local/hadoop/hadoop-3.1.2
?
7.3 查看 hadoop 服務是否啟動成功
查看 master 節點
查看 slave1 節點
查看 slave2 節點
當 3 臺節點分別出現這些 java 進程,則 hadoop 啟動成功
java學習討論群:725562382? ?歡迎加入學習
?
既然我們都已經hadoop啟動成功:我們訪問下
hadoop默認端口:9870
yarn默認端口: 8088
訪問hadoop地址:http://192.168.0.120:9870/
?
?
yarn訪問地址:http://192.168.0.120:8088/
?
?
總結
以上是生活随笔為你收集整理的大数据技术之Hadoop3.1.2版本完全分布式部署搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你眼泪的味道,我知道!
- 下一篇: 引言