一、准备情况

1. 修改本地服务器的名称

/etc/hostname

2台服务器搭建zookeeper集群 两台服务器如何做集群_vim

2. 准备四台服务器,将所有服务器集群要映射到  /etc/hosts文件中,主要目的是访问名称就等同于访问IP地址了,比较方便

2台服务器搭建zookeeper集群 两台服务器如何做集群_vim_02

3. 服务器集群linux互信

①先切入到root用户 下,当用centos7安装linux系统时,一般是在root用户组下创建用户,所以需要切换root用户。

②在root用户下执行        ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 

linux互信逻辑:假如有两台服务器node1和node2,将node1的id_dsa.pub放到node2里的authorized_keys中,则在node1服务器中执行    ssh   node2   命令   可以免密码登陆node2服务器。

注:一般在执行  authorized_keys

2台服务器搭建zookeeper集群 两台服务器如何做集群_2台服务器搭建zookeeper集群_03

③将登录机的ssh中的pub 拷贝到目标机中    [root@node1 .ssh]# scp ./id_dsa.pub root@node3:install/   (需要修改自己的目录)

④在目标机中执行  cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys      (需要修改自己的目录),将登录机的pub放到目标机中的 .ssh/中的authorized_keys中就可了

二、安装

9000 9200 9300 22 8080 80 50090 50070

1. cd /root/hadoop-2.7.2/etc/hadoop  

     vim hadoop-env.sh

 添加JAVA_HOME的环境变量

2台服务器搭建zookeeper集群 两台服务器如何做集群_JAVA_04

2. vim   /root/hadoop-2.7.2/etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node5:9000</value>
    </property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop-2.7.2</value>
  </property>

</configuration>

node5是对应的主节点的主机名称,只有在添加映射/etc/hosts之后才会起作用

/root/hadoop-2.7.2 路径要添加自己的路径

3. vim /root/hadoop-2.7.2/etc/hadoop/hdfs-site.xml

<property>        <name>dfs.namenode.secondary.http-address</name>        <value>node6:50090</value></property><property>        <name>dfs.namenode.secondary.https-address</name>        <value>node6:50091</value></property>

https和http是second的节点

node6是映射ip地址

 4. vim slaves

2台服务器搭建zookeeper集群 两台服务器如何做集群_hadoop_05

 5. vim masters (没有改文件,需要自己创建)

2台服务器搭建zookeeper集群 两台服务器如何做集群_JAVA_06

 6. 将其他的主机的配置文件也相应的修改,直接复制

scp -r /opt/hadoop-2.7.2 root@node2:/opt/       根据自己的目录填写

7. 格式化(只能在主节点执行一次,如果多次就会在显示live nodes  为0

hdfs namenode -format   只能在master的主机上敲

目录及初始化文件

2台服务器搭建zookeeper集群 两台服务器如何做集群_hadoop_07

 

8. 上传和下载用的是9000

     node1:50070监控用的

9. 打开服务器端口,这是centos7,打开端口的方式,centos7一下,需要自行百度

   方法一:

查询端口号:firewall-cmd --query-port=8020/tcp 打开端口号:

firewall-cmd --zone=public --add-port=9000/tcp --permanent
   
firewall-cmd --zone=public --add-port=50070/tcp --permanent
   
firewall-cmd --zone=public --add-port=50090/tcp --permanent
   
firewall-cmd --zone=public --add-port=50091/tcp --permanent
   
firewall-cmd --zone=public --add-port=50071/tcp --permanent
   
firewall-cmd --list-ports
  
firewall-cmd --reload

方法二:

启动默认不打开防火墙

systemctl start firewalld.service 
  
systemctl disable firewalld.service
 
systemctl stop firewalld.service

10. hadoop环境变量

export PATHJAVA_HOME=/opt/jdk1.8.0_111 JRE_HOME=$JAVA_HOME/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar export JAVA_HOME JRE_HOME PATH CLASSPATHexport HADOOP_HOME=/opt/hadoop-2.7.2export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

11. 启动/关闭

    start-dfs.sh

    stop-dfs.sh

12. 效果

2台服务器搭建zookeeper集群 两台服务器如何做集群_vim_08