国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Centos7 + Hadoop 3.3.4 HA高可用集群部署

這篇具有很好參考價(jià)值的文章主要介紹了Centos7 + Hadoop 3.3.4 HA高可用集群部署。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、集群規(guī)劃

二、主機(jī)環(huán)境準(zhǔn)備

1、配置主機(jī)名

2、配置HOSTS

3、配置內(nèi)核參數(shù)

?4、配置Limits

?5、關(guān)閉防火墻

6、關(guān)閉SELINUX

7、修改時(shí)區(qū)

?8、修改中文支持

三、安裝JDK

四、創(chuàng)建Hadoop用戶

五、安裝Zookeeper

1、下載安裝

2、配置zoo.cfg

3、配置myid

4、啟動(dòng)/查看/停止服務(wù)

六、安裝Hadoop

1、下載安裝

2、配置hadoop-env.sh

3、配置core-site.xml

4、配置hdfs-site.xml

5、配置yarn-site.xml

6、配置mapred-site.xml

7、配置works

8、初始化ZKFC

9、初始化namenode

10、啟動(dòng)/查看/停止服務(wù)

11、Web UI訪問


一、集群規(guī)劃

? ? ? ? 本次測(cè)試采用3臺(tái)虛擬機(jī),操作系統(tǒng)版本為centos7.6。

????????Hadoop版本為3.3.4,其中Namenode采用HA高可用架構(gòu)

? ? ? ? Zookeeper版本為3.8.0

IP地址 主機(jī)名 ZK HDFS YARN
192.168.121.101 node101.cc.local server.1

NameNode

DataNode

JournalNode

ResourceManager

NodeManager

JobHistory

192.168.121.102 node102.cc.local server.2

NameNode

DataNode

JournalNode

ResourceManager

NodeManager

192.168.121.103 node103.cc.local server.3

DataNode

JournalNode

NodeManager

二、主機(jī)環(huán)境準(zhǔn)備

1、配置主機(jī)名

### 在node1節(jié)點(diǎn)均執(zhí)行操作?###

hostnamectl set-hostname node101.cc.local

### 在node2節(jié)點(diǎn)均執(zhí)行操作?###

hostnamectl set-hostname node102.cc.local

### 在node3節(jié)點(diǎn)均執(zhí)行操作?###

hostnamectl set-hostname node103.cc.local

2、配置HOSTS

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

cat << EOF > /etc/hosts
127.0.0.1 ? localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 ? ? ? ? localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.121.101 node101.cc.local node101
192.168.121.102 node102.cc.local node102
192.168.121.103 node103.cc.local node103
EOF

3、配置內(nèi)核參數(shù)

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

### 提示:這一步非必須,可后續(xù)調(diào)優(yōu)時(shí)進(jìn)行設(shè)置 ###
cat << EOF > /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_tw_buckets = 262144
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_sack = 0
net.ipv4.tcp_window_scaling = 0
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
vm.swappiness = 0
net.ipv4.ip_local_port_range = 9500 61000
net.ipv4.neigh.default.gc_thresh1=1024
net.ipv4.neigh.default.gc_thresh2=2048
net.ipv4.neigh.default.gc_thresh3=4096
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
EOF
sysctl -p

?4、配置Limits

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

### 提示:這一步非必須,可后續(xù)調(diào)優(yōu)時(shí)進(jìn)行設(shè)置 ###

echo "####Limits Parameter Configuration####"
cat << EOF > /etc/security/limits.conf
* soft ? nofile 655350
* hard ? nofile 655350
* soft ? nproc ?655350
* hard ? nproc ?655350
EOF
sed -i.bak$DATE '/^*/{s/[0-9]*$/655350/g}' /etc/security/limits.d/20-nproc.conf
sed -i.bak$DATE '/DefaultLimitNOFILE/c DefaultLimitNOFILE=655350' /etc/systemd/system.conf
sed -i.bak$DATE '/DefaultLimitNOFILE/c DefaultLimitNOFILE=655350' /etc/systemd/user.conf
systemctl daemon-reexec
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo "####Limits Parameter Configuration Done####"
echo -e ?"\n"

?5、關(guān)閉防火墻

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###
systemctl stop firewalld.service
systemctl disable firewalld.service

6、關(guān)閉SELINUX

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###
sed -i.bak$DATE '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
setenforce 0

7、修改時(shí)區(qū)

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

timedatectl set-timezone "Asia/Shanghai"

?8、修改中文支持

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###
cat << EOF > /etc/locale.conf
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_CN.gb18030:en_US.UTF-8:en_US:en"
EOF

三、安裝JDK

### 前提:各節(jié)點(diǎn)可以訪問公網(wǎng)或者已配置好YUM源?###
### 注意:建議安裝openjdk-devel包,非devel沒有jps等命令 ###
### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###
### 安裝openjdk ###
yum install -y java-1.8.0-openjdk-devel.x86_64

### 配置環(huán)境變量 ###
### 注意:由于采用腳本配置環(huán)境變量文件,所以對(duì)"$"符號(hào)前需要增加"\"轉(zhuǎn)義符 ###

cat << EOF >?/etc/profile.d/openjdk1_8_0.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export CLASSPATH=\$CLASSPATH:\$JAVA_HOME/lib/
export PATH=\$PATH:\$JAVA_HOME/bin
EOF

### 生效最新環(huán)境變量 ###
source /etc/profile

四、創(chuàng)建Hadoop用戶

### 提示:創(chuàng)建hadoop用戶用于運(yùn)行整個(gè)hadoop集群相關(guān)服務(wù)?###

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

echo "####create hadoop user####"
groupadd -g 1024 hadoop
useradd -g hadoop -u 1024 -d /home/hadoop hadoop
echo hadoop:hadppwd | chpasswd
echo "####create hadoop user Done####"

### 創(chuàng)建hadoop安裝目錄 ###
mkdir -p /opt/hadoop

### 切換登錄到hadoop用戶 ###
su - hadoop

### 生成hadoop用戶秘鑰##
mkdir ~/.ssh
chmod 700 ~/.ssh
cd ~/.ssh
ssh-keygen

###分發(fā)秘鑰至所有節(jié)點(diǎn)?###
ssh-copy-id node101
ssh-copy-id node102
ssh-copy-id node103

五、安裝Zookeeper

1、下載安裝

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

echo "####install zk####"

### 進(jìn)入hadoop安裝目錄 ###
cd /opt/hadoop

### 下載zk安裝包到安裝目錄 ###
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz --no-check-certificate

### 解壓zk安裝包 ###
tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz

### 配置zk環(huán)境變量?###

### 注意:由于采用腳本配置環(huán)境變量文件,所以對(duì)"$"符號(hào)前需要增加"\"轉(zhuǎn)義符 ###
cat << EOF > /etc/profile.d/zk3_8_0.sh
export ZOOKEEPER_HOME=/opt/hadoop/apache-zookeeper-3.8.0-bin/
export PATH=\$PATH:\$ZOOKEEPER_HOME/bin
EOF

### 生效最新環(huán)境變量 ###
source /etc/profile

### 創(chuàng)建zk數(shù)據(jù)目錄 ###
mkdir $ZOOKEEPER_HOME/data

2、配置zoo.cfg

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

cat << EOF > conf/zoo.cfg
# tickTime:Zookeeper 服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時(shí)間間隔,也就是每個(gè) tickTime 時(shí)間就會(huì)發(fā)送一個(gè)心跳。tickTime以毫秒為單位。session最小有效時(shí)間為tickTime*2
tickTime=2000

# Zookeeper保存數(shù)據(jù)的目錄,默認(rèn)情況下,Zookeeper將寫數(shù)據(jù)的日志文件也保存在這個(gè)目錄里。不要使用/tmp目錄
dataDir=/opt/hadoop/apache-zookeeper-3.8.0-bin/data

# 端口,默認(rèn)就是2181
clientPort=2181

# 集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間初始連接時(shí)能容忍的最多心跳數(shù)(tickTime的數(shù)量),超過此數(shù)量沒有回復(fù)會(huì)斷開鏈接
initLimit=10

# 集群中的follower服務(wù)器與leader服務(wù)器之間請(qǐng)求和應(yīng)答之間能容忍的最多心跳數(shù)(tickTime的數(shù)量)
syncLimit=5

# 最大客戶端鏈接數(shù)量,0不限制,默認(rèn)是0
maxClientCnxns=60

# zookeeper集群配置項(xiàng),server.1,server.2,server.3是zk集群節(jié)點(diǎn);node1,node2,node3是主機(jī)名稱;2888是主從通信端口;3888用來選舉leader
server.1=node101.cc.local:2888:3888
server.2=node102.cc.local:2888:3888
server.3=node103.cc.local:2888:3888
EOF

3、配置myid

### 在node1節(jié)點(diǎn)均執(zhí)行操作?###

echo 1 > $ZOOKEEPER_HOME/data/myid

### 在node2節(jié)點(diǎn)均執(zhí)行操作?###

echo 2 > $ZOOKEEPER_HOME/data/myid

### 在node3節(jié)點(diǎn)均執(zhí)行操作?###

echo 3?> $ZOOKEEPER_HOME/data/myid

4、啟動(dòng)/查看/停止服務(wù)

# 啟動(dòng)服務(wù)
zkServer.sh start


# 查看服務(wù)狀態(tài)
zkServer.sh status


# 停止服務(wù)
zkServer.sh status

六、安裝Hadoop

1、下載安裝

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

echo "####install hadoop####"

### 進(jìn)去hadoop安裝目錄 ###
cd /opt/hadoop

### 下載hadoop安裝包 ###
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz --no-check-certificate

### 解壓hadoop安裝包 ###
tar -zxvf hadoop-3.3.4.tar.gz

### 創(chuàng)建hadoop的臨時(shí)目錄、數(shù)據(jù)目錄和日志目錄?###
cd /opt/hadoop/hadoop-3.3.4 && mkdir tmp data logs

### 創(chuàng)建hadoop的數(shù)據(jù)目錄?###
mkdir /opt/hadoop/hadoop-3.3.4/data/namenode journalnode datanode

### 修改hadoop安裝目錄權(quán)限給hadoop用戶?###
chown -R hadoop:hadoop /opt/hadoop

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

### 注意:由于采用腳本配置環(huán)境變量文件,所以對(duì)"$"符號(hào)前需要增加"\"轉(zhuǎn)義符 ###
cat << EOF >?/etc/profile.d/hadoop3_3_4.sh
export HADOOP_HOME=/opt/hadoop/hadoop-3.3.4
export HADOOP_LOG_DIR=\$HADOOP_HOME/logs
export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin
EOF

### 生效最新環(huán)境變量 ###
source /etc/profile

2、配置hadoop-env.sh

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

### 配置 hadoop-3.3.4/etc/hadoop/hadoop-env.sh ###

cat << EOF >> /opt/hadoop/hadoop-3.3.4/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HADOOP_PID_DIR=/opt/hadoop/hadoop-3.3.4/tmp/
export HDFS_NAMENODE_USER=hadoop
export HDFS_DATANODE_USER=hadoop
export HDFS_SECONDARYNAMENODE_USER=hadoop
export YARN_RESOURCEMANAGER_USER=hadoop
export YARN_NODEMANAGER_USER=hadoop
EOF

3、配置core-site.xml

????????編輯hadoop-3.3.4/etc/hadoop/core-site.xml

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

###提示:通過vi手工修改<configuration></configuration>中的內(nèi)容 ###

<configuration>
? <!-- 設(shè)置默認(rèn)使用的文件系統(tǒng) Hadoop支持file、HDFS、GFS等文件系統(tǒng) -->
? <property>
? ? <name>fs.defaultFS</name>
? ? <value>hdfs://ccns</value>
? </property>
??
? <!-- 設(shè)置Hadoop臨時(shí)目錄路徑 -->
? <property>
? ? <name>hadoop.tmp.dir</name>
? ? <value>/opt/hadoop/tmp</value>
? </property>
??
? <!-- 指定zookeeper地址 -->
? <property>
? ? <name>ha.zookeeper.quorum</name>
? ? <value>node101.cc.local:2181,node102.cc.local:2181,node103.cc.local:2181</value>
? </property>
??
? <!-- 設(shè)置Hadoop本地保存數(shù)據(jù)路徑 -->
? <property>
? ? <name>hadoop.data.dir</name>
? ? <value>/opt/hadoop/data</value>
? </property>
??
? <!-- 設(shè)置HDFS web UI用戶身份 --> ?
? <property>
? ? <name>hadoop.http.staticuser.user</name>
? ? <value>hadoop</value>
? </property>
??
? <!-- 配置該root允許通過代理訪問的主機(jī)節(jié)點(diǎn) -->
? <property>
? ? <name>hadoop.proxyuser.root.hosts</name>
? ? <value>*</value>
? </property>

? <!-- 配置該root允許代理的用戶所屬組 -->
? <property>
? ? <name>hadoop.proxyuser.root.groups</name>
? ? <value>*</value>
? </property>

? <!-- 配置該root允許代理的用戶 -->
? <property>
? ? <name>hadoop.proxyuser.root.users</name>
? ? <value>*</value>
? ?</property>

? <!-- 對(duì)于每個(gè)<root>用戶,hosts必須進(jìn)行配置,而groups和users至少需要配置一個(gè)。-->

? <!-- 文件系統(tǒng)垃圾桶保存時(shí)間 -->
? <property>
? ? <name>fs.trash.interval</name>
? ? <value>1440</value>
? </property>
</configuration>

4、配置hdfs-site.xml

?????????編輯hadoop-3.3.4/etc/hadoop/hdfs-site.xml

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

###提示:通過vi手工修改<configuration></configuration>中的內(nèi)容 ###

<configuration>
? <!--執(zhí)行hdfs的nameservice為ns,注意要和core-site.xml中的名稱保持一致 -->
? <property>
? ? <name>dfs.nameservices</name>
? ? <value>ccns</value>
? </property>
??
? <!-- nameservice包含的namenode,ns集群下有兩個(gè)namenode,分別為nn1, nn2 -->
? <property>
? ? <name>dfs.ha.namenodes.ccns</name>
? ? <value>nn1,nn2</value>
? </property>
??
? <!-- nn1的rpc地址和端口號(hào),rpc用來和datanode通訊,默認(rèn)值:9000-->
? <property>
? ? <name>dfs.namenode.rpc-address.ccns.nn1</name>
? ? <value>node101.cc.local:9000</value>
? </property>

? <!-- nn2的rpc地址和端口號(hào),rpc用來和datanode通訊,默認(rèn)值:9000-->
? <property>
? ? <name>dfs.namenode.rpc-address.ccns.nn2</name>
? ? <value>node102.cc.local:9000</value>
? </property>

? <!-- nn1的http地址和端口號(hào),web客戶端 -->
? <property>
? ? <name>dfs.namenode.http-address.ccns.nn1</name>
? ? <value>node101.cc.local:9870</value>
? </property>
??
? <!-- nn2的http地址和端口號(hào),web客戶端 -->
? <property>
? ? <name>dfs.namenode.http-address.ccns.nn2</name>
? ? <value>node102.cc.local:9870</value>
? </property>
??
? <!-- 指定namenode的元數(shù)據(jù)在JournalNode上存放的位置,namenode2可以從journalnode集群里的指定位置上獲取信息,達(dá)到熱備效果 -->
? <property>
? ? <name>dfs.namenode.shared.edits.dir</name>
? ? <value>qjournal://node101.cc.local:8485;node102.cc.local:8485;node103.cc.local:8485/ccns</value>
? </property>

? <!-- 配置失敗自動(dòng)切換實(shí)現(xiàn)方式,客戶端連接可用狀態(tài)的NameNode所用的代理類,默認(rèn)值:org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider -->
? <property>
? ? <name>dfs.client.failover.proxy.provider.ccns</name>
? ? <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
? </property>

? <!-- 配置隔離機(jī)制,HDFS的HA功能的防腦裂方法。建議使用sshfence(hadoop:9922),括號(hào)內(nèi)的是用戶名和端口,注意,2臺(tái)NN之間可免密碼登陸.sshfences是防止腦裂的方法,保證NN中僅一個(gè)是Active的,如果2者都是Active的,新的會(huì)把舊的強(qiáng)制Kill -->
? <property>
? ? <name>dfs.ha.fencing.methods</name>
? ? <value>sshfence</value>
? </property>
??
? <!-- 開啟NameNode失敗自動(dòng)切換 -->
? <property>
? ? <name>dfs.ha.automatic-failover.enabled</name>
? ? <value>true</value>
? </property>
??
? <!-- 配置失敗自動(dòng)切換實(shí)現(xiàn)方式 -->
? <property>
? ? <name>dfs.client.failover.proxy.provider.ccns</name>
? ? <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
? </property>
??
? <!-- 指定上述選項(xiàng)ssh通訊使用的密鑰文件在系統(tǒng)中的位置 -->
? <property>
? ? <name>dfs.ha.fencing.ssh.private-key-files</name>
? ? <value>/root/.ssh/id_rsa</value>
? </property>

? <!-- 指定JournalNode在本地磁盤存放數(shù)據(jù)的位置。 -->
? <property>
? ? <name>dfs.journalnode.edits.dir</name>
? ? <value>/opt/hadoop/hadoop-3.3.4/data/journalnode</value>
? </property>
??
? <!--配置namenode存放元數(shù)據(jù)的目錄,默認(rèn)放到hadoop.tmp.dir下-->
? <property> ??
? ? <name>dfs.namenode.name.dir</name> ??
? ? <value>file:///opt/hadoop/hadoop-3.3.4/data/namenode</value> ??
? </property> ??

? <!--配置datanode存放元數(shù)據(jù)的目錄,默認(rèn)放到hadoop.tmp.dir下-->
? <property> ??
? ? <name>dfs.datanode.data.dir</name> ??
? ? <value>file:///opt/hadoop/hadoop-3.3.4/data/datanode</value> ? ?
? </property>

? <!-- 副本數(shù)量配置 -->
? <property>
? ? <name>dfs.replication</name>
? ? <value>3</value>
? </property>
??
? <!--設(shè)置用戶的操作權(quán)限,false表示關(guān)閉權(quán)限驗(yàn)證,任何用戶都可以操作-->? ? ? ? ? ? ? ? ? ? ? ? ?
? <property> ??
? ? <name>dfs.permissions</name> ??
? ? <value>false</value> ??
? </property>
</configuration>

5、配置yarn-site.xml

? ? ? ? 編輯hadoop-3.3.4/etc/hadoop/yarn-site.xml

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

###提示:通過vi手工修改<configuration></configuration>中的內(nèi)容 ###

<configuration>
<!--開啟ResourceManager HA功能-->
? <property>
? ? <name>yarn.resourcemanager.ha.enabled</name>
? ? <value>true</value>
? </property>
??
? <!--標(biāo)志ResourceManager-->
? <property>
? ? <name>yarn.resourcemanager.cluster-id</name>
? ? <value>ccyarn</value>
? </property>
??
? <!--集群中ResourceManager的ID列表,后面的配置將引用該ID-->
? <property>
? ? <name>yarn.resourcemanager.ha.rm-ids</name>
? ? <value>rm1,rm2</value>
? </property>
??
? <!-- 設(shè)置YARN集群主角色運(yùn)行節(jié)點(diǎn)rm1-->
? <property>
? ? <name>yarn.resourcemanager.hostname.rm1</name>
? ? <value>node101.cc.local</value>
? </property>
??
? <!-- 設(shè)置YARN集群主角色運(yùn)行節(jié)點(diǎn)rm2-->
? <property>
? ? <name>yarn.resourcemanager.hostname.rm2</name>
? ? <value>node102.cc.local</value>
? </property>
??
? <!--ResourceManager1的Web頁面訪問地址-->
? <property>
? ? <name>yarn.resourcemanager.webapp.address.rm1</name>
? ? <value>node101.cc.local:8088</value>
? </property>

? <!--ResourceManager2的Web頁面訪問地址-->
? <property>
? ? <name>yarn.resourcemanager.webapp.address.rm2</name>
? ? <value>node102.cc.local:8088</value>
? </property>

? <!--ZooKeeper集群列表-->
? <property>
? ? <name>hadoop.zk.address</name>
? ? <value>node101.cc.local:2181,node102.cc.local:2181,node103.cc.local:2181</value>
? </property>
??
? <!--啟用ResouerceManager重啟的功能,默認(rèn)為false-->
? <property>
? ? <name>yarn.resourcemanager.recovery.enabled</name>
? ? <value>true</value>
? </property>
??
? ?<!--用于ResouerceManager狀態(tài)存儲(chǔ)的類-->
? <property>
? ? <name>yarn.resourcemanager.store.class</name>
? ? <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
? </property>
??
? <property>
? ? <name>yarn.nodemanager.aux-services</name>
? ? <value>mapreduce_shuffle</value>
? </property>
??
? <!-- 是否將對(duì)容器實(shí)施物理內(nèi)存限制 -->
? <property>
? ? <name>yarn.nodemanager.pmem-check-enabled</name>
? ? <value>false</value>
? </property>
??
? <!-- 是否將對(duì)容器實(shí)施虛擬內(nèi)存限制 -->
? <property>
? ? <name>yarn.nodemanager.vmem-check-enabled</name>
? ? <value>false</value>
? </property>
??
? <!-- 開啟日志聚集功能 -->
? <property>
? ? <name>yarn.log-aggregation-enable</name>
? ? <value>true</value>
? </property>
??
? <!-- 設(shè)置日志聚集服務(wù)器地址 -->
? <property>
? ? <name>yarn.log.server.url</name>
? ? <value>http://node101:19888/jobhistory/logs</value>
? </property>
??
? <!-- 設(shè)置日志保留時(shí)間為7天 -->
? <property>
? ? <name>yarn.log-aggregation.retain-seconds</name>
? ? <value>604800</value>
? </property>
</configuration>

6、配置mapred-site.xml

? ? ? ? 編輯hadoop-3.3.4/etc/hadoop/mapred-site.xml

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###

###提示:通過vi手工修改<configuration></configuration>中的內(nèi)容 ###

<configuration>
<!-- 設(shè)置MR程序默認(rèn)運(yùn)行模式,yarn集群模式,local本地模式 -->
? <property>
? ? <name>mapreduce.framework.name</name>
? ? <value>yarn</value>
? </property>

? <property>
? ? <name>yarn.app.mapreduce.am.env</name>
? ? <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
? </property>

? <!-- 歷史服務(wù)器端地址 -->
? <property>
? ? <name>mapreduce.jobhistory.address</name>
? ? <value>node101:10020</value>
? </property>
??
? <!-- 歷史服務(wù)器web端地址 -->
? <property>
? ? <name>mapreduce.jobhistory.webapp.address</name>
? ? <value>node101:19888</value>
? </property>
??
? <!-- map環(huán)境變量 -->
? <property>
? ? <name>mapreduce.map.env</name>
? ? <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
? </property>

? <!-- reduce環(huán)境變量 -->
? <property>
? ? <name>mapreduce.reduce.env</name>
? ? <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
? </property>
</configuration>

7、配置works

### 在每個(gè)節(jié)點(diǎn)均執(zhí)行操作?###
### 配置 hadoop-3.3.4/etc/hadoop/workers ###
cat << EOF > /opt/hadoop/hadoop-3.3.4/etc/hadoop/workers
node101.cc.local
node102.cc.local
node103.cc.loca
EOF

8、初始化ZKFC

### 選擇任何一個(gè)節(jié)點(diǎn)上執(zhí)行均可,此次選擇在node1節(jié)點(diǎn)上執(zhí)行 ###
### 前提:已正常啟動(dòng)zookeeper ###
### 初始化zk ###
hdfs zkfc -formatZK

9、初始化namenode

### 每個(gè)節(jié)點(diǎn)分別啟動(dòng) journalnode ###
hdfs --daemon start journalnode

### 初始化主namenode,此次選擇node1為主namenode ###
hdfs namenode -format

### 啟動(dòng)主namenode ###
hdfs --daemon start namenode

### 初始化從namenode,此次node2為從namenode?###
hdfs namenode -bootstrapStandby

10、啟動(dòng)/查看/停止服務(wù)

### 一鍵啟動(dòng)全部hadoop服務(wù)
### 一鍵啟動(dòng)選擇任何一個(gè)節(jié)點(diǎn)上執(zhí)行均可,此次選擇在node1節(jié)點(diǎn)上執(zhí)行 ###
start-all.sh

#一鍵啟動(dòng)HDFS
### 一鍵啟動(dòng)選擇任何一個(gè)節(jié)點(diǎn)上執(zhí)行均可,此次選擇在node1節(jié)點(diǎn)上執(zhí)行 ###
start-dfs.sh

#一鍵啟動(dòng)yarn
### 一鍵啟動(dòng)選擇任何一個(gè)節(jié)點(diǎn)上執(zhí)行均可,此次選擇在node1節(jié)點(diǎn)上執(zhí)行 ###
start-yarn.sh

#啟動(dòng)HDFS單個(gè)服務(wù)進(jìn)程
hdfs --daemon start namenode|datanode|journalnode|zkfc

# 啟動(dòng)YARN單個(gè)服務(wù)進(jìn)程
yarn --daemon start resourcemanager|nodemanager

#啟動(dòng)歷史服務(wù)進(jìn)程(這必須單獨(dú)啟動(dòng))
mapred --daemon start historyserver

#查看服務(wù)
jps

### 一鍵停止全部hadoop服務(wù)
### 一鍵停止選擇任何一個(gè)節(jié)點(diǎn)上執(zhí)行均可,此次選擇在node1節(jié)點(diǎn)上執(zhí)行 ###
stop-all.sh

#一鍵停止HDFS
### 一鍵停止選擇任何一個(gè)節(jié)點(diǎn)上執(zhí)行均可,此次選擇在node1節(jié)點(diǎn)上執(zhí)行 ###
stop-dfs.sh

#一鍵停止yarn
### 一鍵停止選擇任何一個(gè)節(jié)點(diǎn)上執(zhí)行均可,此次選擇在node1節(jié)點(diǎn)上執(zhí)行 ###
stop-yarn.sh

#停止HDFS單個(gè)服務(wù)進(jìn)程
hdfs --daemon stop namenode|datanode|journalnode|zkfc

# 停止YARN單個(gè)服務(wù)進(jìn)程
yarn --daemon stop resourcemanager|nodemanager

11、Web UI訪問

HDFS集群Web UI默認(rèn)端口9870,訪問地址為namenode的IP地址
node1:http://192.168.121.101:9870
node2:http://192.168.121.102:9870

注意:
1、由于配置了HA高可用模式,所以每個(gè)namenode都可以打開,首頁會(huì)顯示namenoded的狀態(tài)是active或standby,當(dāng)通過Web UI去訪問hdfs目錄時(shí),必須選擇active的namenode;
2、在windows上使用web ui上傳文件時(shí),由于沒法識(shí)別node101.cc.local,node102.cc.local,node103.cc.local,所以上傳文件會(huì)失敗,只需要在windows的hosts文件加上對(duì)應(yīng)的解析就可以正常操作了。

Yarn集群WEB Ui默認(rèn)端口8088,訪問地址為resourcemanager的IP地址
node1:http://192.168.121.101:8088/
node2:http://192.168.121.102:8088/

注意:只有一個(gè)resourcemanager是active的,當(dāng)訪問到從resourcemanager時(shí),頁面會(huì)自動(dòng)跳轉(zhuǎn)至active的resourcemanager的Web地址,但由于windows上沒法識(shí)別node101.cc.local,node102.cc.local,node103.cc.local,所以會(huì)造成頁面無法打開,只需要在windows的hosts文件加上對(duì)應(yīng)的解析就可以正常操作,或者直接打開active的resourcemanager的Web地址即可文章來源地址http://www.zghlxwxcb.cn/news/detail-608728.html

到了這里,關(guān)于Centos7 + Hadoop 3.3.4 HA高可用集群部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【大數(shù)據(jù)之Hadoop】三十七、Hadoop HA高可用

    【大數(shù)據(jù)之Hadoop】三十七、Hadoop HA高可用

    ??實(shí)現(xiàn)高可用最關(guān)鍵的策略是消除單點(diǎn)故障。HA分成各個(gè)組件的HA機(jī)制:HDFS的HA和YARN的HA。 ??Hadoop2.0之前,在HDFS集群中NameNode存在單點(diǎn)故障(SPOF)。 NameNode主要在以下兩個(gè)方面影響HDFS集群: (1)NameNode機(jī)器發(fā)生意外,如宕機(jī),集群將無法使用,直到管理員重啟。 (2)

    2024年02月12日
    瀏覽(28)
  • HadoopHA模式(由于Hadoop的HA模式是在Hadoop完全分布式基礎(chǔ)上,利用zookeeper等協(xié)調(diào)工具配置的高可用的Hadoop集群模式)

    HadoopHA模式(由于Hadoop的HA模式是在Hadoop完全分布式基礎(chǔ)上,利用zookeeper等協(xié)調(diào)工具配置的高可用的Hadoop集群模式)

    目錄 1.前期準(zhǔn)備 1.1.hadoop-3.1.3.tar.gz,jdk-8u212-linux-x64.tar.gz,apache-zookeeper-3.5.7-bin.tar.gz三個(gè)包提取碼:k5y6 2.解壓安裝包,配置環(huán)境變量 3. 將三個(gè)節(jié)點(diǎn)分別命名為master、slave1、slave2并做免密登錄 免密在前面Hadoop完全分布式搭建說過,這里不再贅述 4.搭建zookeeper集群 ?根據(jù)配置的

    2024年02月04日
    瀏覽(22)
  • Hadoop YARN HA 集群安裝部署詳細(xì)圖文教程

    Hadoop YARN HA 集群安裝部署詳細(xì)圖文教程

    目錄 一、YARN 集群角色、部署規(guī)劃 1.1?集群角色--概述 1.2?集群角色--ResourceManager(RM)? 1.3?集群角色--NodeManager(NM)? 1.4 HA?集群部署規(guī)劃 二、YARN RM?重啟機(jī)制 2.1 概述? 2.2 演示? 2.2.1?不開啟?RM?重啟機(jī)制現(xiàn)象? 2.3 兩種實(shí)現(xiàn)方案與區(qū)別? 2.3.1?Non-work-preserving RM restart 2.3.2?

    2024年02月04日
    瀏覽(53)
  • CentOS7搭建hadoop集群

    CentOS7搭建hadoop集群

    說明: ? ? ? ? 1.準(zhǔn)備三臺(tái)虛擬機(jī),參考:CentOS7集群環(huán)境搭建(以3臺(tái)為例) ? ? ? ? 2.配置虛擬機(jī)間免密登陸:參考:CentOS7集群配置免密登錄 ? ? ? ? 3.虛擬機(jī)分別安裝jdk:參考:CentOS7集群安裝JDK1.8 ? ? ? ? 4.hadoop安裝包下載,下載地址 準(zhǔn)備開始搭建hadoop集群,以下操作在第

    2024年02月09日
    瀏覽(22)
  • Centos7.9_hadoop集群下配置防火墻_安全部署_防火墻配置_端口配置_協(xié)議配置_IP配置_全部親測(cè)---記錄022_大數(shù)據(jù)工作筆記0182

    之前看的hadoop集群搭建的時(shí)候,都是要把linux的防火墻關(guān)閉,還有selinux也會(huì)關(guān)閉,但是有些環(huán)境下,對(duì)安全要求比較高,即使在內(nèi)網(wǎng)搭建hadoop集群,也需要打開防火墻,這個(gè)時(shí)候,可以配置: 比如我集群中有3臺(tái)機(jī)器,那么這3臺(tái)機(jī)器直接的ip地址,可以給這3臺(tái)機(jī)器,都開啟防火墻,然后 不取分

    2024年02月08日
    瀏覽(21)
  • CentOS 搭建 Hadoop3 高可用集群

    CentOS 搭建 Hadoop3 高可用集群

    spark101 spark102 spark103 192.168.171.101 192.168.171.102 192.168.171.103 namenode namenode journalnode journalnode journalnode datanode datanode datanode nodemanager nodemanager nodemanager recource manager recource manager job history job log job log job log 1.1 升級(jí)操作系統(tǒng)和軟件 升級(jí)后建議重啟 1.2 安裝常用軟件 1.3 修改主機(jī)名 1

    2024年02月06日
    瀏覽(25)
  • 大數(shù)據(jù) | Hadoop HA高可用搭建保姆級(jí)教程(大二學(xué)長的萬字筆記)

    大數(shù)據(jù) | Hadoop HA高可用搭建保姆級(jí)教程(大二學(xué)長的萬字筆記)

    大家好!我是初心,今天給大家?guī)淼氖荋adoop HA搭建保姆級(jí)教程,來自大二學(xué)長的萬字長文自述和筆記! 相信很多人看到這個(gè)標(biāo)題時(shí),可能會(huì)產(chǎn)生一種疑問:博主你之前不是出過一期關(guān)于Hadoop HA高可用集群搭建的教程了嗎,這次怎么還出一篇?是有什么改進(jìn)的地方嗎? 沒錯(cuò)

    2024年02月06日
    瀏覽(24)
  • Centos7部署hadoop(單機(jī))

    Centos7部署hadoop(單機(jī))

    1.修改主機(jī)名稱(需要在root用戶下執(zhí)行) hostnamectl set-hostname 需要修改的主機(jī)名稱 或者修改配置文件 vim /etc/hostname 2.如果主機(jī)沒有固定IP,需要固定IP(這一步自行查詢) 3.關(guān)閉防火墻 4.禁用selinux 永久關(guān)閉selinux 安全策略,可以修改/etc/selinux/config, 將SELINUX=enforcing 修改為SELI

    2024年02月20日
    瀏覽(17)
  • Centos7原生hadoop環(huán)境,搭建Impala集群和負(fù)載均衡配置

    Centos7原生hadoop環(huán)境,搭建Impala集群和負(fù)載均衡配置

    Impala集群包含一個(gè)Catalog Server (Catalogd)、一個(gè)Statestore Server (Statestored) 和若干個(gè)Impala Daemon (Impalad)。Catalogd主要負(fù)責(zé)元數(shù)據(jù)的獲取和DDL的執(zhí)行,Statestored主要負(fù)責(zé)消息/元數(shù)據(jù)的廣播,Impalad主要負(fù)責(zé)查詢的接收和執(zhí)行。 Impalad又可配置為coordinator only、 executor only 或coordinator and exe

    2024年02月04日
    瀏覽(50)
  • Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

    Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

    和相關(guān)配置版本 :Linux CentOS Hadoop Java 版本: CentOS7 Hadoop3.2.0 JDK1.8 虛擬機(jī)參數(shù)信息內(nèi)存3.2G、處理器2x2、內(nèi)存50G ISO:CentOS-7-x86_64-DVD-2009.iso 基本主從思路: 先把基礎(chǔ)的設(shè)置(SSH、JDK、Hadooop、環(huán)境變量、Hadoop和MapReduce配置信息)在一臺(tái)虛擬機(jī)(master)上配好,通過

    2024年02月05日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包