Hadoop平台搭建
Posted 会编程的李较瘦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop平台搭建相关的知识,希望对你有一定的参考价值。
一、修改主机名
在Centos7中直接使用root用户执行hostnamectl命令修改,重启后永久生效。
hostnamectl set-hostname 新主机名
要求:三台主机的名字分别为:master slave1 slave2
二、配置静态IP
使用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 )
三、配置host映射
在完全分布式部署的Hadoop平台上,为了方便各节点的交互,也为了尽量减少配置的修改,通常在配置文件中都会使用主机名来访问节点,这就需要正确的建立主机名与ip的映射。我们目前已经有了三台配置好网络的机器。现在我们有这样三台机器(master为主节点):
主机名称 | IP地址 |
---|---|
master | 192.168.233.131 |
slave1 | 192.168.233.130 |
slave2 | 192.168.233.128 |
1.需要使用root用户修改 /etc/hosts 文件,在结尾直接追加内容(每台机器):
192.168.233.131 master
192.168.233.130 slave1
192.168.233.128 slave2
2.配置完成后可以使用ping命令一一测试,看看是够能够正确解析出ip地址,得到目标机器的回应(可以每台机器都测试一下:使用Ctrl + C结束)。
3.在slave1和slave2 上也修改hosts文件,追加内容和步骤1的内容相同,然后重复步骤2
四、SSH服务配置
1.SSH远程登录功能配置
(1)查看ssh服务是否开启
查看当前机器是否安装了SSH服务:rpm -qa |grep ssh
查看SSH服务是否启动:ps -e | grep sshd
如上图所示代表已安装并开启了SSH服务,所以不需要进行额外安装就可以直接远程访问(如果没有安装,则执行:yum install openssh-server 指令进行安装)。
(2)使用Xshell连接3台虚拟机节点
-
点击连接按钮后,会弹出对话框,选择接收并保存,即可完成建立会话,以后对虚拟机的操作就可以在这里完成。
-
2.SSH免密登录设置
(1)生成公钥密钥对
在3个节点上分别都执行如下命令:
ssh-keygen
连续按Enter键确认。
在root目录下输入:ll-a 可以查看当前目录下的所有文件(包含隐藏文件)。
然后进入.ssh隐藏目录,输入ls 命令,如图所示:
在图中能够看到包含两个文件分别是私钥和公钥,其中id_rsa为生成的私钥,id_rsa.pub为生成的公钥。
(2)将子节点的公钥拷贝到主节点并添加进authorized_keys
在master节点上执行如下两行命令:
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
执行时,到了红色框区域,需要输入yes
(3)测试是否成功
为了测试免密设置是否成功,可执行如下命令:
ssh master
ssh slave1
ssh slave2
结果如图所示:
五、Jdk的安装
为了规范后续Hadoop集群相关软件和数据的安装配置,这里在虚拟机的根目录下建一些文件夹作为约定,具体如下:
文件夹名 | 作用 |
---|---|
/export/data/ | 存放数据文件 |
/export/servers/ | 存放服务类文件 |
/export/software/ | 存放安装包文件 |
具体需要执行下面3条命令:
mkdir -p /export/data/
mkdir -p /export/servers/
mkdir -p /export/software/
进入export目录下,执行ls命令,如图所示即为成功。
1.下载jdk安装包
下载JDK地址 : https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2.使用xftp将本地的jdk安装包上传到Linux系统中
3.解压jdk安装包
执行如下命令:
tar -zxvf jdk-8u161-linux-x64.tar.gz
解压后在root目录下使用ls命令查看:
然后将解压后的jdk文件移动到/export/software文件夹下
4.配置环境变量
使用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
六、Hadoop环境变量的配置
1.解压Hadoop文件
tar -zxvf hadoop-2.4.1.tar.gz
2.然后将解压后的jdk文件移动到/export/software文件夹下
mv hadoop-2.4.1 /export/software/
3.配置Hadoop环境变量
vi /etc/profile
如图所示,修改profile文件的内容
4.测试配置
hadoop version
出现如上图所示Hadoop的版本号,即为配置成功。
七、Hadoop集群配置
配置文件 | 功能描述 |
---|---|
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能正常启动。
1.配置Hadoop集群主节点
(1)修改hadoop-env.sh和yarn.env.sh
修改hadoop-env.sh文件的27行内容为图片所示。
修改yarn.env.sh的23行如图片所示:
(2)修改core-site.xml
在末尾的标签中间加入下面属性的设置。
(3)修改hdfs-site.xml
在末尾的标签中间加入下面属性的设置。
(4)修改mapred-site.xml
在末尾的标签中间加入下面属性的设置。
(5)修改yarn-site.xml
在末尾的标签中间加入下面属性的设置。
(6)修改slaves文件
vi编辑slaves文件,将原有的localhost删掉,然后加入如图所示的内容。
2.将集群主节点的配置文件分发到其他子节点
scp -r /export/software/hadoop-2.4.1 slave1:/export/software/
scp -r /export/software/hadoop-2.4.1 slave2:/export/software/
八、Hadoop集群测试
1.格式化文件系统
2.启动和关闭Hadoop集群
start-dfs.sh
start-yarn.sh
3.通过UI查看Hadoop运行状态
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地址
以上是关于Hadoop平台搭建的主要内容,如果未能解决你的问题,请参考以下文章