安装配置HA版hadoop

原创
2017/06/07 22:54
阅读数 13

1、下载hadoop2.6.5软件

2、准备安装完成jdk配置好的主机4台以上

        1)配置主机名和IP地址的映射

                配置方法

                    1)vi /etc/hosts

                    2)在此文件的末尾添加配置主机名和ip地址映射

                        192.168.23.5  node1

                        192.168.23.6  node2

                        ……

                    3)保存退出

        2)完成免密钥登录

                1)生成公钥

                        命令:ssh-keygen -t dsa -P " -f ~/.ssh/id_dsa

                2)追加公钥到authorized_keys文件中

                        命令:cat ~./ssh/id_dsa.pub >> ~./ssh/authorized_keys

                        注:每台电脑都要做免密钥登录

3、划分主机功能

  NN-1 NN-2 DN ZK ZKFC JNN
node1 *       * *
node2   * * * * *
node3     * *   *
node4     * *    

4、安装zookeeper软件

    1)选择划分好要安装zookeeper的任意一台主机下载zookeeper软件

    2)解压zooleeper到指定目录下

            解压命令:tar xf zookeeper-版本号.tar.gz

      3)修改zoo.cfg

                注:默认安装包无此文件需复制并重命名zoo_sample.cfg为zoo.cfg

            1).修改此文件下的dataDir=XXXX

                  注:该目录需用户自定义一个路径。

              2).在该文件的末尾添加分配好的3个主机名

                     server.1=主机名:2888:3888

                     server.2=主机名:2888:3888

                     server.3=主机名:2888:3888

         4)保存退出该文件

        5)在zoo.cfg中设置的dataDir路径下创建一个文件并命名为myid

                编辑myid文件

                在此文件中首行输入“1”即可保存退出。

        6)把编辑好的zookeeper文件夹复制到另外两台主机上

                网络复制命令:scp ”zookeeper路径“ 主机名:`pwd`

        7)在另外两台主机上分别新建或者复制配置好的主机上面的dataDir路径下的myid文件

                分别修改myid文件内容为“2”和“3”;退出保存即可。

                注:三台主机的文件及dataDir目录结构要一致

        8)每台主机启动zookeeper

                启动命令:zkServer.sh start

        9)当三台主机启动完成zookeeper后查看zookeeper服务状态

                查看zookeeper状态命令:zkServer.sh status

                注:查看三台主机zookeeper服务状态时

                    三台主机中有一台主机状态为:leader

                    两台主机状态为:follower

                    表示zookeeper启动成功

5、安装配置hadoop软件

        1)在第一台主机上面解压下载完成的hadoop安装包

            解压命令:tar xf hadoop-版本号.tar.gz

            复制解压好的文件夹hadoop-版本号到一个自定义路径下更名为hadoop

        2)进入hadoop文件夹下的配置文件文件夹

                    配置文件的路径:hadoop/etc/hadoop

       3)修改配置文件下的所有*.env.sh文件中的包括”JAVA_HOME=“的路径

                注:JAVA_HOME路径是必须修改为jdk的绝对路径

        4)修改配置文件hdfs-site.xml

                在该文件内的<configuration></configuration>中间添加配置项

                配置项为:

            <!--这个配置信息意为block块副本数为3个-->

<property>

 <name>dfs.replication</name>

 <value>3</value>

</property>

<!--这个配置信息意为统一两台namenode的主机名-->

<property>

 <name>dfs.nameservices</name>

 <value>mycluster</value>

</property>

<!--这个配置信息意为两台namenode主机别名-->

<property>

 <name>dfs.ha.namenodes.mycluster</name>

 <value>nn1,nn2</value>

</property>

<!--这个配置信息意为第一台namenode主机地址-->

<property>

 <name>dfs.namenode.rpc-address.mycluster.nn1</name>

 <value>主机名1:8020</value>

</property>

<!--这个配置信息意为第二台namenode主机地址-->

<property>

 <name>dfs.namenode.rpc-address.mycluster.nn2</name>

 <value>主机名2:8020</value>

</property>

<!--这个配置信息意为第一台namenode主机访问地址-->

<property>

 <name>dfs.namenode.http-address.mycluster.nn1</name>

 <value>主机名1:50070</value>

</property>

<!--这个配置信息意为第二台namenode主机访问地址-->

<property>

 <name>dfs.namenode.http-address.mycluster.nn2</name>

 <value>主机名2:50070</value>

</property>

<!--这个配置信息意为那三台主机是journalNode-->

<property>

 <name>dfs.namenode.shared.edits.dir</name>

 <value>qjournal://主机1:8485;主机2:8485;主机3:8485/mycluster</value>

</property>

 

<!--这块配置信息意为配置主机间的心跳机制-->

<property>

 <name>dfs.client.failover.proxy.provider.mycluster</name>

 <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

<property>

 <name>dfs.ha.fencing.methods</name>

 <value>sshfence</value>

</property>

<!--这个配置信息意为跳转时需要访问私钥文件-->

<property>

 <name>dfs.ha.fencing.ssh.private-key-files</name>

 <value>/root/.ssh/id_dsa</value>

</property>

<!--这个配置信息意为开启HA模式-->

<property>

  <name>dfs.ha.automatic-failover.enabled</name>

  <value>true</value>

</property>

保存退出该文件

5)修改配置文件core-site.xml

在该文件内的<configuration></configuration>中间添加配置项

配置项为:

<!--这个配置信息意为读取hdfs-site.xml中配置的两台namenode统一别名-->

<property>

 <name>fs.defaultFS</name>

 <value>hdfs://mycluster</value>

</property>

<!--这个配置信息意为通知hadoop那些主机安装了zookeeper-->

<property>

  <name>ha.zookeeper.quorum</name>

  <value>node2:2181,node3:2181,node4:2181</value>

</property>

 

<!--这个配置信息意为指定hadoop运行文件位置-->

<property>

<name>hadoop.tmp.dir</name> 

<value>/var/hadoop/ha</value>

</property>

保存退出

6)把hadoop整个文件夹复制到另外3台主机上

7)启动hadoop

注:第一次启动时要按以下步骤启动

1)jps检查是否启动zookeeper

如已启动并主机间通信正常忽略此步骤

如未启动请按4步骤介绍启动

2)在分配为journalnode的主机上分别运行

hadoop-daemon.sh start journalnode 命令,启动journalnode

3)在第一台namenode上格式化namenode

命令:hdfs namenode -format

留意格式化是否报错,如无报错继续下续操作

4)启动第一台namenode

命令:hadoop-daemon.sh start namenode

5)启动第二台namenode主机

命令:hdfs namenode –bootstrapStandby

6)启动hadoop

命令:start-dfs.sh

7)格式化zkfc

命令:hdfs zkfc -formatZK

8)启动zkfc

命令:hadoop-daemon.sh start zkfc

1)启动zookeeper

命令:zkServer.sh start

2)启动hadoop

命令:start-dfs.sh

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部