CentOS 7配置Hadoop3.X环境 附部分原理说明
需要工具:
VMware, jdk, centOS7, hadoop,Mobaxterm?(或其他終端如Xshell)
Ⅰ.準備工作:虛擬機安裝
CentOS操作系統(tǒng)(Linux)? 官網鏈接:?The CentOS Project
VMware虛擬機 自行下載
-
CentOS安裝建議選用以下安裝方式:
?圖形化界面更直觀? 后續(xù)方便VMtools等工具使用 (復制粘貼文本 等主機交互命令)
桌面模式下設置root直接登錄:
CentOS7自動以root身份登陸gnome桌面_DanylZhang的博客-CSDN博客_gnome root登錄
-
設置和主機互傳文件 (VMtools設置共享文件)(如果安裝終端則不需要這步)
安裝VMware:
如何給CentOS 安裝Vmware Tools(Linux桌面版安裝)_鍵盤林的博客-CSDN博客_centos安裝vmware tools
設置共享文件夾后 在Linux內/mnt/hgfs/目錄下能找到共享文件
一些方便的命令(/快捷鍵):
#centOS默認上下翻頁 shift + pgUp shift + pgDn#linux一些命令(快捷鍵) 輸入智能補全: "Alt+/" 或者 "Tab"鍵 查看文件:cat 文件名#修改文件時間屬性,若文件不存在則新建文件 touch fileCentOS最常用命令及快捷鍵整理_騰訊數據架構師的博客-CSDN博客
Ⅱ.開始配置:ip設置
這里使用NAT模式(地址轉換模式,不需要和主機網關相同)
虛擬機VMware三種網絡模式工作原理和配置:
虛擬機網絡ip設置 - 今天也是陽光正好 - 博客園
以下三個界面都需要設置
-
VMware界面
進入虛擬網絡編輯器
查看上圖VMnet8(虛擬交換機)的子網ip地址 (記錄或者自行設置)
第三個網段可以隨便設置 (如果更改了,需要在NAT設置里同樣更改網關的第三個網段
子網ip:是和后面的子網掩碼一起來確定網段,以及網段里可使用的IP數
(虛擬出的局域網)
-
Windows界面
1. 找到VMnet8 (虛擬網卡) 主機與虛擬機的通信接口(不用來聯(lián)網)
2.設置IP地址和虛擬網絡子網網段一致
?附:NAT模式原理圖解
-
Linux界面
1. 設置靜態(tài)ip (以免每次開虛擬機重設ip)
vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO改為static,ONBOOT改為yes,后續(xù)添加IP,網關,DNS (要注意和前面網段設置一致)
2. 修改主機和ip映射 (以免相同主機使用時需要修改多個ip地址)
vim /etc/hosts添加 主機名 + ip地址:
hadoop100 192.168.10.100 hadoop101 192.168.10.101 hadoop102 192.168.10.102附:一些Linux命令?
#進入root用戶 su root#重置root密碼 sudo passwd#查看ip ifconfig#查看主機名 hostname #永久修改主機名為XXX hostnamectl set-hostname XXX#主機和ip映射 偽分布下只有主機 vi /etc/hosts以上全部設置完后測試一下:
#外網 ping www.baidu.com #內網 ping 物理機ip#物理機連虛擬機 ping 192.168.10.100Ⅲ.使用終端管理多臺虛擬機(可選)
????????使用Mobaxterm終端對節(jié)點同時管理 (通過SSH連接)
????????可以通過Mobaxterm終端實現文件上傳
關閉防火墻:保證多節(jié)點通訊順暢
例如物理機web訪問虛擬機hadoop服務時
Centos7防火墻firewalld的基本配置操作和基本常用命令合集_Dong hua的博客-CSDN博客_centos7防火墻配置命令
systemctl status firewalld 查看防火墻狀態(tài) systemctl stop firewalled 臨時關閉防火墻 systemctl disable firewalld 徹底關閉防火墻開啟SSH服務 (免密登錄):主機間免密通信
虛擬機不同用戶也需要各自設置ssh
cd ~/.ssh #生成公鑰 ssh-keygen -t rsa #放到目標機器上(本地也需要) ssh-copy-id -i ~/.ssh/id_rsa.pubssh原理:結合Hadoop,簡單理解SSH - jiapeng - 博客園
centos7開啟ssh服務_想做一個開森的胖紙的博客-CSDN博客_centos7 ssh
Ⅳ.配置JDK
-
卸載/下載jdk
先卸載系統(tǒng)自帶jdk (openjdk不能使用javac) (最小安裝不需要刪)
#查看 java -version#查找含有java的文件 rpm -qa | grep java#刪除XXX和所有依賴包(慎用) yum -y remove XXX #只刪除XXX rpm -e --nodeps XXX【Linux】CentOS7下安裝JDK詳細過程 - Angel擠一擠 - 博客園
yum 安裝jdk (devel 版本) 或者官網下載
#查看可安裝jdk yum search java|grep jdk#安裝XXX 這里是jdk1.8 dlevel (支持javac) yum install -y XXX官網下載壓縮包后解壓
tar -zxvf 文件名.tar.gz-
配置jdk環(huán)境變量
linux有多個入口可用來配置環(huán)境變量:
linux系統(tǒng)中的profile、bashrc、~/.bash_profile、~/.bashrc、~/.bash_profile之間的區(qū)別和聯(lián)系以及執(zhí)行的順序_裁二尺秋風的博客-CSDN博客
這里使用 .bach_profile:
#到根目錄 cd ~ #打開.bash_profile文件 vi .bash_profile#插入以下 export JAVA_HOME=/app/java/jdk1.8 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin#保存退出后,執(zhí)行以下命令使配置生效 source ~/.bash_profile#完成后檢查 java -versionHadoop安裝/配置
環(huán)境配置:
sudo vim /etc/profile.d/my_env.sh#HADOOP_HOME export HADOOP_HOME=/opt/module/hadoop-3.1.3 #具體路徑是你自己的 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin #單節(jié)點還需要配置如下: export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root#生效 source /etc/profile#配置完后檢查 hadoop version附: Hadoop運行模式:
單機模式(獨立模式)(Local或Standalone Mode)
????????-使用本地文件系統(tǒng),而不是分布式文件系統(tǒng)。
-Hadoop不會啟動NameNode、DataNode、JobTracker、TaskTracker等守護進程,Map()和Reduce()任務作為同一個進程的不同部分來執(zhí)行的。
-用于對MapReduce程序的邏輯進行調試,確保程序的正確。
偽分布式模式(Pseudo-Distrubuted Mode)
????????-Hadoop的守護進程運行在本機機器,模擬一個小規(guī)模的集群
????????-在一臺主機模擬多主機。
全分布式集群模式(Full-Distributed Mode)
Hadoop文件配置 (只用單機/獨立模式則不需要配置) (注意根據需要調整value):
core-site.xml:
<configuration><!-- 指定HDFS中NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop100:9000</value><!-- 在這填寫開啟NameNode服務的服務器映射 --></property><!-- 指定Hadoop運行時產生文件的存儲目錄 --><property><name>hadoop.tmp.dir</name><value>${HADOOP_HOME}/data/tmp</value><!-- HADOOP_HOME變量需要自己填寫 --></property> </configuration>hdfs-site.xml:
<configuration><property><name>dfs.replication</name><value>2</value><!-- 保存的副本數量,默認為3 --></property><property><name>dfs.secondary.http.address</name><value>hadoop102:9870</value><!-- 在這填寫開啟SecondaryNameNode服務的服務器映射 --></property> </configuration>mapred-site.xml:
<configuration><!-- 指定MR的運行方式 --><property><name>mapreduce.framework.name</name><value>yarn</value></property><!-- 歷史服務器端地址 --><property><name>mapreduce.jobhistory.address</name><value>hadoop101:10020</value><!-- 在這填寫開啟HistoryServer服務的服務器映射 --></property><!-- 歷史服務器web端地址 --><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop101:19888</value><!-- 在這填寫開啟HistoryServer服務的服務器映射 --></property><!-- 日志聚集功能開關 --><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 日志保留時間設置 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value><!-- 這里填寫為7天,以秒為單位 --></property> </configuration>yarn-site.xml:
<configuration> <!-- Site specific YARN configuration properties --><!-- Reducer獲取數據的方式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定YARN的ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><value>hadoop101</value><!-- 在這填寫開啟ResourceManager服務的服務器映射 --></property><!-- 以下三項都為yarn性能設置,可不配 --><property><name>yarn.nodemanager.resource.memory-mb</name><value>20480</value></property><property><name>yarn.scheduler.minimum-allocation-mb</name><value>2048</value></property><property><name>yarn.nodemanager.vmem-pmem-ratio</name><value>2.1</value></property> </configuration>配置完成后初始化hadoop:
hdfs?namenode -format
hdfs datanode -format
開啟服務:
#namenode和datanode的開關指令: hdfs --daemon start/stop namenode/datanode#resourcemanager和nodemanager的開關指令: yarn --daemon start/stop resourcemanager/nodemanager#historyserver的開關指令: mapred --daemon start/stop historyserverⅤ.Hadoop設置偽分布模式(Pseudo-Distributed Operation)
偽分布模式:只有一臺主機機器
對Hadoop相關文件進行配置
Centos之hadoop偽分布模式_大樹下躲雨的博客-CSDN博客
Centos7 安裝Hadoop (HDFS) 及HDFS的啟動 - 九月江 - 博客園
啟動服務后web管理頁面:
http://localhost:8088
http://localhost:9870
Ⅵ. Hadoop設置全分布模式
?1. 克隆虛擬機 (關閉防火墻, 靜態(tài)ip, 主機名)
設置ens33的ip 和?設置hostname
- 編寫集群分發(fā)腳本xsync(文件拷貝)[這步一般拷貝jdk或hadoop到其他虛擬機]
2. 終端(Mobaxterm)內添加ssh
(可以在物理機host文件中設置ip映射)
另:簡單版本:windows本地單節(jié)點配置Hadoop(偽分布)
僅需下載jdk和hadoop然后配置hadoop相關文件即可👇
Windows安裝使用Hadoop3.0.0_weixin_33843409的博客-CSDN博客
winutils指路:Windows本地IDEA運行mapreduce報錯java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset._noobiee的博客-CSDN博客
HDFS文件系統(tǒng)的本地位置?
Hadoop中HDFS的文件到底存儲在集群節(jié)點本地文件系統(tǒng)哪里_YuanOo。的博客-CSDN博客_hdfs在哪里
圖解HDFS存儲原理:
hadoop文件存儲位置_Hadoop——HDFS_子月二二的博客-CSDN博客
References
CentOS安裝Hadoop - 玄同太子 - 博客園
Hadoop運行模式-完全分布式模式_weixin_47621995的博客-CSDN博客
Hadoop3.x配置流程(Linux) - 知乎
總結
以上是生活随笔為你收集整理的CentOS 7配置Hadoop3.X环境 附部分原理说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公司该如何创建适合自己的区块链产品、联盟
- 下一篇: Qt编写可视化大屏电子看板系统25-模块