您的位置:首页 > 运维架构 > Linux

hadoop2.7.3+zookeeper3.4.6+jdk1.8+centos7的三台服务器环境部署

2017-04-16 21:05 627 查看
1 配置搭建hadoop的主机的静态ip /etc/sysconfig/network-scripts/ifcfg-eno*

     修改dhch方式为static

     IPADDR=192.168.1.122 #静态IP

GATEWAY=192.168.1.1 #默认网关

NETMASK=255.255.255.0 #子网掩码 

DNS1=202.96.134.33 #DNS 配置

DNS2=202.96.128.86

 

2 配置主机名和地址的映射/etc/hosts

192.168.18.110  hadoop1

192.168.18.111  hadoop2

192.168.18.112  hadoop3

 

 

3 关闭防火墙 和同步时间

    systemctlstop firewalld

systemctl disable firewalld

ntpdate cn.ntp.org.cn

 

4 增加hadoop所需的用户防止hadoop使用root时误删数据

     useradd hadoop  #增加hadoop用户,用户组、home目录、终端使用默认
     passwd  hadoop  #修改密码

    

5  rpm -qa|grep openjdk  #检查openjdk,存在则删除

yum remove *-openjdk-*

 

 

6 安装jdk1.8 zookeeper3.4.6 hadoop2.7.3并分别配置环境变量

    JAVA_HOME=
   HADOOP_HOME=

ZOOKEEPER_HOME=

export JAVA_HOME  HADOOP_HOMEZOOKEEPER_HOME

export PATH= $JAVA_HOME/bin:ZOOKEEPER_HOME/bin

:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH

 

7 配置安装zookeeper

   复制zookeeper conf下的zoo_simple.conf更改为zoo.cfg

 

  在zoo.cfg中增加

tickTime=2000

dataDir=/usr/zookeeper/data

dataLogDir=/usr/zookeeper/log

clientPort=2181

initLimit=5

syncLimit=2

server.1=centos1:2888:3888

server.2=centos2:2888:3888

server.3=centos3:2888:3888 

在配置的各台节点dataDir目录下创建my
4000
id文件添加对应server后的数字

启动zookeeperzkServer.sh start   zkServer.sh stop

 

执行完以上步骤后建立快照

 

8 建立ssh免密码登陆

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

   scp./.ssh/id_dsa.pub root@node2:/opt

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

 

9 修改hadoop-env.sh  修改JAVA_HOME=/usr/java/jdk1.7

 

10修改core-site.xml

<property>

       <name>fs.defaultFS</name>

       <value>hdfs://ns</value>

         <description>指定hdfs的默认访问</description>

   </property>

 

   <property>

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

       <value>/usr/local/hadoop/tmp</value>

         <description>指定hadoop临时目录</description>

   </property>

 

   <property>

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

       <value>centos1:2181,centos2:2181,centos3:2181</value>

         <description>指定zookeeper集群的地址 </description>

  </property>

 

10修改hdfs-site.xml

<property>  

      <name>dfs.nameservices</name>  

       <value>ns</value>  

       <description>指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致</description>

  </property>  

 

  <property>  

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

       <value>nn1,nn2</value>

       <description>ns下面有两个NameNode,分别是nn1,nn2</description>

  </property>  

 

  <!--每个namenode监听的RPC地址-->

  <property>  

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

       <value>centos1:8020</value>  

  </property>  

  <property>  

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

       <value>centos2:8020</value>  

  </property>

 

  <!--每个namenode监听的http地址-->

  <property>  

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

       <value>centos1:50070</value>  

  </property>

  <property>  

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

       <value>centos2:50070</value>  

  </property>

  

    <property>  

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

       <value>qjournal://centos1:8485;centos2:8485;centos3:8485/ns</value> 

       <description>指定NameNode的元数据在JournalNode上的存放位置</description>

  </property>

 

  <!-- 指定JournalNode在本地磁盘存放数据的位置 --> 

    <property> 

       <name>dfs.journalnode.edits.dir</name> 

       <value>/usr/local/hadoop/journaldata</value> 

    </property>

 

  <property>  

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

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

        <description>配置失败自动切换实现方式</description>

  </property>

 

  <!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行--> 

    <property> 

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

        <value> 

            sshfence 

        </value> 

    </property>

 

  <!-- 使用sshfence隔离机制时需要ssh免登陆
--> 

    <property> 

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

       <value>/root/.ssh/id_rsa</value> 

    </property>

 

    <property>  

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

       <value>true</value>  

       <description>开启NameNode失败自动切换</description>

  </property>

 

    <property>  

      <name>dfs.ha.fencing.ssh.connect-timeout</name>

       <value>30000</value>  

       <description>配置sshfence隔离机制超时时间</description>

    </property>

 

11 修改 yarn-site.xml

<property>

       <name>yarn.resourcemanager.ha.enabled</name>

        <value>true</value>

        <description>开启RM高可靠</description>

     </property>

 

     <property>

       <name>yarn.resourcemanager.cluster-id</name>

        <value>yrc</value>

        <description>指定RM的cluster id</description>

     </property>

 

     <property>

       <name>yarn.resourcemanager.ha.rm-ids</name>

        <value>rm1,rm2</value>

        <description>指定RM的名字</description>

     </property>

 

     <!--分别指定RM的地址-->

     <property>

       <name>yarn.resourcemanager.hostname.rm1</name>

        <value>one</value>

     </property>

 

     <property>

        <name>yarn.resourcemanager.hostname.rm2</name>

        <value>two</value>

     </property>

 

     <property>

       <name>yarn.resourcemanager.zk-address</name>

       <value>one:2181,two:2181,three:2181</value>

        <description>指定zk集群地址</description>

     </property>

 

     <property>

       <name>yarn.nodemanager.aux-services</name>

       <value>mapreduce_shuffle</value>

     </property>

 

12 修改mapred-site.xml

<property>

<
abba
span style="color:rgb(85,85,85);">     <name>mapreduce.framework.name</name>

      <value>yarn</value>

   </property>

 

13 修改slaves文件配置的时主机名

   One

   Two

   Three

并且启动zookeeper集群和hadoop-daemon.sh start journalnode

14 在配置的namenode的机器上执行hdfs namenode –format,并且在执行完成后将格式化的namenode所在的机器配置的hadoop临时目录复制到另外一个namenode相同的目录上

15 在配置了namenode的机器上执行hdfs zkfc -formatZK 

16start-dfs.sh 启动hdfs start-yarn.sh 启动yarn

17 访问 http://192.168.1.121:8088http://192.168.1.120:50070

 

配置hadoop在eclipse中的开发环境  2.7.3需要jdk8的环境

1 下载对应hadoop集群的hadoop-eclipse插件,并将其放在eclipse下的plugins目录下

2 将hadoop2.7.3.tar.gz解压并配置环境变量

3 在eclipse的preference中选择hadoop的安装地址

·    4 Map/Reduce(V2) Master: localhost:50020
·    DFS Master: localhost:8020
1、eclipse插件的生成
开始从网上下载了2.2的eclipse插件连接不上,老是报错,后来换成了2.6的插件,还是不行,最后无奈按照网上的办法下载了hadoop2x-eclipse-plugin-master压缩包解压后生成2.7.3的jar包,然后向里面加入了hadoop目录下share\hadoop\common\lib\commons-httpclient-3.1.jar才行。为了方便的大家使用,我把eclipse的插件放在网上供大家使用。
2、hadoop部署之后无法访问50070和8088端口的地址
Linux服务器防火墙没有关闭,关闭防火墙之后可以访问上述地址。
3、hadoop下bin目录下放入winutils.exe和hadoop.dll文件
放的winutils和dll文件最好和下载的hadoop版本一致,同时把hadoop.dll文件放到windows下system32下,重启电脑后生效。
下面为hadoop的插件和bin目录下文件
 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐