接着上一个文章 hadoop平台搭建,之前我们安装好了centos6.7的系统,然后我们进入系统界面
我们尽量使用命令行,不要使用图形界面,如果你进入的是图形界面,那么你可以打开命令行工具,输入init 3 就可以临时进图命令行界面,如果想永久修改,可以用 vim /etc/inittab id ->3
查看当前系统启动级别: runlevel
修改系统启动级别: vim /etc/inittab id3
0:关机
1:单用户
2:多用户,不可访问网络
3:多用户(全功能,不带图形界面)
4.未使用
5.带有图形界面系统模式
6:重启
首先搭建hadoop之前我们需要配置好centos系统的环境:我分为了一下9个步骤
1、修改各服务器的主机名
2、配置各服务器的IP
3、配置各服务器的主机映射
4、添加hadoop用户,并且添加sudoer权限
5、关闭防火墙/关闭selinux
6、更改系统启动级别为3
7、安装JDK
8、三台服务器做时间同步
9、三台服务器配置SSH
下面我们一步步来操作配置系统环境:
1.在 root 账号下用命令:vi /etc/sysconfig/network
修改好之后保存退出 :wq
2 然后我们给系统的普通用户配置root权限:
hadoop 就是你的普通用户名 hadoop 可以改成你需要的用户名
如果你没有权限写这个文件,你可以查看你的权限用命令 ll /etc | grep sudoers
3.配置主机的静态ip
进入 vim /etc/sysconfig/network-scripts/ifcfg-eth0
然后配置如下参数
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=“System eth0”
IPADDR=192.168.66.133
PREFIX=24
GATEWAY=192.168.66.2
DNS1=192.168.66.2
LAST_CONNECT=1536895128
NETMASK=255.255.255.0
然后重启网络服务
运行:service network restart
然后测试ping www.baidu.com 如下成功:然后按 ctrl + c 结束程序运行
4.关闭防火墙
1.6、添加内网域名映射
修改配置文件:vi /etc/hosts
1.7、安装 JDK
首先安装jdk之前先卸载之前的java
查询:
rpm -qa | grep java
卸载jdk:
rpm -e 程序
1、 上传 jdk-8u73-linux-x64.tar.gz
2、 解压到/usr/local 目录下 tar -zxvf jdk-8u73-linux-x64.tar.gz -C /usr/local
3、 配置环境变量 a) vi /etc/profile b) 在最后加入两行:
export JAVA_HOME=/usr/local/jdk1.8.0_73
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin
c) 保存退出
4、 source /etc/profile
5、 检测是否安装成功,输入命:java -version
1.8、同步服务器时间
1、使用 date 命令手动简单同步一下 命令:date -s “2016-10-23 11:11:11” 修改时间后,需要写入硬件 bios 才能在重启之后依然生效 命令:hwclock -w 2、配置 crontab 服务,用 ntpdate 定时同步时间(推荐方式) ntpdate 202.120.2.101 3、如果类似 202.120.2.101 这种网络时间服务器无法访问,那么请自行搭建时间服务器
以上两种方式不管怎么做,都不要忘记更改时
1.9、配置免密登录
配置免密登录的时候一定要切换成普通用户配置,这样才能使普通用户免密登录
Linux 配置免密登录有两种方式:
3、 第一种
a) 在 hadoop 登录状态下,输入命令 ssh-keygen 或者 ssh-keygen -t rsa
b) 之后你会发现,在/home/hadoop/.ssh 目录下生成了公钥文件
c) 复制公钥文件到授权列表
cat ./id_rsa.pub >> authorized_keys
d) 修改文件权限 chmod 600 ./authorized_keys
e) 将该授权文件 authorized_keys 文件复制到 slave 节点
scp ./authorized_keys hadoop@hadoop02:~/.ssh/
f) 检查免密登录是否设置成功
ssh hadoop02 看看是不是能登录进入 hadoop02 的服务器
4、 第二种
配置SSH认证机制
假如A要登录B:
在A上进行操作:
1、 首先生成密钥对,使用命令:
ssh-keygen
或者
ssh-keygen -t rsa
上面一种是它的简写形式,提示要输入信息的时候不用输入任何东西,直接回车三次就OK
上述命令执行完成之后,会生成这么两个文件,其中id_rsa.pub是公钥
2、 将A自己的公钥放置到授权列表文件authorized_keys中
cat id_rsa.pub > authorized_keys
或者
cp id_rsa.pub authorized_keys
3、 将得到的authorized_keys发送给B机器对应的文件夹下
scp -r authorized_keys root@192.168.123.202:$PWD
或者
scp -r authorized_keys root@192.168.123.202:/root/.ssh/
这是一个远程拷贝命令,意思是把authorized_keys拷贝到192.168.123.202这台机器对应目录下
4、 这样我们的机器A就能访问到机器B了。验证方法使用命令:
ssh 192.168.123.202
重点理解之处:A将公钥发给B,不是B可以访问A,而是A可以访问B,所以任何一台机器想要能访问其他机器,那么就把自己的公钥内容发送到别的机器的authorized_keys中去,记住,是追加,不是覆盖
方法三 推荐使用 命令ssh-copy-id
还可以用这个命令把公钥发给需要免密的机器
ssh-copy-id -i ~/.ssh/id_rsa.pub chen@192.168.66.134