环境说明
- java8
- Hadoop 2.8.5
- zookeeper 3.4.10
- VMware® Workstation 14 Pro
- centos 7 1511
安装java8
安装步骤:
首先卸载自带的openjdk.
rpm -qa | grep java
查看安装的Java程序:
然后通过 rpm -e --nodeps
后面跟系统自带的jdk名 这个命令来删除系统自带的jdk,
例如:rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
下载jdk-8u131-linux-x64.tar.gz,上传到Linux服务器。
tar -zxf jdk-8u131-linux-x64.tar.gz
配置环境变量
vi /etc/profile
添加以下内容:
export JAVA_HOME=/home/java/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
执行source /etc/profile
生效。然后执行java -version
验证是否安装成功。
设置hostname
直接修改/etc/hostname
文件内容即可
[root@localhost lib]# vi /etc/hostname
[root@localhost lib]# hostname
node1
配置hosts
这里我们规划了4台服务器,这里一次性把四台机器都配置上了
[root@localhost lib]# cat /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.46.128 node1
192.168.46.130 node2
192.168.46.131 node3
192.168.46.132 node4
配置免密登陆
我们这里准备了4台机器,为了方便,使其两两都互通。
- 每台机器上都产品秘钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
- 将密钥导入authorized_keys文件
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
- 将node1 的公钥 id_dsa.pub 分发到其他三个节点上:
- 第一步,使用scp命令拷贝过去(在node1上执行命令,分别向node2,node3,node4拷贝,下面只列出了node2的操作命令结果,其他两台一样)
[root@localhost .ssh]# scp id_dsa.pub root@node2:~
The authenticity of host 'node2 (192.168.46.130)' can't be established.
ECDSA key fingerprint is 46:f8:c5:85:40:b6:0d:0a:66:3f:2e:25:65:5d:f4:7b.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added 'node2,192.168.46.130' (ECDSA) to the list of known hosts.
root@node2's password:
id_dsa.pub
- 第二步,在node2, node3, node4 三台机器上将node1的公钥文件,写入到authorized_keys文件中。三台机器均执行下面的命令(注意这里~目录下的id_dsa.pub文件是从node1上传过来的)。
[root@localhost ~]# cat id_dsa.pub >> ~/.ssh/authorized_keys
- 第三步,在node1机器上使用ssh命令测试,能够不输入密码连通即成功:
[root@localhost .ssh]# ssh node2
Last login: Wed Jul 10 23:59:35 2019 from node1
[root@node2 ~]#
- 第四步,上面[1-3]步,使得node1机器可以免密登陆node2,node3, node4,那么node2,node3, node4这三台机器重复上面[1-3]步骤即可使这4台机器两两之间都可以免密登陆了。
关闭防火墙
CentOS 7 默认使用的是firewall
作为防火墙
查看防火墙状态: firewall-cmd --state
停止firewall:systemctl stop firewalld.service
禁止firewall开机启动:systemctl disable firewalld.service