Hadoop 2.8.5 完全分布式HA高可用安装(一)--环境准备

环境说明

  • 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 分发到其他三个节点上:
  1. 第一步,使用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
  1. 第二步,在node2, node3, node4 三台机器上将node1的公钥文件,写入到authorized_keys文件中。三台机器均执行下面的命令(注意这里~目录下的id_dsa.pub文件是从node1上传过来的)。
[root@localhost ~]# cat id_dsa.pub >> ~/.ssh/authorized_keys
  1. 第三步,在node1机器上使用ssh命令测试,能够不输入密码连通即成功:
[root@localhost .ssh]# ssh node2
Last login: Wed Jul 10 23:59:35 2019 from node1
[root@node2 ~]# 
  1. 第四步,上面[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

参考:CentOS 6和CentOS 7防火墙的关闭

发布了234 篇原创文章 · 获赞 227 · 访问量 95万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie

分享到微信朋友圈

×

扫一扫,手机浏览