1、安装jdk和hadoop
在slave-01上安装并配置,这个就不说了,比较简单,下载jdk,hadoop,解压tar -zxf filename,修改/etc/profile文件,添加
export JAVA_HOME=filepath
export HADOOP_HOME=filepath
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
2、三台主机,一个是slave-01,(zookeeper用的这个名,就没改)作为namenode,一个slave-02,一个slave-03作为datenode。因此这里需要修改hosts文件,在slave-01上加上.ip地址不多说了,可以把dhcp改成static的,gnome就可以改,配置文件也可以。
192.168.174.155 slave-01
192.168.174.156 slave-02
192.168.174.157 slave-03
3、免SSH登录,三个主机都要操作
ssh-keygen-t rsa
之后全部点回车全部采用默认方式,默认的存放地点是~/.ssh,目录下有id_rsa和id_rsa.pub。在三台主机上都执行这个操作。
scp ~/.ssh/id_rsa.pub root@slave-01:/root/.ssh/id2
在slave-02执行这条语句
scp ~/.ssh/id_rsa.pub root@slave-01:/root/.ssh/id3
在slave-03执行这条语句
cat id_rsa.pub >> authorized_keys
cat id2>> authorized_keys
cat id3>> authorized_keys
在slave-01中执行这几条语句,id2和id3是刚才从slave-02和slave-03拿过来的公钥,避免重名,我就这么写了,追加到认证文件中去
scp ~/.ssh/authorized_keys root@slave-02:/root/.ssh/
scp ~/.ssh/authorized_keys root@slave-03:/root/.ssh/
在slave-01中继续执行这几条语句,先在,无论你在哪个slave里面使用ssh登陆,都免密码了,一劳永逸。这里为了省事,都用的root,实际中肯定不能用root,为了安全起见,可以新建一个hadoop用户。
scp第一个参数是文件的路径,第二个参数是用户名@主机名:复制到哪个目录下
4、参考我前面的为分布式模式的配置文件,把里面所有的127.0.0.1改成slave-01的真实ip地址192.168.174.155,
5、修改 hadoop/etc/hadoop/slaves配置文件,加上这两行
slave-02
slave-03
6、最后用scp命令把jdk、hosts、/etc/profile、hadoop统统复制给slave-02和slave-03,要求是路径一定要对应。除了ssh那个,其它的都在一个上配置就可以,因为我这里是安装一个centos后,直接复制的虚拟磁盘,所以差别不大。
7、启动前先关防火墙吧,三个都关掉。习惯测试环境下都关掉它。
service iptables stop
8、在slave-01执行这个命令,第一个是格式化,第二个是一劳永逸的启动方式,虽然不推荐这种启动方式,但先用吧
bin/hadoop namenode -format
sbin/start-all.sh
<span style="background-color: rgb(255, 0, 0);">jps查看的时候显示结果</span>
<span style="background-color: rgb(255, 0, 0);">在slave-01上有namenode resourcemanager secondnamenode</span>
<span style="background-color: rgb(255, 0, 0);">在slave-02和slave-03上有datanode 和nodemanage</span>