網站首頁 編程語言 正文
Hadoop真分布式完全集群安裝,基于版本2.7.2安裝,在兩臺Linux機器上面分別安裝Hadoop的master和slave節點。
1.安裝說明
不管NameNode還是DataNode節點,安裝的用戶名需要一致。
master和slave的區別,只是在于配置的hostname,
在config的slaves配置的hostname所代表的機器即為slave,
不使用主機名也可以,直接配置為IP即可。
在這種集群下面,需要在master節點創建namenode路徑,
并且使用格式化命令hdfs namenode –format。
然后在slave節點創建datanode路徑,注意目錄的權限。
2.配置hosts
如果已經存在則不需要,每臺機器進行相同的操作
10.43.156.193 zdh193 ywmaster/fish master 10.43.156.194 zdh194 ywmaster/fish slave
3.創建用戶
集群上面的用戶名必須都是一樣的,否則無法影響Hadoop集群啟動,
在每臺機器里面添加相同的用戶,參考如下命令:
useradd ywmaster
4.安裝JDK
此處安裝的是jdk1.7
scp yuwen@10.43.156.193:/home/yuwen/backup/jdk-7u80-linux-x64.tar.gz . zdh123 tar -zxvf jdk-7u80-linux-x64.tar.gz vi .bash_profile export JAVA_HOME=~/jdk1.7.0_80 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar source .bash_profile
驗證jdk
java -version
5.設置集群免密登陸
5.1.設置本地免密登陸
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
必須修改權限,否則無法免秘登陸
chmod 600 ~/.ssh/authorized_keys
驗證免密登陸
ssh localhost
5.2.設置遠程免密登陸
需要把本機的公鑰放到對方的機器authorized_keys,才能免密登陸其他機器。
進入ywmaster的.ssh目錄
scp ~/.ssh/authorized_keys ywmaster@10.43.156.194:~/.ssh/authorized_keys_from_zdh193
進入ywslave的.ssh目錄,注意備份,否則下面步驟存在重復的ywmaster公鑰。
cat authorized_keys_from_zdh193 >> authorized_keys ssh zdh194
5.3.設置其他機器免密登陸
參考上面的步驟同理設置其他機器,配置后zdh193可以免密登陸。
scp ~/.ssh/authorized_keys ywmaster@10.43.156.193:~/.ssh/authorized_keys_from_zdh194
6.安裝Hadoop
上傳并解壓hadoop文件
scp pub@10.43.156.193:/home/pub/hadoop/source/hadoop-2.7.2-src/hadoop-dist/target/hadoop-2.7.2.tar.gz . zdh1234 tar -zxvf hadoop-2.7.2.tar.gz
7.配置環境變量
export HADOOP_HOME=~/hadoop-2.7.2 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
配置別名,可以快速訪問配置路徑
alias conf='cd /home/ywmaster/hadoop-2.7.2/etc/hadoop'
8.檢查和修改Hadoop配置文件
8.1 hadoop-env.sh
涉及環境變量:JAVA_HOME
,HADOOP_HOME
,HADOOP_CONF_DIR
8.2 yarn-env.sh
涉及環境變量:JAVA_HOME
,HADOOP_YARN_USER
,HADOOP_YARN_HOME
, YARN_CONF_DIR
8.3 slaves
這個文件里面保存所有slave節點,注釋掉localhost,新增zdh194作為slave節點。
8.4 core-site.xml
<name>fs.defaultFS</name> <value>hdfs://10.43.156.193:29080</value> <name>fs.default.name</name> <value>hdfs://10.43.156.193:29080</value> <name>io.file.buffer.size</name> <value>131072</value> <name>hadoop.tmp.dir</name> <value>file:/home/ywmaster/tmp</value>
8.5 hdfs-site.xml
<name>dfs.namenode.rpc-address</name> <value>10.43.156.193:29080</value> <name>dfs.namenode.http-address</name> <value>10.43.156.193:20070</value> <name>dfs.namenode.secondary.http-address</name> <value>10.43.156.193:29001</value> <name>dfs.namenode.name.dir</name> <value>file:/home/ywmaster/dfs/name</value> <name>dfs.datanode.data.dir</name> <value>file:/home/ywmaster/dfs/data</value> <name>dfs.replication</name> <value>1</value> <name>dfs.webhdfs.enabled</name> <value>true</value>
8.6 mapred-site.xml
<name>mapreduce.framework.name</name> <value>yarn</value> <name>mapreduce.shuffle.port</name> <value>23562</value> <name>mapreduce.jobhistory.address</name> <value>10.43.156.193:20020</value> <name>mapreduce.jobhistory.webapp.address</name> <value>10.43.156.193:29888</value>
8.7:yarn-site.xml
<name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> TODODELETE <value>org.apache.hadoop.mapred.ShuffleHandler</value> #mapreduce.shuffle已經過時,改為mapreduce_shuffle <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> <name>yarn.resourcemanager.address</name> <value>10.43.156.193:28032</value> <name>yarn.resourcemanager.scheduler.address</name> <value>10.43.156.193:28030</value> <name>yarn.resourcemanager.resource-tracker.address</name> <value>10.43.156.193:28031</value> <name>yarn.resourcemanager.admin.address</name> <value>10.43.156.193:28033</value> <name>yarn.resourcemanager.webapp.address</name> <value>10.43.156.193:28088</value>
8.8 獲取Hadoop的默認配置文件
選擇相應版本的hadoop,下載解壓后,搜索*.xml,
找到core-default.xml,hdfs-default.xml,mapred-default.xml,
這些就是默認配置,可以參考這些配置的描述說明,
在這些默認配置上進行修改,配置自己的Hadoop集群。
find . -name *-default.xml ./hadoop-2.7.1/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml ./hadoop-2.7.1/share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml ./hadoop-2.7.1/share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml ./hadoop-2.7.1/share/doc/hadoop/hadoop-yarn/hadoop-yarn-common/yarn-default.xml ./hadoop-2.7.1/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/classes/httpfs-default.xml
9.把配置好的Hadoop復制到其他節點
scp -r ~/hadoop-2.7.2 ywmaster@10.43.156.194:~/
或者只拷貝配置文件,可以提高拷貝效率:
scp -r ~/hadoop-2.7.2/etc/hadoop ywmaster@10.43.156.194:~/hadoop-2.7.2/etc
創建好name和data數據目錄
mkdir -p ./dfs/name mkdir -p ./dfs/data
10.啟動驗證Hadoop
格式化namenode:
hdfs namenode -format
出現如下結果則表示成功:
16/09/13 23:57:16 INFO common.Storage: Storage directory /home/ywmaster/dfs/name has been successfully formatted.
啟動hdfs
start-dfs.sh
啟動yarn:
start-yarn.sh
注意修改了配置之后一定要重新復制到其他節點,否則啟動會有問題。
11.檢查啟動結果
NameNode下執行jps應該包含如下進程:
15951 ResourceManager 13294 SecondaryNameNode 12531 NameNode 16228 Jps
DataNode下執行jps應該包含如下進程:
3713 NodeManager 1329 DataNode 3907 Jps
查看HDFS服務:
http://10.43.156.193:20070
查看SecondaryNameNode:
http://10.43.156.193:29001/
具體IP和Port參考hdfs-site.xml:
<name>dfs.namenode.http-address</name> <description> The address and the base port where the dfs namenode web ui will listen on.</description>
查看RM:
http://10.43.156.193:28088
具體IP和Port參考yarn-site.xml:
<name>yarn.resourcemanager.webapp.address</name> <value>10.43.156.193:28088</value>
12.其他參考
停止命令:
stop-yarn.sh stop-dfs.sh
執行命令驗證:
hadoop fs -ls /usr hadoop fs -mkdir usr/yuwen hadoop fs -copyFromLocal wordcount /user hadoop fs -rm -r /user/wordresult hadoop jar ~/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/wordcount.txt /user/wordresult_001 hadoop fs -text /user/wordresult_001/part-r-00000
原文鏈接:https://www.cnblogs.com/bugzeroman/p/12858220.html
相關推薦
- 2022-06-25 詳解如何基于Pyecharts繪制常見的直角坐標系圖表_python
- 2022-07-22 CSS3:盒陰影、邊界圖片、指定每一個圓角、背景、過度、動畫、
- 2022-07-15 Python標準庫之Math,Random模塊使用詳解_python
- 2022-11-15 python重用父類功能的兩種方式實例詳解_python
- 2022-12-23 Kubernetes應用服務質量管理詳解_云其它
- 2024-03-18 bootstrap application 和 nacos 中配置文件的優先級
- 2022-10-23 C++進程的創建和進程ID標識詳細介紹_C 語言
- 2024-03-17 樹莓派無桌面配置WiFi連接
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支