hadoop配置使用到的脚本

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 hadoop配置使用到的脚本,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1.ip_hostname.sh 查看ip和hostname

[root@master conf]# vi ip_hostname.sh

#!/bin/bash
# input ip
ip=`ifconfig eno16777736| grep "inet" | awk '{ print $2}'`
echo "本机的IP是$ip"
# input hostname
hostname=`hostname`
echo "本机的主机名是$hostname"
ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
echo "本机的IP是$ip"

#1.ifconfig -a         和window下执行此命令一样道理,返回本机所有ip信息
#2.grep inet               截取包含ip的行
#3.grep -v 127.0.0.1       去掉本地指向的那行
#4.grep -v inet6           去掉包含inet6的行
#5.awk { print $2}         $2 表示默认以空格分割的第二组 同理 $1表示第一组​ 
#6.tr -d "addr:            删除"addr:"这个字符串

[root@master conf]# ./ip_hostname.sh 
本机的IP是192.168.121.151
fe80::20c:29ff:fe38:f04
本机的主机名是master
本机的IP是192.168.121.151
192.168.122.1

[root@master conf]# sh ip_hostname.sh 
本机的IP是192.168.121.151
fe80::20c:29ff:fe38:f04
本机的主机名是master
本机的IP是192.168.121.151
192.168.122.1

2.genpasswd.sh 本地生成密钥

内容如下

#!/bin/bash
for i in master slaver1 slaver2
do
  echo "========$i生成密钥========"
  ssh $i "ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa"
done

执行

[root@master conf]# ./genpasswd.sh 
========master生成密钥========
The authenticity of host 'master (192.168.121.151)' can't be established.
ECDSA key fingerprint is 7e:62:21:88:c3:41:ba:83:44:54:a9:63:6e:93:8f:67.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'master,192.168.121.151' (ECDSA) to the list of known hosts.
root@master's password: 
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
fb:59:35:82:bb:b7:12:e0:56:6c:b3:9d:a9:98:86:46 root@master
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|         .       |
|        . =.     |
|       .S+.+.oo  |
|      E o.o.+o . |
|     . o.o.o.    |
|      o +.o+.    |
|     . .  +o..   |
+-----------------+
========slaver1生成密钥========
root@slaver1's password: 
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
32:70:48:56:d2:78:80:ff:73:8d:81:52:b4:85:7a:b4 root@slaver1
The key's randomart image is:
+--[ RSA 2048]----+
|   .=*o..        |
|  .o.o*o         |
|   .o=oo         |
|    +oE .        |
|     +o S+       |
|      ooo .      |
|       o         |
|                 |
|                 |
+-----------------+
========slaver2生成密钥========
root@slaver2's password: 
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
b0:a5:6d:47:41:ed:7e:2b:b5:88:a0:59:a0:0a:bb:a5 root@slaver2
The key's randomart image is:
+--[ RSA 2048]----+
|         .o.     |
|           ..    |
|      . . ..     |
|      .* .  .    |
|     .o.S ..     |
|.   .  .o.  . o  |
| o..   + . . + o |
|.o.   o   . o o  |
|E.           .   |
+-----------------+

3. 上传密钥

master,slaver1,slaver2都执行以下三行代码

ssh-copy-id -i ~/.ssh/id_rsa.pub master
ssh-copy-id -i ~/.ssh/id_rsa.pub slaver1
ssh-copy-id -i ~/.ssh/id_rsa.pub slaver2

4.delpasswd.sh 删除密钥目录

[root@master conf]# cat delpasswd.sh 
#!/bin/bash
for i in master slaver1 slaver2
do
  echo "========$i生成密钥========"
  ssh $i "rm -rf ~/.ssh"
done
rm -rf ~/.ssh

5.jps.sh 查看jps

#!/bin/bash
for i in master slaver1 slaver2
do
  echo "========$i的JPS========"
  ssh $i "jps"
done

6.hadoop.sh 重新格式化单步启动hadoop集群

#!/bin/bash
echo -e "\n"
for i in master slaver1 slaver2
do
  echo "========删除$i的进程========"
  ssh $i "jps |awk '{print $1}' |xargs kill -9"
  echo "========查看$i的进程========"
  ssh $i "jps"
done

echo -e "\n"
for i in master slaver1 slaver2
do
  echo "========删除$i的hadoop的log和tmp========"
  ssh $i "rm -rf /export/data/hadoop /export/servers/hadoop-2.7.3/logs"
done

echo "========在master上格式化namenode节点========"
ssh master "hadoop namenode -format"
echo -e "\n"

echo "========在master上启动NameNode========"
ssh master "hadoop-daemon.sh start namenode"
echo -e "\n"

echo "========在slaver2上启动SecondaryNameNode========"
ssh slaver2 "hadoop-daemon.sh start secondarynamenode"
echo -e "\n"

for i in master slaver1 slaver2
do
  echo "========在$i上启动DataNode节点========"
  ssh $i "hadoop-daemon.sh start datanode"
done
echo -e "\n"

echo "========在slaver1启动ResourceManager========"
ssh slaver1 "yarn-daemon.sh start resourcemanager"
echo -e "\n"

for i in master slaver1 slaver2
do
  echo "========在$i上启动NodeManger========"
  ssh $i "yarn-daemon.sh start nodemanager"
done
echo -e "\n"

for i in master slaver1 slaver2
do
  echo "========$i的JPS========"
  ssh $i "jps"
done

7.start.sh 重新格式化启动集群

#!/bin/bash
echo -e "\n"
for i in master slaver1 slaver2
do
  echo "========删除$i的进程========"
  ssh $i "jps |awk '{print $1}' |xargs kill -9"
  echo "========查看$i的进程========"
  ssh $i "jps"
done

echo -e "\n"
for i in master slaver1 slaver2
do
  echo "========删除$i的hadoop的log和tmp========"
  ssh $i "rm -rf /export/data/hadoop /export/servers/hadoop-2.7.3/logs"
done

echo "========在master上格式化namenode节点========"
ssh master "hadoop namenode -format"
echo -e "\n"

echo "========在master上启动hdfs所有节点========"
ssh master "start-dfs.sh"
echo -e "\n"

echo "========在slaver1上启动yarn所有节点========"
ssh slaver1 "start-yarn.sh"
echo -e "\n"

for i in master slaver1 slaver2
do
  echo "========$i的JPS========"
  ssh $i "jps"
done

如果resourcemanager和namenode都在master上可以使用starct-all.sh启动

#!/bin/bash
echo -e "\n"
for i in master slaver1 slaver2
do
  echo "========删除$i的进程========"
  ssh $i "jps |awk '{print $1}' |xargs kill -9"
  echo "========查看$i的进程========"
  ssh $i "jps"
done

echo -e "\n"
for i in master slaver1 slaver2
do
  echo "========删除$i的hadoop的log和tmp========"
  ssh $i "rm -rf /export/data/hadoop /export/servers/hadoop-2.7.3/logs"
done

echo "========在master上格式化namenode节点========"
ssh master "hadoop namenode -format"
echo -e "\n"

echo "========在master上启动所有节点========"
ssh master "start-all.sh"
echo -e "\n"

for i in master slaver1 slaver2
do
  echo "========$i的JPS========"
  ssh $i "jps"
done

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/140769.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!