溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hadoop完全分布式部署

發(fā)布時間:2020-06-13 11:26:35 來源:網(wǎng)絡(luò) 閱讀:193 作者:我不是九爺 欄目:云計算

Hadoop完全分布式部署

一、概述

概念:

是一個可靠的、可伸縮的、分布式計算的開源軟件。
是一個框架,允許跨越計算機集群的大數(shù)據(jù)及分布式處理,使用簡單的編程模型(mapreduce)
可從單臺服務(wù)器擴展至幾千臺主機,每個節(jié)點提供了計算和存儲功能。
不依賴于硬件處理HA,在應(yīng)用層面實現(xiàn)

特性4V:

volumn    體量大
velocity    速度快
variaty 樣式多
value   價值密度低

模塊:

hadoop common   公共類庫,支持其他模塊
HDFS            hadoop distributed file system,hadoop分布式文件系統(tǒng)
Hadoop yarn     作業(yè)調(diào)度和資源管理框架
hadoop mapreduce    基于yarn系統(tǒng)的大數(shù)據(jù)集并行處理技術(shù)。

二、安裝部署

2.1 主機規(guī)劃

主機名稱IP地址安裝節(jié)點應(yīng)用
hadoop-1172.20.2.203namenode/datanode/nodemanager
hadoop-2172.20.2.204secondarynode/datanode/nodemanager
hadoop-3172.20.2.205resourcemanager/datanode/nodemanager

2.2 部署

2.2.1 基礎(chǔ)環(huán)境配置

a.配置java環(huán)境

yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel -y
cat >/etc/profile.d/java.sh<<EOFexport JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-3.b14.el6_9.x86_64export CLASSPATH=.:\$JAVA_HOME/jre/lib/rt.jar:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar 
export PATH=\$PATH:\$JAVA_HOME/binEOFsource /etc/profile.d/java.sh

b.修改主機名添加hosts

hostname hadoop-1cat >>/etc/hosts<<EOF172.20.2.203    hadoop-1172.20.2.204    hadoop-2172.20.2.205    hadoop-3EOF

c.創(chuàng)建用戶及目錄

useradd hadoop
echo "hadoopwd" |passwd hadoop --stdinmkdir -pv /data/hadoop/hdfs/{nn,snn,dn}chown -R hadoop:hadoop /data/hadoop/hdfs/mkdir -p /var/log/hadoop/yarnmkdir -p /dbapps/hadoop/logschmod g+w /dbapps/hadoop/logs/chown -R hadoop.hadoop /dbapps/hadoop/

d.配置hadoop環(huán)境變量

cat>/etc/profile.d/hadoop.sh<<EOFexport HADOOP_PREFIX=/usr/local/hadoopexport PATH=\$PATH:\$HADOOP_PREFIX/bin:\$HADOOP_PREFIX/sbinexport HADOOP_COMMON_HOME=\${HADOOP_PREFIX}export HADOOP_HDFS_HOME=\${HADOOP_PREFIX}export HADOOP_MAPRED_HOME=\${HADOOP_PREFIX}export HADOOP_YARN_HOME=\${HADOOP_PREFIX}EOFsource /etc/profile.d/hadoop.sh

e.下載并解壓軟件包

mkdir /software 
cd /software 
wget -c http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz
tar -zxf hadoop-2.6.5.tar.gz -C /usr/localln -sv /usr/local/hadoop-2.6.5/ /usr/local/hadoop
chown hadoop.hadoop /usr/local/hadoop-2.6.5/ -R

f.hadoop用戶免密鑰配置

su - hadoop
ssh-keygen -t rsafor num in `seq 1 3`;do ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-$num;done

Hadoop完全分布式部署

2.3 配置hadoop

2.3.1 配置各節(jié)點

配置master節(jié)點

hadoop-1節(jié)點運行namenode/datanode/nodemanager,修改hadoop-1的hadoop配置文件

core-site.xml(定義namenode節(jié)點)

cat>/usr/local/hadoop/etc/hadoop/core-site.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop-1:8020</value><final>true</final></property></configuration>EOF

hdfs-site.xml修改replication為data節(jié)點數(shù)目   (定義secondary節(jié)點)

cat >/usr/local/hadoop/etc/hadoop/hdfs-site.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>dfs.namenode.secondary.http-address</name><value>hadoop-2:50090</value></property><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.namenode.name.dir</name><value>file:///data/hadoop/hdfs/nn</value></property><property><name>dfs.datanode.data.dir</name><value>file:///data/hadoop/hdfs/dn</value></property><property><name>fs.checkpoint.dir</name><value>file:///data/hadoop/hdfs/snn</value></property><property><name>fs.checkpoint.edits.dir</name><value>file:///data/hadoop/hdfs/snn</value></property></configuration>EOF

添加mapred-site.xml

cat >/usr/local/hadoop/etc/hadoop/mapred-site.xml <<EOF
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>EOF

yarn-site.xml修改對應(yīng)values為master的主機名(定義resourcemanager節(jié)點)

cat >/usr/local/hadoop/etc/hadoop/yarn-site.xml<<EOF
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>yarn.resourcemanager.address</name><value>hadoop-3:8032</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>hadoop-3:8030</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>hadoop-3:8031</value></property><property><name>yarn.resourcemanager.admin.address</name><value>hadoop-3:8033</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>hadoop-3:8088</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.auxservices.mapreduce_shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property><property><name>yarn.resourcemanager.scheduler.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value></property></configuration>EOF

slaves(定義數(shù)據(jù)節(jié)點)

cat >/usr/local/hadoop/etc/hadoop/slaves<<EOF
hadoop-1
hadoop-2
hadoop-3
EOF

同樣的步驟操作hadoop-2/3,建議將hadoop-1的文件直接分發(fā)至hadoop-2/3

2.3.2 格式化namenode

在NameNode機器上(hadoop-1)執(zhí)行格式化:

hdfs namenode -format

Hadoop完全分布式部署
Hadoop完全分布式部署
Hadoop完全分布式部署

2.3.3 啟動服務(wù)

在namenode hadoop-1執(zhí)行start-all.sh啟動服務(wù)
在hadoop-3啟動resourcemanager服務(wù)``

Hadoop完全分布式部署
hadoop-2服務(wù)查看
Hadoop完全分布式部署
hadoop-3服務(wù)查看
Hadoop完全分布式部署

2.3.4 運行測試程序

yarn jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar pi 2 10
Hadoop完全分布式部署
Hadoop完全分布式部署

2.3.5 查看web界面

HDFS-NameNode

url:http://172.20.2.203:50070
Hadoop完全分布式部署
Hadoop完全分布式部署

YARN-ResourceManager

url:http://172.20.2.205:8088

Hadoop完全分布式部署


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI