本节目标:
掌握Hadoop完全分布式搭建步骤
将NN、SNN、DN节点安装到同一台机器上,此种配置方式为伪分布式。而完全分布式相对于伪分布式而言,是将NN、SNN、DN安装到不同的机器上。在此讲解完全分布式搭建,完全分布式更贴近于实际生产环境。
所需软件:
JDK1.8、Hadoop2.7.6安装包
节点部署情况:
| NN | SNN | DN |
master(192.168.85.10) | l |
|
|
slave1(192.168.85.11) |
| l | l |
slave2(192.168.85.12) |
|
| l |
slave3(192.168.85.13) |
|
| l |
1、对每个节点进行IP设置:
vi /etc/sysconfig/network-scriping/ifcfg-eth0
BOOTPROTO=static
IPADDR=192.168.188.10
NETMASK=255.255.255.0
GATEWAY=192.168.188.2
DNS1=202.96.199.133
重启:service network restart
检查:ifconfig
2、设置每个节点的主机名
vi /etc/sysconfig/network
同步设置每个节点的hosts映射文件
vi /etc/hosts
3、永久关闭防火墙
chkconfig iptables off
service iptables status
4、修改selinux
vi /etc/selinux/config
设置SELINUX=disabled
5、设置时间同步在每个节点上执行:yum install ntp -y
ntpdate -u 时间服务器地址
时间服务器地址可采用以下其一:
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com
检查时间是否同步:date
6、SSH免密钥登录
yum -y install openssh-clients 安装ssh客户端service sshd start 开启ssh服务
在每个节点上执行:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
将每个节点上的id_rsa.pub信息汇集到一个authorized_keys文件中,然后将这个文件分发到各个节点上,这样各个节点之间可以相互免密钥登录。
7、jdk1.8安装配置
安装:tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/src
改名:mv jdk1.8.0_171/ jdk1.8
vi ~/.bashrc
export JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
source ~/.bashrc
检查:java -version
8、hadoop安装配置
安装:tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local/src
vi ~/.bashrc
export HADOOP_HOME=/usr/local/src/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc
hadoop安装目录下创建目录tmp,作为hadoop的临时文件目录
修改配置文件
hadoop-env.sh --> export JAVA_HOME=/usr/local/src/jdk1.8
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> --->文件系统 访问地址和端口
</property>
<property>
<name>hadoop.tmp.dir</name> --->临时文件目录
<value>/usr/local/src/hadoop-2.7.6/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name> --->副本数
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name> --->secondnamenode 访问地址和端口
<value>slave1:50090</value>
</property>
</configuration>
vi masters --->slave1 指定secondnamenode,不指定,默认在namenode所在节点
vi slaves --->slave1 slave2 slave3
9、同步hadoop所有文件
格式化NN:hdfs namenode -format
启动HDFS:start-dfs.sh查看进程:jps
webUI查看:
NN ----> 192.168.85.10:50070
SNN ---->192.168.85.11:50090
以上步骤参考官方文档进行。