从最小安装Centos7开始,Hadoop2.7 集群环境搭建(含HA配置)
环境说明
-
电脑操作系统windows 10专业版
-
Vbox5
-
虚拟机操作系统CentOS 7(网络配置NAT,最小安装)
-
jdk 8
-
hadoop 2.7.5
-
zookeeper 3.4.12
注:
1). 本人安装时所有安装包在/opt/目录下,安装目录也是,
2).涉及到的ip等根据自己情况更改
3).搭建步骤是从尴尬安装完centos(最小安装)开始
一、配置linux
-
配置网卡,静态 IP
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 #修改 BOOTPROTO=static ONBOOT=yes #增加 IPADDR=192.168.197.129 GATEWAY=192.168.197.2 NETMASK=255.255.255.0 DNS1=144.144.144.144 DNS2=1.1.1.1 [root@localhost ~]# systemctl restart network.service
-
更新yum,安装系统工具net-tools,常用工具,依赖关系
[root@localhost ~]# yum -y update [root@localhost ~]# yum -y install net-tools telnet gcc gcc-c++ make autoconf wget lrzsz libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel libxslt-devel libevent-devel libtool libtool-ltdl bison gd gd-devel vim-enhanced pcre-devel zip unzip ntpdate sysstat patch bc expect rsync
-
关闭SELINUX
[root@localhost ~]# vim /etc/sysconfig/selinux #SELINUX=enforcing SELINUX=disabled [root@localhost ~]# setenforce 0
-
设置时间时区(也可配成自己的ntp服务器)
[root@localhost ~]# yum install ntp #安装ntp服务的软件包 [root@localhost ~]# systemctl enable ntpd #将ntp服务设置为缺省启动 [root@localhost ~]# vim /etc/sysconfig/ntpd #修改启动参数,增加-g -x参数 OPTIONS="-g -x" [root@localhost ~]# systemctl restart ntpd #启动ntp服务 [root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #将系统时区改为上海时间 (亦即CST时区)
-
关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service # 关闭 “系统防火墙” [root@localhost ~]# systemctl disable firewalld.service # 关闭 “系统防火墙” 自启动
-
修改主机名
[root@localhost ~]# hostnamectl set-hostname master
-
配置ssh
[root@localhost ~]# vim /etc/ssh/ssh_config StrictHostKeyChecking no #免输入yes进行known_hosts添加 UserKnownHostsFile /dev/null #可时时删除known_hosts文件免除known_hosts未更新导致的冲突 [root@localhost ~]# vim /etc/ssh/sshd_config #解决ssh链接慢问题 UseDNS no #UseDNS yes改为no, 如果没有或默认注释就添加UseDNS no GSSAPIAuthentication no #GSSAPIAuthentication yes改为no, 如果没有或默认注释就添加GSSAPIAuthentication no
二、 安装jdk
-
解压包
[root@master ~]# cd /opt/ [root@master opt]# tar -xzvf jdk-8u171-linux-x64.tar.gz [root@master opt]# mv jdk1.8.0_171/ /usr/local/java/
-
配置环境变量
[root@master opt]# vim /etc/profile #jdk8 export JAVA_HOME=/usr/local/java export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH [root@master opt]# source /etc/profile [root@master opt]# javac -version javac 1.8.0_171
-
关机,然后将虚拟机复制两份,并分别修改主机名为slave1,slave2,静态IP尾号为130,131
三、 安装hadoop
-
修改各个节点上的hosts文件,
[root@master ~]# vim /etc/hosts 192.168.197.129 master 192.168.197.130 slave1 192.168.197.131 slave2
-
配置SSH免密登录
[root@master ~]# ssh-keygen -t rsa #在各节点上执行,直接回车 [root@master ~]# scp ~/.ssh/id_rsa.pub master:~/.ssh/id$HOSTNAME #在各节点上执行, [root@master ~]# cd ~/.ssh/ [root@master .ssh]# cat idmaster >> authorized_keys [root@master .ssh]# cat idslave1 >> authorized_keys [root@master .ssh]# cat idslave2 >> authorized_keys [root@master .ssh]# scp authorized_keys slave1:~/.ssh/ [root@master .ssh]# scp authorized_keys slave2:~/.ssh/
-
解压包
[root@master .ssh]# cd /opt/ [root@master opt]# tar -xzvf hadoop-2.7.5.tar.gz [root@master opt]# mv hadoop-2.7.5 hadoop
-
在hadoop目录下创建 temp, dfs, dfs/name, dfs/data 文件夹
[root@master opt]# mkdir hadoop/temp/ [root@master opt]# mkdir -p hadoop/dfs/name/ [root@master opt]# mkdir -p hadoop/dfs/data/
-
修改配置文件hadoop-env.sh
[root@master opt]# vim hadoop/etc/hadoop/hadoop-env.sh #export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/usr/local/java/
-
修改配置文件yarn-env.sh
[root@master opt]# vim hadoop/etc/hadoop/yarn-env.sh # JAVA_HOME=$JAVA_HOME JAVA_HOME=/usr/local/java/
-
修改配置文件core-site.xml
[root@master opt]# vim hadoop/etc/hadoop/core-site.xml <configuration> <property> <!-- NameNode的IP地址和端口 --> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <!-- 制定hadoop的temp文件夹地址 --> <name>hadoop.tmp.dir</name> <value>file:/opt/hadoop/temp/</value> </property> </configuration>
-
修改配置文件hdfs-site.xml
[root@master opt]# vim hadoop/etc/hadoop/hdfs-site.xml <configuration> <property> <name