链接工具备不少, 推荐使用XShell, 也可以使用其余的, 因人而异.java
上传工具也有不少, 推荐Xftp和fileZilla.
node
咱们使用四台节点来搭建集群, 将它们分别命名为node01, node02, node03, node04(命名可任意). 除此以外, 再用一台节点看成客户端节点: client.linux
首先, 须要先建立node01节点, 建立过程即在虚拟机中安装CentOS, 不会的可自行Bing, Google. 其他四台节点等通用配置设置完成以后, 用VMware自带的克隆功能克隆后稍加修改便可.web
cd /etc/sysconfig/network-scripts/ 进入该目录, 找到ifcfg-eth0的文件,用vim打开修改 将ONBOOT=no 改成yes 设置其跟随开机自启动 将BOOTPROTP=dhcp改成static 设置IP的获取由随机改成静态IP 再这以后添加如下内容(*注意 : 添加修改时, 不要加上说明用的中文*): IPADDR=192.168.75.133 手动设置的静态IP PREFIX=24 GATEWAY=192.168.75.2 网关ip. 打开VMware的虚拟网络编辑器, 选中nat模式查看nat设置中会有 DNS1=8.8.8.8 设置dns :wq 保存文件并退出 service network restart 退出后, 重启网络服务
网络设置好以后, 就能够在本地机中用XShell远程链接虚拟机了. 怎么链接自行bing, 咱们的操做一般是在链接工具上执行, 这样会更加方便.vim
节点安装ntp命令: yum install ntp -y 上网查找最新的时间服务器ntp1.aliyun.com, 可选择其余家的 同步时间: ntpdate ntp1.aliyun.com
使用上传工具将jdk和hadoop的包传到虚拟机中, 这里笔者将jdk传到/usr/local目录中, 将hadoop传到/opt/software/hadoop目录中, 路径因我的配置而异, 要记得本身存放的位置, 后文会对这些路径进行配置, 到时需修改成与我的配置相关的路径, 后续内容再也不重复此点.服务器
进入jdk存放的位置 cd /usr/local 解压安装包 tar -zxf jdk-8u181-linux-x64.tar.gz 给解压出来的文件设置权限 chmod -R 777 jdk1.8.0_181 配置java环境变量 vim /etc/profile 在文件最后插入 export JAVA_HOME=/usr/local/jdk1.8.0_181 export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin 让修改的文件生效 source /etc/profile 控制台输入java -version 来查看jdk是否生效.若是提示java版本则代表成功
vmware中克隆节点
网络
克隆三个节点完成之后, 此时克隆的三个节点的主机名, 静态ip地址, 网卡物理地址与第一个一致, 先修改一下它们:ssh
先设置节点网卡 vim /etc/udev/rules.d/70-persistent-net.rules
打开以后, 会有两个网卡的信息
其中, eth0 是克隆的node01节点的信息, 因此这里咱们要删除这一行, 而后把eth1改成eth0, 同时复制ATTR(address)中的内容, 即克隆出来的虚拟机网卡的物理地址.编辑器
而后配置ip, 分别在每个节点上执行svg
vim /etc/sysconfig/network-script/ifcfg-eth0 将HWADDR修改成刚才复制的内容 再修改IPADDR的IP地址, 只需改最后三位便可, 保证每一个节点的IP不一样 我设置的IP与节点对应关系为: 192.168.75.133 -- node01 192.168.75.134 -- node02 192.168.75.135 -- node03 192.168.75.136 -- node04 192.168.75.137 -- client
因为虚拟机是克隆出来的, 节点名称都相同, 须要再修改每一个节点的主机名
vim /etc/sysconfig/network 将NETWORKING设置为yes 打开网络 将HOSTNAME分别设为node02, node03, node04,client 这里须要重启后才能生效, 但先别着急, 等所有配置好以后, 再统一重启生效.
为了让节点之间可以互相访问到, 须要让每一个节点知晓其余节点的地址, 配置以下:
vim /etc/hosts 每一个节点执行该命令, 打开hosts文件进行修改 在五个节点中同时加入下列内容(这些是我本身设置的IP) 192.168.75.133 node01 192.168.75.134 node02 192.168.75.135 node03 192.168.75.136 node04 192.168.75.137 client
集群启动时, 须要访问其余节点(client节点除外), 为了实现自动化(没必要每次输入密码), 须要在每一个节点配置免密.
全部节点执行 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 生成公钥和私钥, 文件存放在~/.ssh目录下
每一个节点上配置自身以及其余节点的公钥.
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01 ssh-copy-id -i ~/.ssh/id_rsa.pub root@node02 ssh-copy-id -i ~/.ssh/id_rsa.pub root@node03 ssh-copy-id -i ~/.ssh/id_rsa.pub root@node04
注:全部存储的公钥信息都可在 ~/.ssh/authorized_keys文件中查看
要想成功运行, 还须要关闭各个节点的防火墙.
临时关闭防火墙(每次重启节点都需手动执行)
service iptables stop
永久关闭(推荐)
chkconfig iptables off
这么配下来, 大部分配置文件须要source或其余命令使其生效, 建议重启虚拟机.