1. 程式人生 > >Hadoop學習環境搭建

Hadoop學習環境搭建

Apache Hadoop3.1.1虛擬機器環境搭建

最近想學習一下大資料相關的知識,都說Hadoop是目前學習大資料必不可少的,所以那就先從Hadoop開始吧。第一步就是搭建一個Hadoop的環境,我選擇的是用VirtualBox虛擬機器搭建一個簡單的Hadoop環境,Hadoop的版本是3.1.1。

工具準備

安裝虛擬機器

利用VirtualBox搭建虛擬機器環境,一共安裝三臺虛擬機器,一臺作為namenode,兩臺作為datanode,三臺虛擬機器只有hostname和ip不同,其他相同,所以只演示一臺的安裝過程:

  1. 新建虛擬機器,名稱為hadoop001,作業系統選擇Linux,版本選擇Red Hat (64-bit),點選【下一步】 ;
    在這裡插入圖片描述
  2. 設定記憶體和硬碟儲存位置及大小,我是設定的2G記憶體和100G硬碟;
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
  3. 建立完成後,設定儲存為下載的CentOS安裝ISO檔案,設定網路為橋接網絡卡,然後點選啟動,開始安裝作業系統;
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
  4. 安裝作業系統不多贅述,正常安裝即可,需要注意一點,安裝過程中直接設定好hostname和IP地址
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
  5. hadoop001安裝完成,,hostname:hadoop001,ip:192.168.0.181。由於安裝的是Minal模式,所以需要通過yum安裝net-tools等工具。具體工具可百度。同時需要安裝Java環境,簡單說來就是下載jdk,然後解壓到指定目錄後,設定環境變數即可,此處不再具體敘述 ,可百度。連線linux和傳輸檔案的工具可以用XShell和XFtp。
# Java environment
export JAVA_HOME=/usr/lib/java/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
  1. 按照hadoop001的方式安裝完成hadoop002(hostname:hadoop002, ip:192.168.0.182),hadoop003(hostname:hadoop003, ip:192.168.0.183);此處的IP地址根據你自己的網路環境進行設定。按照hadoop001的方式安裝完成hadoop002(hostname:hadoop002, ip:192.168.0.182),hadoop003(hostname:hadoop003, ip:192.168.0.183);此處的IP地址根據你自己的網路環境進行設定。

到此為止,虛擬機器環境安裝完成,接下來就是Hadoop的安裝和配置過程

Hadoop安裝和配置

  1. 第一步配置三臺虛擬機器之間能互相不用使用者名稱密碼訪問
  2. 配置Hadoop
  3. 啟動Hadoop

配置Hadoop001、Hadoop002、Hadoop003互相訪問

  • 虛擬機器中設定host檔案
vim /etc/hosts

三臺機器做一樣的設定

192.168.0.181 hadoop001
192.168.0.182 hadoop002
192.168.0.183 hadoop003

保證三臺機器都能互相ping通
在這裡插入圖片描述

  • 虛擬機器hadoop001中生成ssh金鑰
ssh-keygen -t rsa -P ''

在這裡插入圖片描述
hadoop002與hadoop003做同樣的操作,完成後可以通過命令檢視金鑰對是否生成成功

ls /root/.ssh/

在這裡插入圖片描述

然後合併hadoop001、hadoop002、hadoop003的id_rsa.pub檔案內容到authorized_keys檔案中:
首先看一下三臺機器中的id_rsa.pub內容
hadoop001

cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4X22DpQ8VYtLZsz0bmd8M4DvU6Ixf6YuZ1ss7Y+gJPIL4X/X2bYIk14rRTPY3/N2lG758mh0OJL0ET1c4J+48g/YZ3gXvbeo4WxIfNaVF/5Qk64hTQjrDpT8BmOB0U/rzt3TDndnkKiOLuHsbaCSthkCZEN2Hrn1IcLVYIj5BxlS5Gtb3eFhKElNfFoFsnoIulMirxuqOld0UhSYNNBOcnZoTll/GUdHufDorlR0ADwM1AxbVo4uVPnDk4i1heVEXyL5iySxM5+Z+qYqywGyKHCBNEIBx0TpnCqnBofv0fd+pDNDbNHYbulAMLZbio85WlsSzhpL5Wws8M3LcGWFD [email protected]

hadoop002

cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0MB7PUJYdVwEr9fKgJ1b8xaODbq4ZX0G/+YrLEj6e6/TNHo/M6U/bEPWkClT14PjI2SKXqVtHgMLDe8aShxHxV7KfXG6KS002lIGXa0bOXdbFIr74GEdJJmL1wLZvbuKEAC8h1DkIsnDLr7/pKTDReN3L1iHgcSqjUHXqXC0cd6tZTfc/oDqZ7q2xmGbdRSB/uKX1stt09+a64AAvQPrCenTS6BP4VfSnY2WCxUOu28+z33uZf2q4UxwIdYn1CmPGCeobdeLyfeMMrVZoJfhE/K47wiAUteb+bHvpsy9pS5beJjBcI0Cvri0puH4HgOoveMNhenBMVGS68Lo5fr8h [email protected]

hadoop003

cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJ3BgltB9uS8oRxoIrHwBsUOwSak2eKF7SqjKD6uacXc5iE6uXvSiZxT8BKhPHczBWQ2s2vd40U616L9SlHbN2rzsED6AdM9zNPvcPEW/SgmC2yJ4HYAJJKo+UAYLHwj9nh5IocwbHTkIxTAmBubvXcKOvjyzB2NMK4T0VAuEvLadySrxCt/cyHBGT0V0h2RAyx0IODSL5+gP/mNJsoou1wq2H18XF2TNYTUZU2aMb4HW99mcCm7Ps451LcGVSHKxoWyr08FaKZyV0vqI2va33JhohzxW7bhHbAsWK1UJE9jWhKbIL1Flmi6TS9mlnFVytoCHc+LU/AKtOS+ZonGx5 [email protected]

首先建立authorized_keys檔案,然後新增hadoop001中的id_rsa.pub中的內容

touch authorized_keys
cat id_rsa.pub >> authorized_keys

通過xshell工具可以非常方便的通過vim命令編輯authorized_keys檔案,把hadoop002和hadoop003的id_rsa.pub檔案內容合併到authorized_keys中。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4X22DpQ8VYtLZsz0bmd8M4DvU6Ixf6YuZ1ss7Y+gJPIL4X/X2bYIk14rRTPY3/N2lG758mh0OJL0ET1c4J+48g/YZ3gXvbeo4WxIfNaVF/5Qk64hTQjrDpT8BmOB0U/rzt3TDndnkKiOLuHsbaCSthkCZEN2Hrn1IcLVYIj5BxlS5Gtb3eFhKElNfFoFsnoIulMirxuqOld0UhSYNNBOcnZoTll/GUdHufDorlR0ADwM1AxbVo4uVPnDk4i1heVEXyL5iySxM5+Z+qYqywGyKHCBNEIBx0TpnCqnBofv0fd+pDNDbNHYbulAMLZbio85WlsSzhpL5Wws8M3LcGWFD [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0MB7PUJYdVwEr9fKgJ1b8xaODbq4ZX0G/+YrLEj6e6/TNHo/M6U/bEPWkClT14PjI2SKXqVtHgMLDe8aShxHxV7KfXG6KS002lIGXa0bOXdbFIr74GEdJJmL1wLZvbuKEAC8h1DkIsnDLr7/pKTDReN3L1iHgcSqjUHXqXC0cd6tZTfc/oDqZ7q2xmGbdRSB/uKX1stt09+a64AAvQPrCenTS6BP4VfSnY2WCxUOu28+z33uZf2q4UxwIdYn1CmPGCeobdeLyfeMMrVZoJfhE/K47wiAUteb+bHvpsy9pS5beJjBcI0Cvri0puH4HgOoveMNhenBMVGS68Lo5fr8h [email protected]
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJ3BgltB9uS8oRxoIrHwBsUOwSak2eKF7SqjKD6uacXc5iE6uXvSiZxT8BKhPHczBWQ2s2vd40U616L9SlHbN2rzsED6AdM9zNPvcPEW/SgmC2yJ4HYAJJKo+UAYLHwj9nh5IocwbHTkIxTAmBubvXcKOvjyzB2NMK4T0VAuEvLadySrxCt/cyHBGT0V0h2RAyx0IODSL5+gP/mNJsoou1wq2H18XF2TNYTUZU2aMb4HW99mcCm7Ps451LcGVSHKxoWyr08FaKZyV0vqI2va33JhohzxW7bhHbAsWK1UJE9jWhKbIL1Flmi6TS9mlnFVytoCHc+LU/AKtOS+ZonGx5 [email protected]

然後通過xftp工具非常方便的把該檔案放到hadoop002和hadoop003中的相同路徑下
現在就可測試看看ssh無密碼登入了,從hadoop001上分別通過ssh直接連線hadoop002和hadoop003,發現無需輸入密碼可直接登入
在這裡插入圖片描述

配置Hadoop

  • 關閉防火牆
    為了防止防火牆原因導致節點之間通訊出現問題,首先關閉防火牆並重啟,命令如下,在三臺虛擬機器中分別進行操作
#執行以下命令關閉防火牆
[[email protected] ~]systemctl stop firewalld && systemctl disable firewalld
[[email protected] ~]setenforce 0

#將SELINUX的值改成disabled
[[email protected] ~]vim /etc/selinux/config

SELINUX=disabled

#重啟伺服器
[[email protected] ~]reboot
  • 配置檔案修改
    首先通過xftp工具把下載的hadoop檔案傳到虛擬機器中,然後解壓後,設定環境變數,我的環境變數如下,通過命令vim /etc/profile 編輯配置檔案,在檔案最後新增以下內容。具體路徑各位可根據自己的具體情況設定
# Hadoop environment
export HADOOP_HOME=/opt/hadoop/hadoop-3.1.1
export PATH=$PATH:${HADOOP_HOME}/bin

完成後通過source命令重新整理環境變數,切記
定位到hadoop目錄下,然後配置hadoop的配置檔案,這些配置檔案全部位於 /opt/hadoop/hadoop-3.1.1/etc/hadoop 資料夾下
hadoop-env.sh

# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
# export JAVA_HOME=
export JAVA_HOME=/usr/lib/java/jdk1.8.0_181

core-site.xml

<configuration>
    <!-- 指定HDFS老大(namenode)的通訊地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop001:9000</value>
    </property>
    <!-- 指定hadoop執行時產生檔案的儲存路徑 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/data/tmp</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
    <!-- 設定namenode的http通訊地址 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop001:50070</value>
    </property>

    <!-- 設定secondarynamenode的http通訊地址 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop002:50090</value>
    </property>

    <!-- 設定namenode存放的路徑 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop/data/name</value>
    </property>

    <!-- 設定hdfs副本數量 -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- 設定datanode存放的路徑 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop/data/datanode</value>
    </property>
    
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
    <!-- 通知框架MR使用YARN -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>  
        <name>mapreduce.application.classpath</name>  
        <value>  
        /opt/hadoop/hadoop-3.1.1/etc/hadoop,  
        /opt/hadoop/hadoop-3.1.1/share/hadoop/common/*,  
        /opt/hadoop/hadoop-3.1.1/share/hadoop/common/lib/*,  
        /opt/hadoop/hadoop-3.1.1/share/hadoop/hdfs/*,  
        /opt/hadoop/hadoop-3.1.1/share/hadoop/hdfs/lib/*,  
        /opt/hadoop/hadoop-3.1.1/share/hadoop/mapreduce/*,  
        /opt/hadoop/hadoop-3.1.1/share/hadoop/mapreduce/lib/*,  
        /opt/hadoop/hadoop-3.1.1/share/hadoop/yarn/*,  
        /opt/hadoop/hadoop-3.1.1/share/hadoop/yarn/lib/*  
        </value>  
    </property>
</configuration>

yarn-site.xml

<configuration>
    <property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
    </property>  
    <property>  
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
        <value>org.apache.hadoop.mapred.ShuffleHandle</value>  
    </property>  
    <property>  
        <name>yarn.resourcemanager.resource-tracker.address</name>  
        <value>hadoop001:8025</value>  
    </property>  
    <property>  
        <name>yarn.resourcemanager.scheduler.address</name>  
        <value>hadoop001:8030</value>  
    </property>  
    <property>  
        <name>yarn.resourcemanager.address</name>  
        <value>hadoop001:8040</value>  
    </property>  
</configuration>

$HADOOP_HOME/sbin/start-dfs.sh $HADOOP_HOME/sbin/stop-dfs.sh

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

在這裡插入圖片描述
$HADOOP_HOME/sbin/start-yarn.sh $HADOOP_HOME/sbin/stop-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

在這裡插入圖片描述
masters
需要建立一個master檔案,配置secondary namenode的主機

[[email protected] hadoop]# touch /opt/hadoop/hadoop-3.1.1/etc/hadoop/masters
[[email protected] hadoop]# vim /opt/hadoop/hadoop-3.1.1/etc/hadoop/masters
#新增
hadoop002

workers

[[email protected] hadoop]# vim /opt/hadoop/hadoop-3.1.1/etc/hadoop/workers
#新增
hadoop002
hadoop003

建立資料夾

[[email protected] hadoop]# mkdir -p /opt/hadoop/data/tmp
[[email protected] hadoop]# mkdir -p /opt/hadoop/data/name
[[email protected] hadoop]# mkdir -p /opt/hadoop/data/datanode

複製到其他主機

[[email protected] opt]# scp -r /opt/hadoop hadoop002:/opt/
[[email protected] opt]# scp -r /opt/hadoop hadoop003:/opt/

修改hadoop002、hadoop003 環境變數,修改完成後重新整理環境變數
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

啟動Hadoop

第一次啟動需要格式化,然後執行指令碼啟動即可

[[email protected] opt]#  /opt/hadoop/hadoop-3.1.1/bin/hdfs namenode -format
[[email protected] opt]#  /opt/hadoop/hadoop-3.1.1/sbin/start-all.sh

在這裡插入圖片描述
在這裡插入圖片描述
啟動後通過瀏覽器訪問hadoop001上的站點地址,可以檢視當前hadoop狀態,到此為止環境搭建完成。

相關推薦

Hadoop學習環境搭建

Apache Hadoop3.1.1虛擬機器環境搭建 最近想學習一下大資料相關的知識,都說Hadoop是目前學習大資料必不可少的,所以那就先從Hadoop開始吧。第一步就是搭建一個Hadoop的環境,我選擇的是用VirtualBox虛擬機器搭建一個簡單的Had

大數據學習系列之六 ----- Hadoop+Spark環境搭建

csdn jdk sts htm ps命令 sta cnblogs 環境變量設置 lib 引言 在上一篇中 大數據學習系列之五 ----- Hive整合HBase圖文詳解 : http://www.panchengming.com/2017/12/18/pancm62/

Hadoop-0.20.2原始碼學習(2)——原始碼學習環境搭建

參考: JeffreyZhou的部落格園 《Hadoop權威指南》第四版 0 本文前提 在上一篇文章中,通過啟動指令碼xxx.sh檔案的探索,對hadoop的原始碼有了一個初步的認識,發現最終都是執行

Hadoop學習筆記-Hadoop HDFS環境搭建

資源下載 1、JDK下載: 下載連結 2、hadoop: 下載連結 3、下載完成後驗證一下下載,將計算的MD5值與官網的進行對比已驗證安裝包的準確性: md5sum ./hadoop-2.6.*.tar.gz | tr "a-z" "A-Z"

[大資料學習研究] 3. hadoop分散式環境搭建

  1. Java安裝與環境配置 Hadoop是基於Java的,所以首先需要安裝配置好java環境。從官網下載JDK,我用的是1.8版本。 在Mac下可以在終端下使用scp命令遠端拷貝到虛擬機器linux中。 danieldu@daniels-MacBook-Pro-857 ~/Down

Django重新開始學習--環境搭建 筆記(一)

nbsp url對應 tin art admin set pla base default 環境 :   python2.7   django 1.9.8   使用工具pycharm   Mysql =====================================

大數據Hadoop學習搭建Hadoop平臺(2.1)

穩定版 發的 log tar sshd scheduler 文件夾 三種 rest    關於大數據,一看就懂,一懂就懵。 一、簡介   Hadoop的平臺搭建,設置為三種搭建方式,第一種是“單節點安裝”,這種安裝方式最為簡單,但是並沒有展示出Hadoop的技術優勢,適

Linux虛擬機學習環境搭建—虛擬機創建

centos6、vmware虛擬機創建 主機環境是Windows8.1,虛擬機軟件用VMware Workstation10,Linux選擇CentOS6.6 x86_64版本。 一:安裝VMware。 準備VMware安裝文件包,點擊安裝,就是在windows環境安裝應用

Linux虛擬機學習環境搭建—虛擬機安裝

虛擬機安裝接上一篇的Linux虛擬機學習環境搭建—虛擬機創建“ 點擊“開啟此虛擬機”,進入系統安裝界面。Tab鍵可以調整選項,直接選擇第一項,回車。備註:鼠標點擊進入虛擬機,要跳出虛擬機回到主機控制,按下Ctrl+Alt。出現Disc Found界面,用Tab鍵,選擇到Skip選項,回車。備註:此操作是校

MongoDB學習--環境搭建記錄

文件 .com sea 密碼 chkconfig 密鑰 win -- 啟動 Mongo安裝教程,參考英文官網 基本命令, 索引的引用,索引基於地理位置的數據, win10 64位 系統中安裝虛擬機 win10 系統中安裝虛擬機VMwareWorkstation11 並安裝

大數據測試之hadoop單機環境搭建(超級詳細版)

com jvm 末尾 內容 取數 搭建 cluster replicat specific 友情提示:本文超級長,請備好瓜子 Hadoop的運行模式 單機模式是Hadoop的默認模式,在該模式下無需任何守護進程,所有程序都在單個JVM上運行,該模式主要用於開發和調試map

Ubuntu深度學習環境搭建 tensorflow+pytorch

源安裝 class x86 port ORC 鏈接庫 mon latest news 目前電腦配置:Ubuntu 16.04 + GTX1080顯卡 配置深度學習環境,利用清華源安裝一個miniconda環境是非常好的選擇。尤其是今天發現conda install -c m

Spark+Hadoop+IDE環境搭建

AR spark 環境搭建 分享圖片 img oop tps get 搭建 下載地址:https://download.csdn.net/download/u014028392/8841545 Spark+Hadoop+IDE環境搭建

深度學習環境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0

edi tensor pkgs strong www url 輸出 軟鏈接 5.0 目錄 深度學習環境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0 Reference 硬件說明: 軟件準備: 1. 安

Mybatis入門級學習-環境搭建

onf 新建 tro 執行器 所在 classes follow 沒有 roc 在MyBatis官方文檔上是這樣說的: MyBatis 是一款優秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲

Ubuntu16.04系統GPU深度學習環境搭建

安裝Ubuntu16.04.5系統 安裝過程就不詳述了。 安裝NVIDIA1080Ti顯示卡驅動 ll /etc/modprobe.d/blacklist.conf sudo chmod 666 /etc/modprobe.d/blacklist.conf sudo vi

ubuntu系統的mysql+hadoop+hive環境搭建

1.在ubuntu系統上安裝mysql資料庫 sudo apt-get install mysql-server 安裝過程中會提示兩次輸入密碼,己住自己設定的密碼,一直下一步。 檢查是否安裝成功:mysql -u 使用者名稱 -p 密碼 顯示資料庫後 show databases; 出現數

ubuntu16 深度學習環境搭建步驟

egl RKE 編程 支持 source ogl 瀏覽器 oot 文件夾 在安裝ubuntu之前需要條一下BIOS,講UEFI模式改為Legacy 模式。 ubuntu分區系統搭建可以參考一下博客: 分區大小為: boot 400~500M swap 內存大小 主分區 &

HBase+Hadoop+Zookeeper環境搭建的錯誤排查

確認hbase下的hbase-site.xml中的hbase.rootdir的埠和hadoop下的core-site.xml中的fs.defaultFS共用一個埠,否則在進入hbase shell的時候輸入list會報Can't get master address from Z

一、Hybris學習-環境搭建-2018/06/26

1.從git拉程式碼         # git config --globaluser.name <Your_name>