HadoopHA搭建

四台机器 bei1 bei2 bei3 bei4

成都创新互联公司于2013年开始,是专业互联网技术服务公司,拥有项目网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元吴桥做网站,已为上家服务,为吴桥各地企业和个人服务,联系电话:18980820575


NNDNZKZKFCJNRM

NM(任务管理)

bei1 Y
YY


bei2 YYYYY
YY
bei3 
YY
Y
Y
bei4
Y

Y
Y

1、升级组件以及关闭防火墙

    yum -y update

      PS: 如果使用本地yum源可省略该项

      新开终端在升级组件的同时操作减少等待时间

    # service iptables stop

    # chkconfig iptables off

2、修改/etc/hosts文件中IP与主机映射关系 

    # vi /etc/hosts

192.168.31.131bei1

192.168.31.132bei2

192.168.31.133bei3

192.168.31.134bei4

3、如果是虚拟机修改/etc/sysconfig/network-scripts/ifcfg-eth0删除UUID和MAC地址

    # vi /etc/sysconfig/network-scripts/ifcfg-eth0

4、删除/etc/udev/rules.d/70-persistent-net.rules 默认网卡MAC生成规则文件

    # rm -rf /etc/udev/rules.d/70-persistent-net.rules 

      PS:如果是其它NODE节点不是虚拟机克隆或者源虚拟机复制的可省略第3、4两项

5、yum升级后重启主机

6、准备环境

6.1、yum -y install gcc gcc-c++ autoconf automake cmake ntp rsync ssh vim

yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

PS:以上一些程序可能对于hadoop并不需要但为了以后安装其它程序可能会用到尤其是源码安装

其中重要的三个程序是必须安装的

ssh 用于节点间通信 我选用的是CentOS6.7的版本默认已经安装了openssh

rsync用于远程同步

ntp 用于时间同步

6.2、当6.1中第一个yum安装完成后新开终端进行NTP时间同步该项很重要

6.2.1配置ntp启动项

chkconfig ntpd on

6.2.2同步时间

ntpdate ntp.sjtu.edu.cn

6.2.3启动ntpd服务

/etc/init.d/ntpd start

6.2.4验证ntp服务已经运行

pgrep ntpd

6.2.5初始同步

ntpdate -u ntp.sjtu.edu.cn

6.2.6确认同步成功

ntpq -p

PS:可以一次性输入以上命令

chkconfig ntpd on

ntpdate ntp.sjtu.edu.cn

/etc/init.d/ntpd start

pgrep ntpd

ntpdate -u ntp.sjtu.edu.cn

ntpq -p

等待6.2.1yum成功后建议重启主机

7、安装jdk

    7.1 将jdk考到家目录中

    7.2 rpm -ivh jdk_xxxxxxxx.rpm

    7.3 jdk安装目录默认为/usr/java/jdk1.7.0_79

    7.4 配置jdk环境变量

       # vim ~/.bash_profile

增加以下四行

export JAVA_HOME=/opt/sxt/soft/jdk1.7.0_80

export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/opt/sxt/soft/hadoop-2.5.1

export PATH=$PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin

编辑完成后使用source命令使文件~/.bash_profile生效执行以下命令

source ~/.bash_profile

检查环境变量

printenv

8、安装tomcat (这步可省略,不过以后肯定有用)

    将tomcat拷贝到/opt/sxt下解压

        # tar -zxvf apache-tomcat-xxxxx.tar.gz

9、将Hadoop 上传到/opt/sxt

# tar -zxvf hadoop-2.5.1_x64.tar.gz

    9.1 创建hadoop.tmp.dir目录及创建

# mkdir -p /opt/hadooptmp

    9.2 etc/hadoop/core-site.xml:

     fs.defaultFS

     hdfs://bjsxt

       ha.zookeeper.quorum

           bei1:2181,bei2:2181,bei3:2181

   hadoop.tmp.dir

   /opt/hadooptmp

    9.3 etc/hadoop/hdfs-site.xml:

 dfs.nameservices

 bjsxt

 dfs.ha.namenodes.bjsxt

 nn1,nn2

 dfs.namenode.rpc-address.bjsxt.nn1

 bei1:8020

 dfs.namenode.rpc-address.bjsxt.nn2

 bei2:8020

 dfs.namenode.http-address.bjsxt.nn1

 bei1:50070

 dfs.namenode.http-address.bjsxt.nn2

 bei2:50070

 dfs.namenode.shared.edits.dir

 qjournal://bei2:8485;bei3:8485;bei4:8485/bjsxt

 dfs.client.failover.proxy.provider.bjsxt

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

 dfs.ha.fencing.methods

 sshfence

 dfs.ha.fencing.ssh.private-key-files

 /root/.ssh/id_dsa

 dfs.journalnode.edits.dir

 /opt/hadooptmp/data

  dfs.ha.automatic-failover.enabled

  true

    9.4 克隆

    9.5 修改主机名 IP 网关 mac

修改主机名

vim /etc/sysconfig/network

修改IP地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改DNS

vi /etc/resolv.conf 中的search ,nameserver

10、检查ssh本地免密码登录

    10.1 第一次检查

ssh localhost

PS:远程成功后记得exit退出

    10.2 创建本地秘钥并将公共秘钥写入认证文件

# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

        # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    10.3 再次检查

ssh localhost

PS:同样exit退出

    10.4 在NameNode上将~/.ssh/authorized_keys文件复制到各节点上

scp ~/.ssh/authorized_keys root@hadoopsnn:~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys root@hadoopdn1:~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys root@hadoopdn2:~/.ssh/authorized_keys

    10.5 编写/opt/sxt/soft/hadoop-2.5.1/etc/hadoop/hadoop-env.sh文件默认 hadoop取不到用户环境变量里的JAVA_HOME所以要手动指定

vim /opt/sxt/soft/hadoop-2.5.1/etc/hadoop/hadoop-env.sh

找到export JAVA_HOME=${JAVA_HOME}

修改为export JAVA_HOME=/opt/sxt/soft/jdk1.7.0_80

增加以下一行

export HADOOP_PREFIX=/opt/sxt/soft/hadoop-2.5.1

11、 配置安装zookeeper

    11.1 三台zookeeper:bei1,bei2,bei3

    11.2 编辑zoo.cfg配置文件

修改dataDir=/opt/sxt/zookeeperdatadir

 tickTime=2000

 dataDir=/opt/sxt/zookeeperdatadir

 clientPort=2181

 initLimit=5

 syncLimit=2

 server.1=bei1:2888:3888

 server.2=bei2:2888:3888

 server.3=bei3:2888:3888

    11.3 在dataDir目录中创建一个myid的文件,文件内容为1,2,3

12、配置hadoop中的slaves  其中放置的是NN

*******这一步开始要认真按步骤做,若修改配置文件了,服务需要重启*******

13、启动三个zookeeper:/opt/sxt/zookeeper-3.4.6/bin/zkServer.sh start

14、启动三个JournalNode:./hadoop-daemon.sh start journalnode

15、在其中一个namenode上格式化:bin/hdfs namenode -format

16、把刚刚格式化之后的元数据拷贝到另外一个namenode上

16.1启动刚刚格式化的namenode :hadoop-daemone.sh start namenode

16.2在没有格式化的namenode上执行:hdfs namenode -bootstrapStandby

16.3启动第二个namenode

17、在其中一个namenode上初始化zkfc:hdfs zkfc -formatZK

18、停止上面节点:stop-dfs.sh

19、全面启动:start-dfs.sh

20、登录页面jps检查 登录页面检查


网页标题:HadoopHA搭建
标题URL:http://pwwzsj.com/article/jiedeo.html