在Centos7中直接使用root用户执行hostnamectl命令修改,重启后永久生效。
hostnamectl set-hostname 新主机名
要求:三台主机的名字分别为:master slave1 slave2
使用root用户修改当前启用的网卡配置文件,所在路径为 /etc/sysconfig/network-scripts ,CentOS 6系统默认为ifcfg-eth0,CentOS 7系统默认为ifcfg-ens32 ,使用vi编辑器编辑ifcfg-ens32文件,所用命令如下:
vi /etc/sysconfig/network-scripts/ifcfg-ens32
三个节点上的这个文件都需要修改,修改的内容基本一致,如下图红色标记出来的是需要修改和添加的
#原值为dhcp,修改为static
BOOTPROT="satic"
# 添加IPADDR,对应的值要与原ip在同一网段
IPADDR=xxx.xxx.xxx.xxx
# 添加NETMASK,指定子网掩码,默认为255.255.255.0
NETMASK=255.255.255.0
# 添加GATEWAY,要与虚拟机网卡的设置一致,默认仅主机模式为1,NAT模式为2
GATEWAY=xxx.xxx.xxx.1/2
# 如果需要连入外网,则可以添加DNS1和DNS2配置,通常会将DNS1指定为网关地址
DNS1=网关地址
DNS2=8.8.8.8
注意:配置完成后保存退出,使用systemctl restart network命令重启网卡服务。(如果使用service network restart命令,则需要编辑/etc/resolv.conf文件,添加对应的如下内容:nameserver 8.8.8.8 )
在完全分布式部署的Hadoop平台上,为了方便各节点的交互,也为了尽量减少配置的修改,通常在配置文件中都会使用主机名来访问节点,这就需要正确的建立主机名与ip的映射。我们目前已经有了三台配置好网络的机器。现在我们有这样三台机器(master为主节点):
主机名称 | IP地址 |
---|---|
master | 192.168.233.131 |
slave1 | 192.168.233.130 |
slave2 | 192.168.233.128 |
192.168.233.131 master
192.168.233.130 slave1
192.168.233.128 slave2
查看当前机器是否安装了SSH服务:rpm -qa |grep ssh
查看SSH服务是否启动:ps -e | grep sshd
如上图所示代表已安装并开启了SSH服务,所以不需要进行额外安装就可以直接远程访问(如果没有安装,则执行:yum install openssh-server 指令进行安装)。
点击连接按钮后,会弹出对话框,选择接收并保存,即可完成建立会话,以后对虚拟机的操作就可以在这里完成。
在3个节点上分别都执行如下命令:
ssh-keygen
连续按Enter键确认。
在root目录下输入:ll-a 可以查看当前目录下的所有文件(包含隐藏文件)。
然后进入.ssh隐藏目录,输入ls 命令,如图所示:
在图中能够看到包含两个文件分别是私钥和公钥,其中id_rsa为生成的私钥,id_rsa.pub为生成的公钥。
在master节点上执行如下两行命令:
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
执行时,到了红色框区域,需要输入yes
为了测试免密设置是否成功,可执行如下命令:
ssh master
ssh slave1
ssh slave2
结果如图所示:
为了规范后续Hadoop集群相关软件和数据的安装配置,这里在虚拟机的根目录下建一些文件夹作为约定,具体如下:
文件夹名 | 作用 |
---|---|
/export/data/ | 存放数据文件 |
/export/servers/ | 存放服务类文件 |
/export/software/ | 存放安装包文件 |
具体需要执行下面3条命令:
mkdir -p /export/data/
mkdir -p /export/servers/
mkdir -p /export/software/
进入export目录下,执行ls命令,如图所示即为成功。
下载JDK地址 : https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
执行如下命令:
tar -zxvf jdk-8u161-linux-x64.tar.gz
解压后在root目录下使用ls命令查看:
然后将解压后的jdk文件移动到/export/software文件夹下
使用vi编辑器编辑etc文件夹下的profile文件,键盘按下大写字母G,即可将光标移动到文章的末尾。
vi/etc/profile
将如下内容添加到末尾
export JAVA_HOME=/export/software/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
刷新环境变量
source /etc/profile
使用命令测试
java -version
tar -zxvf hadoop-2.4.1.tar.gz
mv hadoop-2.4.1 /export/software/
vi /etc/profile
hadoop version
配置文件 | 功能描述 |
---|---|
hadoop.env.sh | 配置Hadoop运行所需的环境变量 |
yarn.env.sh | 配置Yarn运行所需的环境变量 |
core-site.xml | Hadoop核心全局配置文件,可在其他配置文件中引用此该文件 |
hdfs-site.xml | HDFS配置文件,继承core-site.xml配置文件 |
mapred-site.xml | MapReduce配置文件,继承core-site.xml配置文件 |
yarn-site.xml | Yarn配置文件,继承core-site.xml配置文件 |
在表中,前2个配置文件都是用来指定Hadoop 和YARN所需运行环境,hadoop.env.sh用来保证Hadoop系统能够正常运行HDFS的守护进程NameNode、SecondaryNameNode和DataNode;而yarn.env.sh用来保证YARN的守护进程ResourceMananger和NodeManager能正常启动。
修改hadoop-env.sh文件的27行内容为图片所示。
修改yarn.env.sh的23行如图片所示:
在末尾的标签中间加入下面属性的设置。
vi编辑slaves文件,将原有的localhost删掉,然后加入如图所示的内容。
scp -r /export/software/hadoop-2.4.1 slave1:/export/software/
scp -r /export/software/hadoop-2.4.1 slave2:/export/software/
start-dfs.sh
start-yarn.sh
Hadoop 集群正常启动后,它默认开放了50070和8088两个端口,分别用于监控HDFS集群和YARN集群。
输入网址192.168.233.131:50070,可查看HDFS管理界面,其中192.168.233.131为master的ip地址
输入192.168.233.131:8088,可查看资源管理Yarn界面,其中192.168.233.131为master的ip地址