Hadoop全分布集群搭建
前言:这篇文章很长,是一个完整的Hadoop全分布集群搭建实验。代码高亮部分有完整的过程。照着就可以做出来。
经验:注意文件不要写错,注意用户目录
创建虚拟机
操作系统:CentOS 7.4
创建新的虚拟机(+)
典型(推荐)(T)
安装程序光盘映像文件:选择.iso文件 下载镜像文件
虚拟机名称(这里我设为Master),位置在输入名称后会生成一个文件夹可自定
磁盘容量用默认20G-将虚拟磁盘拆分成多个文件(M)
自定义硬件-此虚拟机的内存2G(2048MB)
(计算:Master主机1台1-2G;Slave从机2台1-2G;Windows系统2G;总共8G)
然后就可以完成,开始创建虚拟机了~等待它开机按照文字指引选择需要的选项回车即可
安装CnetOS 7.
WELCOME TO CENTOS 7.
这里先安个中文,往下拉或搜索框输入chi,选择【中文-简体中文(中国)】即可
有!
的地方(安装位置)点进去左上角[完成(D)]
软件选择(S):这次我用【最小安装】,如果需要桌面可以用GNOME左面或者其他.使用方法差不多.只是最小安装就是用命令控制
安装过程中可以顺便设置一下root密码和创建用户.我创建了一个叫hadoop的用户
安装过程大概几分钟,完成后重启
登录用户
进入后会提示localhost login
和Password
,分别输入对应的用户名和密码即可
这里我用的是用户hadoop
;密码123456
创建用户操作
如果前面没有创建用户,先登录root用户
使用useradd命令创建用户
shutdown -h now#关机
shutdown -r now#重启
useradd 用户名#创建用户
password 用户名#设置用户密码
userdel -r#删除用户
配置IP-连接网络
VMware操作
编辑(E)-虚拟网络编辑器(N)-更改设置(C)
-
查看
VMnet8
,设置为NAT模式子网IP(I):192,168.66.0 子网掩码(M):255.255.255.0
-
[NAT设置(S)…]
网关IP(G):192.168.66.2
物理机设置:
控制面板\网络和 Internet\网络连接
在此路径下,VMnet8需是已启用状态
可通过网络和共享中心-更改适配器设置进入并修改
CentOS配置
这个最小化安装,刚开始把用图形化界面和打好包的虚拟机的我搞傻了,那些个gedit,vim一个都没,它没联网,又不能安装…笑着做下去🙂
默认状态下最小化安装使用NetworkManager服务控制联网,但是这个配置在配置生产环境服务器时一般不会使用,而是使用系统自带的network服务,更加稳定,因此先关闭NetworkManager服务
- 关闭NetworkManager服务
systemctl stop NetworkManager
systemctl disable NetworkManager
- 查看网卡配置文件
ls /etc/sysconfig/network-scripts
[hadoop@localhost root]$ ls /etc/sysconfig/network-scripts
ifcfg-ens33 ifdown-ippp ifdown-routes ifup ifup-ipv6 ifup-ppp ifup-tunnel
ifcfg-lo ifdown-ipv6 ifdown-sit ifup-aliases ifup-isdn ifup-routes ifup-wireless
ifdown ifdown-isdn ifdown-Team ifup-bnep ifup-plip ifup-sit init.ipv6-global
ifdown-bnep ifdown-post ifdown-TeamPort ifup-eth ifup-plusb ifup-Team network-functions
ifdown-eth ifdown-ppp ifdown-tunnel ifup-ippp ifup-post ifup-TeamPort network-functions-ipv6
-
编辑network服务配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
[hadoop@localhost root]$ vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 编辑network服务配置文件,将ONBOOT及一下编辑为如下状态,BOOTROTP改为
=static
- 编辑network服务配置文件,将ONBOOT及一下编辑为如下状态,BOOTROTP改为
BOOTPROTP=static
ONBOOT=yes
IPADDR=192.168.66.100
NETWORK=255.255.255.0
GATEWAY=192.168.66.2
-
修改/etc/sysconfig/network文件
[root@localhost ~]# vi /etc/sysconfig/network 添加以下内容 # Created by anaconda NETWORING=yes GATEWAY=192.168.66.2 DNS1=8.8.8.8 DNS2=114.114.114.114
-
重启网络服务
service network restart
[root@localhost ~]# service network restart Restarting network (via systemctl): [ OK ]
这时物理机可以ping通虚拟机IP地址,虚拟机也可以ping通网址了,也可以用Xshell或者SecureCRT之类的远程软件进行连接
配置sudoers文件
给hadoop配置免密sudo(root用户下)
vi /etc/sudoers
打开sudoers配置文件
在第一百行,root用户下插入hadoop用户权限
root ALL=(ALL) ALL
hadoop ALL=(ALL) NOPASSWD:ALL
这里本来是用vim的,但因为最小安装可能没有安装vim依赖,需要重新装一下
[root@localhost ~]# yum -y install vim
安装完成后就可以用
vim /etc/sudoers
命令打开sudo配置文件了
- 文件操作
命令 | 解析 |
---|---|
i | 进入编辑文本模式 |
Esc | 退出编辑文本模式 |
:w | 保存当前修改 |
:q | 不保存退出 |
:wq | 保存修改并退出 |
若出现:已设定选项’readonly’(请加
!
强制执行)在后面加入
!
即可,例如::wq!
- 编辑时行间跳转
跳转到文件的首行:普通模式下 gg
跳转到文件的尾行:普通模式下 G
跳转到指定行:普通模式100gg或者100G|命令模式下跳转到指定行::100
跳转到文件的50%:普通模式50%
查找关键字:命令模式/查找内容
,输入n
向后查找,输入N
向前查找
创建文件夹,修改属主
mkdir -p /tmp/dir1/dir2
创建一个目录树|mkdir dir1
创建dir1目录|mkdir dir1 dir2
同时创建两个目录
ls
查看目录|ls -l
显示详细信息|ls -a
显示隐藏文件|ls -lrt
按时间显示文件,l详细列表,r反向排序,t时间排序
chown修改属主change owner|chown -R 用户名:组名 ./
|chown -R hadoop:hadoop /opt/apps|chown :mail
[root@localhost ~]# su hadoop
[hadoop@localhost root]$ sudo mkdir -p /opt/apps
[hadoop@localhost root]$ sudo ls
anaconda-ks.cfg
[hadoop@localhost root]$ ls -l /opt/apps
总用量 0
[hadoop@localhost root]$ sudo chown -R hadoop:hadoop /opt/apps
[hadoop@localhost root]$ sudo ls -l
总用量 4
-rw-------. 1 root root 1423 1月 18 21:51 anaconda-ks.cfg
安装JDK
root目录下导入jdk-8u171-linux-x64.tar.gz
文件,此文件适用于UNIX系统
题外话
压缩命令:tar -zcvf 压缩文件名 .tar.gz 被压缩文件名
解压命令:tar -zxvf 压缩文件名.tar.gz
- 安装lrzsz:
sudo yum -y install lrzsz
。rz上传或直接拖动,sz 要下的文件回车。lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议,可以用在windows与linux 系统之间的文件传输,体积小速度快,可替代ftp。 - 用
rz
命令上传文件jdk-8u171-linux-x64.tar.gz
到虚拟机。用sz
命令也可以将虚拟机文件拷贝到本地。(;′⌒`)这里发现,我还是偏爱Xftp.可能还是用不惯普通用户. - 移动
mv jdk-8u171-linux-x64.tar.gz /opt/apps
[hadoop@localhost root]$ sudo ls -l
总用量 4
-rw-------. 1 root root 1423 1月 18 21:51 anaconda-ks.cfg
[hadoop@localhost root]$ sudo yum install lrzsz
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.nju.edu.cn
* extras: mirrors.nju.edu.cn
* updates: mirrors.nju.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 lrzsz.x86_64.0.0.12.20-36.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
==================================================================================================================
Package 架构 版本 源 大小
============================================================