Hadoop學習環境搭建
Apache Hadoop3.1.1虛擬機器環境搭建
最近想學習一下大資料相關的知識,都說Hadoop是目前學習大資料必不可少的,所以那就先從Hadoop開始吧。第一步就是搭建一個Hadoop的環境,我選擇的是用VirtualBox虛擬機器搭建一個簡單的Hadoop環境,Hadoop的版本是3.1.1。
工具準備
安裝虛擬機器
利用VirtualBox搭建虛擬機器環境,一共安裝三臺虛擬機器,一臺作為namenode,兩臺作為datanode,三臺虛擬機器只有hostname和ip不同,其他相同,所以只演示一臺的安裝過程:
- 新建虛擬機器,名稱為hadoop001,作業系統選擇Linux,版本選擇Red Hat (64-bit),點選【下一步】 ;
- 設定記憶體和硬碟儲存位置及大小,我是設定的2G記憶體和100G硬碟;
- 建立完成後,設定儲存為下載的CentOS安裝ISO檔案,設定網路為橋接網絡卡,然後點選啟動,開始安裝作業系統;
- 安裝作業系統不多贅述,正常安裝即可,需要注意一點,安裝過程中直接設定好hostname和IP地址;
- 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
- 按照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安裝和配置
- 第一步配置三臺虛擬機器之間能互相不用使用者名稱密碼訪問
- 配置Hadoop
- 啟動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>