Hadoop Hdfs扩容

现状和目标

Hadoop目前运行三个节点上,有一台做Namenode,其余为DataNode 主机IP 功能

主机IP功能
10.3.5.40NameNode
10.3.5.39DataNode
10.3.5.41DataNode

Hadoop以后运行在6个节点上,有一台做Namenode,其余为DataNode

主机IP功能
10.3.5.40NameNode
10.3.5.39DataNode
10.3.5.41DataNode
10.3.5.123DataNode
10.3.5124DataNode
10.3.5.125DataNode

对业务影响

指标数据暂时无法查询

前置条件和准备过程

  1. Transter-metricstore先关闭
  2. 优先关闭Transter-metricstore模块
  3. 登录10.3.5.101
[root@zfr ~]# cd /home/ycm/ycmsys/transfer-metricstore
[root@zfr ~]# ./transfer.sh stop

SSH无密码认证

在做Hbase、OpenTsDb扩容的时候已经做好了无密码认证。 制作无密码进入过程可参考如下方式:

  1. 生成密钥对

    [root@zfr ~]# ssh-keygen -t rsa #

  2. 把密钥追加到授权的key里面去

    [root@zfr ~]# cat id_rsa.pub >> authorized_keys

把公钥复制所有的Slave机器上 把各个机器的密钥追加到授权的key里面去

  1. 修改配置文件

修改sshd_config文件

[root@zfr ~]# vi /etc/ssh/sshd_config
修改如下参数

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
  1. 重启ssh服务
[root@zfr ~]# systemctl restart sshd.service
  1. 授权

授权方式需要严格执行

[root@zfr ~]# chmod 755 /root/.ssh
[root@zfr ~]# chmod 644 authorized_keys
[root@zfr ~]# chmod 644 id_rsa.pub
[root@zfr ~]# chmod 600 id_rsa

代码同步 通过scp方式把现生产环境的Hadoop传到10.3.5.123、10.3.5.124、10.3.5.125上。

  1. 关闭防火墙
[root@zfr ~]# service iptables stop 临时关闭,重启后失效
[root@zfr ~]# chkconfig iptables off 永久关闭
  1. 查看防火墙状态
[root@zfr ~]# service iptables stauts
  1. 关闭SELinux
[root@zfr ~]# vim /etc/sysconfig/selinux

按i进入编辑模式 设置:SELINUX=disabled 按Esc进入退出编辑,输入:wq!回车,即为保存并退出,或者shift+z+z

搭建Java环境

修改环境变量 /etc/profile

  [root@zfr ~]# vim /etc/profile

增加如下内容

export JAVA_HOME=/home/ycm/jdk8
export HADOOP_HOME=/home/ycm/hadoop272/hadoop
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$HADOOP_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 修改Hosts文件

修改每台机器的 /etc/hosts
增加如下内容,因扩容OpenTSDb的时候已经添加完毕

10.3.5.40 yyy-prod-ecs-01
10.3.5.39 yyy-prod-ecs-02
10.3.5.41 yyy-prod-ecs-03
10.3.5.123 opentsdb-1
10.3.5.124 opentsdb-2
10.3.5.125 opentsdb-3

变更过程

  1. 修改slave文件

修改slave 文件 在Hadoop的配置文件中添加节点的主机名称

vim /home/ycm/hadoop/etc/hadoop/slave

yyy-prod-ecs-01
yyy-prod-ecs-02
yyy-prod-ecs-03
opentsdb-1
opentsdb-2
opentsdb-3
  1. 修改hadoop-env.sh 文件

增加如下内容 因为代码是拷贝过来的,所以此步骤可以忽略

export JAVA_HOME=/home/ycm/jdk7
  1. 修改core-site.xml 文件

编辑 core-site.xml文件 因为代码是拷贝过来的,所以此步骤可以忽略

<configuration>
 <property>
        <name>fs.defaultFS</name>
        <value>**hdfs://yyy-prod-ecs-01:9000**</value>
    </property>
 <property>
  <name>hadoop.tmp.dir</name>
  <value>**/home/hadoop/data/tmp**</value>
 </property>
<property>
  <name>hadoop.native.lib</name>
  <value>true</value>
  <description>Should native hadoop libraries, if present, be used.</description>
</property>
</configuration>
  1. 修改hdfs-site.xml文件

编辑hdfs-site.xml文件 修改副本数和数据存储路径

<property>
        <name>dfs.replication</name>
        <value>**3**</value>
    </property>
<property>
    <name>dfs.data.dir</name>
    <value>**/home/hadoop/data**</value>
</property>
<property>

启动Hadoop

切换到/home/ycm/hadoop/sbin 路径下,根据需求执行如下命令。

./hadoop-daemon.sh start secondarynamenode./hadoop-daemon.sh start namenode./hadoop-daemon.sh start datanode

注意:
因为10.3.5.40当时Hadoop在根目录,根目录大小为40G,无法扩容。所以不能启动DataNode节点,否则会引起40这台机器磁盘爆炸!!!造成应用不可用。

变更效果检查

  1. 管理控制台检测

登录Hadoop管理控制页面

http://172.20.8.173:50070/dfshealth.html#tab-datanode 检查
但:由于集团堡垒机把50070端口封住,所以此方法暂时无法使用。

  1. 进程检测

1). 检查Hadoop的NameNode、DataNode进程的状况。
2). 检测Hadoop、Hbase功能
3). Opentsdb和Hbase正常
对其服务和监控的影响 Zabbix会报警 报警预计涉及模块:Hadoop、Hbase、OpenTsDb

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值