HDFA(HA)和YARN(HA)部署(3个节点)

环境准备

部署环境:3台阿里云主机,2core8GB,centos7.2

ruozedata001 172.24.151.60(私)
ruozedata002 172.24.151.55(私)
ruozedata003 172.24.151.58(私)

配置免密登录

useradd hadoop
su - hadoop
mkdir app data lib maven_repos software script source tmp
root: yum install –y lrzsz
rz (上传hadoop、zk、jdk安装包)
hostname -i (查看ip,私)  /etc/hosts必须配置的是内网IP
root:vi ./etc/hosts
  	172.24.151.60 ruozedata001
    172.24.151.55 ruozedata002
    172.24.151.58 ruozedata003
su - hadoop
ssh-keygen
cd .ssh
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将ruozedata002和ruozedata003的id_rsa.pub下载本地,再上传到ruozedata001~/.ssh/目录下
cat id_rsa2.pub >> authorized_keys
cat id_rsa3.pub >> authorized_keys
然后将authorized_keys下载本地,上传到另两台对应目录下。
chmod 600 authorized_keys
测试:ssh ruozedata002 date
注意:第一次ssh需要输入yes,下次就不会了,这是因为产生了~/.ssh/known_hosts文件,所以若是主机重新运行ssh-keygen,必须删除known_hosts中旧的信息。

cd software
scp * ruozedata002:/home/hadoop/software
scp * ruozedata003:/home/hadoop/software

安装JDK

root: mkdir /usr/java
cd software/
tar -zxvf jdk-8u45-linux-x64.gz -C /usr/java
vi /etc/profile
	export JAVA_HOME=/usr/java/jdk1.8.0_45
	export PATH=\$JAVA_HOME/bin:$PATH
source /etc/profile
chown -R root:root /usr/java/* 

安装zookeeper

su - hadoop
cd ~/software 
tar -zxvf zookeeper-3.4.6.tar.gz -C ~/app
tar -zxvf hadoop-2.6.0-cdh5.15.1.tar.gz -C ~/app
cd ~/app
ln -s hadoop-2.6.0-cdh5.15.1 hadoop 
ln -s zookeeper-3.4.6 zookeeper
cd ~/app/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
dataDir=/home/hadoop/data/zookeeper
server.1=ruozedata001:2888:3888
server.2=ruozedata002:2888:3888
server.3=ruozedata003:2888:3888
cd ~/data
mkdir zookeeper
echo 1 > /home/hadoop/data/zookeeper/myid
vi ~/.bash_profile
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper
export PATH=\$ZOOKEEPER_HOME/bin:$PATH
source ~/.bash_profile
验证:which zkServer.sh
zkServer.sh start
zkServer.sh status

安装hadoop

cd /home/hadoop/app/hadoop/etc/hadoop
vi hadoop-env.sh 
修改:export JAVA_HOME=/usr/java/jdk1.8.0_45
rm -f core-site.xml hdfs-site.xml slaves yarn-site.xml
下载后上传:
http://git.ruozedata.com/G7/G7/blob/master/02-Hadoop%E9%AB%98%E7%BA%A7%E7%AC%AC%E4%BA%8C%E8%AF%BE(HDFS&Yarn%20HA%E9%83%A8%E7%BD%B2)/Hadoop%E9%9B%86%E7%BE%A4%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.rar

root: yum install -y dos2unix
dos2unix slaves

vi ~/.bash_profile
export HADOOP_HOME=/home/hadoop/app/hadoop
export PATH=$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source ~/.bash_profile
which hdfs

注意:先启动每台的JN,在格式化NN

3台一起:hadoop-daemon.sh start journalnode
rouzedata001:hadoop namenode -format

cd /home/hadoop/data/dfs
scp -r name rouzedata002:/home/hadoop/data/dfs

rouzedata001: hdfs zkfc -formatZK

start-dfs.sh
云主机访问50070和8088端口,需要设置安全组,位了防止挖矿,授权对象为本地的公网IP。
浏览器输入:
47.108.90.228:50070
47.108.91.23:50070 

start-yarn.sh
rouzedata002: yarn-daemon.sh start resourcemanager  (单独启动)
浏览器输入:
47.108.90.228:8088 (active)
	47.108.91.23:8088/cluster/cluster
	
手动启动historyserver
rouzedata001: $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver
浏览器输入:
47.108.90.228:19888

启动HDFS和YARN

启动顺序:

  1. zkServer.sh start (每台)
  2. start-all.sh
	  2.1 namenode
	  2.2 datanode
	  2.3 journalnode
	  2.4 zkfc
	  2.5 resourcemanager
	  2.6 nodemanager
  3. 单独启动 standby 的 reourcemanager
  4. historyserver

停止所有角色:stop-all.sh
停止顺序:和启动顺序相反。

常用命令

监控集群:hdfs dfsadmin -report
hdfs haadmin -getServiceState nn1   获取HA状态,返回“active”或“standby”
hdfs haadmin -getServiceState nn2
为了测试主备切换,kill -9 杀掉namenode进程,然后手工启动:
hadoop-daemon.sh start namenode
hdfs haadmin -failover nn1 nn2      将active由nn1转换到nn2.
hdfs haadmin -transitionToStandby -forcemanual nn2   将nn2转换为standby
hdfs文件检查
hdfs fsck /  (好文件显示块对应的IP,坏文件不显示)
这个命令可以检查整个文件系统的健康状况,但是要注意它不会主动恢复备份缺失的block,这个是由NameNode单独的线程异步处理的。

hdfs fsck / -files -locations -blocks  -racks 
-files       文件分块信息
-blocks      在带-files参数后才显示block信息
-locations   在带-blocks参数后才显示block块所在datanode的具体IP位置,
-racks       在带-files参数后显示机架位置

hdfs自动修复时间间隔是6小时。
hdfs debug 	 手动修复hdfs文件的缺失块
示例: hdfs debug recoverLease -path /file.txt -retries 3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值