集群搭建1之前期准备

软件版本准备

1.hadoop-2.6.0-cdh5.7.0.tar.gz
2.jdk-8u45-linux-x64.gz
3.zookeeper-3.4.6.tar.gz
需要软件的小伙伴可以评论里面留下邮箱地址

建立hadoop用户上传软件

1.在/home/hadoop(也就是hadoop用户的家目录下面)建立几个文件夹用于存放数据

[hadoop@hadoop001 software]$3 mkdir app software data lib source
[hadoop@hadoop001 software]$3代表小窗口中同时将命令行输入到三台机器上,[hadoop@hadoop001 software]$1代表将命令行输入到当前机器上

2.将三个tar.gz包上传至software文件夹中。外网传输下载的速度是很慢的。所以选择在hadoop002这台机子上下载tar.gz包。再通过scp传输到其他两台机器上

[hadoop@dn201 software]$1 scp * 192.168.2.65
(如果这样的话代表的是在当前用户也就是hadoop用户下执行这个命令,但是我们建立用户的时候并没有给hadoop这个用户设置密码,所以用root去执行命令即如下:
[hadoop@dn201 software]$1 scp * [email protected]:/home/hadoop/software/
[hadoop@dn201 software]$1 scp * [email protected]:/home/hadoop/software/
[hadoop@hadoop001 software]$3 exit
[root@hadoop001 ~]#3 chown -R hadoop:hadoop /home/hadoop/software/*(在root下面将三台机器的用户和用户组同时修改为hadoop)
[root@hadoop001 ~]#3 ll /home/hadoop/software/*(三台查看一下是否已经改过来)
[root@hadoop001 ~]# su - hadoop(到此上传软件结束)

3.修改主机名:一台一台进行修改

如:[root@dn62 ~]$1 hostname hadoop003 (必须在root下面执行命令)
[root@dn62 ~]#1 vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop003

配置三台机器的/etc/hosts文件

1.先把hadoop001这台机器的/etc/hosts文件配置好,然后通过scp命令把文件传输到其他两台机器上,替换其他两台机器的/etc/hosts文件。具体操作如下:

[root@hadoop001 ~]#1 cat /etc/hosts (查看一下内容)
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.65 hadoop001
[root@hadoop001 ~]#1 vi /etc/hosts (把其他两台机器的ip和主机名添加进去)
192.168.2.65 hadoop001
192.168.2.199 hadoop002
192.168.2.200 hadoop003
[root@hadoop001 ~]#1 scp /etc/hosts 192.168.2.199:/etc/hosts
[root@hadoop001 ~]#1 scp /etc/hosts 192.168.2.200:/etc/hosts
[root@hadoop003 ~]#3 cat /etc/hosts (三台机器查看文件主机名配置及网络配置,都ok,到此/etc/hosts文件修改完成)
192.168.2.65 hadoop001
192.168.2.199 hadoop002
192.168.2.200 hadoop003

多台机器配置ssh无密码访问

1.创建生成hadoop用户的公钥和私钥,把其他两台机器的公钥都发到同一台机器上,然后生成一个authorized_keys 文件

[root@hadoop001 ~]#3 su - hadoop
[hadoop@hadoop001 ~]$3 ll -a (发现三台机器都有.ssh文件)
[hadoop@hadoop001 ~]$3 rm -rf .ssh (把hadoop用户下的.ssh先删掉,反正没什么用)
[hadoop@hadoop001 ~]$3 ll -a (再次查看一下)
[hadoop@hadoop001 ~]$3 ssh-keygen(创建公钥(Pulic Key)和密钥(Private Key)ssh-keygen -t[rsa|dsa]默认为dsa)(此命令的时候中间直接输入几次enter键)
接下来,把hadoop001作为主机,其他两台机器为辅。把其他两台机器的公钥文件发送给hadoop001
[hadoop@hadoop002 .ssh]$1 scp id_rsa.pub root@hadoop001:/home/hadoop/.ssh/id_rsa.pub2(id_rsa.pub2代表这是来自于第二台机器的公钥)
[hadoop@hadoop003 .ssh]$1 scp id_rsa.pub root@hadoop001:/home/hadoop/.ssh/id_rsa.pub3(id_rsa.pub3代表这是来自于第三台机器的公钥)
[hadoop@hadoop001 .ssh]$1 ll (查看hadoop001 机器此时下面的是否已经有了其他两台机器的公钥)
接下来把这个三个机器的公钥 追加 至hadoop001这台机器的/home/hadoop/.ssh/authorized_keys 中,(>>:追加  >:覆盖)如下:
[hadoop@hadoop001 .ssh]$1 cat id_rsa.pub >> authorized_keys
[hadoop@hadoop001 .ssh]$1 cat id_rsa.pub2 >> authorized_keys
[hadoop@hadoop001 .ssh]$1 cat id_rsa.pub3 >> authorized_keys
[hadoop@hadoop001 .ssh]$1 cat authorized_keys (查看该文件的内容)
[hadoop@hadoop001 .ssh]$1 ll(查看一下这个文件已经存在于这个文件夹下)

2.接下来要把hadoop001上面的这个authorized_keys文件scp到其他两台机器下面

[hadoop@hadoop001 .ssh]$1 scp authorized_keys root@hadoop002:/home/hadoop/.ssh/(因为不想再给hadoop用户设置密码,所以我们每次scp就选择使用root用户执行,输入root的密码 注:root执行的,所以执行后的文件用户用户组也就变成了root)
[hadoop@hadoop001 .ssh]$ scp authorized_keys root@hadoop003:/home/hadoop/.ssh/ (此时已经把这份公钥上传到三台机器了)
[hadoop@hadoop001 .ssh]$3 ll (可以看到authorized_keys在其他两台机器中的用户用户组是root。所以要通过root来修改权限其为hadoop,如下:)
[hadoop@hadoop001 .ssh]$3 exit
[root@hadoop001 ~]#3 chown -R hadoop:hadoop /home/hadoop/.ssh/*
[root@hadoop001 ~]#3 chown -R hadoop:hadoop /home/hadoop/.ssh(通过这两个命名确保三台机器的 .ssh文件夹及这个文件夹下的所有东西用户用户组都被修改为hadoop)
然后进入hadoop用户 查看是否权限修改成功

3.修改对应的权限
chmod 700 -R /home/hadoop/.ssh
chmod 600 /home/hadoop/.ssh/authorized_keys
因为我们的.ssh文件夹本来就是700.所以这一步就不用操作了。如果不是需要改为700

[hadoop@hadoop001 .ssh]$3 chmod 600 authorized_keys (把三台机器的authorized_keys文件权限改为600)
[hadoop@hadoop001 .ssh]$3 ll (确认一下权限是否都已经修改成功)
验证方式1.每台机器轮流做
[hadoop@hadoop001 .ssh]$1 ssh hadoop001 date(打印hadoop001机器的当前时间,验证是否ssh无密码配置成功)
[hadoop@hadoop001 .ssh]$1 ssh hadoop002 date
[hadoop@hadoop001 .ssh]$1 ssh hadoop003 date
验证方式2:
[hadoop@hadoop001 .ssh]$3 ssh hadoop001 date && ssh hadoop002 date && ssh hadoop003 date (&&代表三个命令同时做,先做第一个再做第二个再做第三个,显示如下:)
Tue Nov  6 11:33:26 CST 2018
Tue Nov 27 11:14:48 CST 2018
Tue Nov 27 11:14:48 CST 2018
到此为止,三台机器的ssh无密码访问已经创建成功

猜你喜欢

转载自blog.csdn.net/qq_42694416/article/details/84562859