本教程使用liunx系统centos 7.0,hadoop2.7.4,zookeeper 3.4.10版本,jdk 1.8。hadoop部署4个节点,2个nameNode节点,4个dataNode节点。zookeeper部署3个节点。
一、修改4台服务器名称
1.vim/etc/sysconfig/network
ETWORKING=yes
HOSTNAME=h1
2. vim/etc/hosts
127.0.0.1 localhost
::1 localhost
192.168.1.145 h1
192.168.1.146 h2
192.168.1.147 h3
192.168.1.148 h4
3. 重命名服务器:vim/etc/hostname ,编写服务器的名称:h1,编写完成后重新进入就能修改名称
二、修改免密码登录
1.安装ssh. sudo apt-get installssh. 安装完成后会在~目录(当前用户主目录,即这里的/home/xuhui)下产生一个隐藏文件夹.ssh(ls-a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir.ssh).
2.进入.ssh目录下面,在每台机器上执行:ssh-keygen-t rsa 之后一路回车,产生密钥;
3.完成第二步后会产生两个文件:
id-rsa #私钥
id-rsa.pub #公钥
4.在第一台机器的目录.ssh下执行命令,cat id-rsa.pub >>authorized_keys;此后.ssh下面会出现authorized_keys文件。
5. 然后将第一台机器的.ssh目录下面的authorized_keys文件拷贝到第二台计算机的.ssh目录下,如:scpauthorized_keys xuhui@cloud002:~/.ssh/
6. 再转到第二台机器的.ssh目录下,会发现刚刚传输过来的文件-authorized_keys,然后执行命令,将第二台计算机的公钥也加进来,如:catid-rsa.pub >> authorized_keys.
7. 将第二台计算机新生成的authorized_keys传输第三台计算机,将第三台计算机的公钥-id-rsa.pub添加到从第二台计算机传过来的authorized_keys里面。
8. 依次类推,直至集群中的最后一台计算机。
9. 在集群的最后一台计算机执行完添加后,生成的authorized_keys文件就包含集群中所有计算机的公钥,如果以后还有机器加进到集群中来,可以直接添加到文件-authorized_keys。最后,将最后生成的authorized_keys复制到集群中的每一台计算机的.ssh目录下,覆盖掉之前的authorized_keys。
10.完沉第九步后,就可以在集群中任意一台计算机上,免密码ssh登录到其他计算了。
三、配置四台服务器jdk
1. 下载并解压服jdk
tar-zxvf jdk-8u51-linux-x64.tar.gz
2. 配置profile文件
JAVA_HOME=/srv/jdk1.8.0_51
JRE_HOME=/srv/jdk1.8.0_51/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
exportJAVA_HOME JRE_HOME CLASS_PATH PATH
3. 检测:java-version
四、搭建zookeeper集群
1.关闭防火墙:
systemctlstop firewalld.service #停止firewall
systemctldisable firewalld.service #禁止firewall开机启动
2.官网下载zookeeper并解压
tar-zxvf zookeeper-3.4.10.tar.gz
3. 进入conf目录,复制zoo-sample.cfg为zoo.cfg, cp zoo-sample.cfg zoo.cfg 4. 通过修改zoo.cfg来对zookeeper进行配置 修改1:dataDir 指定zookeeper将数据保存在哪个目录下,如果不修改,默认在/tmp下,这个目录下的数据有可能会在磁盘空间不足或服务器重启时自动被linux清理,所以一定要修改这个地址 dataDir=/srv/zookeeper-3.4.10/data 修改2:修改服务器列表 单机模式:在zoo.cfg中只配置一个server.id就是单机模式了 伪集群模式:在zoo.cfg中配置多个server.id,其中ip都是当前机器,而端口各部相同,启动时就是伪集群模式了 集群模式:多台机器各自配置 server.1=xxx.xxx.xxx.xxx:2888:3888 server.2=xxx.xxx.xxx.xxx:2888:3888 server.3=xxx.xxx.xxx.xxx:2888:3888 如果是完全分布模式,还要进行修改3: 到之前配置的zookeeper数据文件所在的目录下生成一个文件叫myid,其中写上一个数字表明当前机器是哪一个编号的机器 echo “1” /srv/zookeeper-3.4.10/data/myid 5. 启动zookeeper集群: bin/zkServer.sh start 6. 查看状态:bin/zkServer.sh status 7. 配置环境变量:vim /etc/profile export ZK_HOME=/srv/zookeeper-3.4.10 export PATH=$PATH:$ZK_HOME/bin
自此,zookeeper搭建完毕!
参考文章: