虚拟机linux配置

学习hadoop时, linux的环境配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
启动虚拟机之前, 在virtualBox中将该虚拟机的网络配置成桥接模式, 并且允许连接全部网络.

1. 用virtualBox安装好了centos7之后. 启动.
2. centos7开机后 默认状态下是不可以访问外部网络的.
用 yum install vim 可以发现 cannot find baseurl.... 因为此时虚拟机没有网络
也可以尝试ping ip看是否可以ping通.
3. 首先修改配置
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
ONBOOT=no 修改为yes
然后重启网络 systemctl restart network
4. 然后通过ip addr 就可以查看该虚拟的动态ip地址.
inet 192.168.1.147
如果你是习惯用ifconfig查看ip地址信息的. centos7中默认不提供. 需要额外安装net-tools
yum install net-tools
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1. 关闭ipv6
禁止掉ipv6网络: vim /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
然后使配置生效:
sysctl -p
输出配置的信息

2. 关闭防火墙:centos7 firewalld, centos6 是iptables
systemctl status firewalld 查看状态
systemctl stop firewalld 停止


3. 关闭selinux
输入: sestatus 查看selinux是否是enforcing
然后修改配置文件 将该状态关闭 vim /etc/selinux/config
把里面的内容: SELINUX=ENFORCING 修改为: SELINUX=disabled 即可.
1
2
3
4
5
6
7
主机名配置:
方式一: hostnamectl set-hostname hadoop001
式二: vi /etc/hostname

reboot重启下

hostname命令查看主机名
1
2
3
4
5
6
7
8
9
10
1. 新建用户
adduser dottie
2. 设置密码
passwd dottie
dottie
dottie
3. 赋予dottie用户 root 权限
vim /etc/sudoers 在root ALL=(ALL)下同样的添加一行即可.
4. 切换用户
su - dottie
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
信任的配置: (免密码配置, su - dottie 等其他非root用户就不要密码)
hadoop的进程之间通信使用ssh方式,需要每次都要输入密码。为了实现自动化操作,需要配置ssh免密码登陆方式

1. 生成公钥和私钥:(在哪个用户下生成就是那个用户的秘钥对. 根据用户来区分的)
cd ~/.ssh/
ssh-keygen -t rsa 使用rsa加密算法, 生成一对秘钥. 然后直接回车就可.
然后查看该目录下生成了两个文件: id_rsa, id_rsa.pub, 一个公钥, 一个私钥.
2. 将公钥拷给自己
ssh-copy-id localhost
会生成一个文件authorized_keys
当然, 也可以 使用 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 即可.

3. chmod 600 authorized_keys


在配置Hadoop集群分布时,要使用SSH免密码登录,
假设现在有两台机器hadoop@Master(192.168.1.101),作为Master机,
hadoop@Slave(192.168.1.102),作为Slave机。
现想hadoop@Master通过ssh免密码登录到hadoop@Slave

Master机器下的id_rsa.pub复制到Slave机器下的.ssh/authorized_keys文件里。
scp .ssh/id_rsa.pub hadoop@192.168.10.102:
cat id_rsa.pub.hadoop_master >> .ssh/authorized_keys

authorized_keys的权限要是600

ssh 192.168.10.102

现在MasterMaster机可以无密码登录Slave机了。



总结: 小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。
这个公钥/私钥对一般在私钥宿主机产生。
上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)
想让MasterSlave机无密码互登录,那Slave机以上面同样的方式配置即可,
Slave的公钥复制过去添加到authorized_keys的末尾就行了。
1
然后就可以安装jdk, 以及hadoop的一些jar包了.

ssh远程免密码登录主机方式:
推荐博客:

链接1

链接2