Hadoop多节点分布式配置安装

搭建的主要过程:

Hadoop的环境主要在centos 7系统的虚拟机上进行搭建。搭建的过程主要分为如下三个步骤:1、节点的网络环境配置;2、各节点的免密码登录;3、Hadoop配置部署。下面将对这三个过程进行详细介绍。带颜色字体为终端命令

网络环境配置

1、 修改主节点和各个子节点的主机名,主节点为master,子节点为slave0,slave1,…
sudo gedit /etc/hostname
2、 将ip改为静态ip,各个节点的ip不同
sudo gedit /etc/network/interfaces
添加一下内容:
auto ens33
iface ens33 inet static
address 192.168.0.101
gateway 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
dns-nameservers 8.8.8.8
重启网络
sudo service networking restart
3、配置hosts列表(主节点和子节点)
sudo gedit /etc/hosts
在文件中添加各个节点的ip和主机名,如192.168.0.101 master
4、关闭防火墙
sudo ufw stop
5、配置时钟同步
crontab -e
在打开的文件中插入如下内容
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
保存退出

免密码登录

1、 在各个节点安装ssh,并且在各个节点上生成密钥,命令如下:
ssh-keygen -t rsa
2、 把公钥添加到 authorized_keys 中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3、 将各个节点的公钥添加到主节点的公钥文件中(其中ip表示其他节点的ip,):
ssh 192.168.0.102 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4、 将文件分发到各个节点:
scp ~/.ssh/authorized_keys 192.168.0.102:~/.ssh/authorized_keys
5、 测试登录各个节点
ssh master; ssh slave0;…
hadoop配置部署
1、 Java环境搭建
(1)下载jdk,并配置环境变量。
gedit /home/oracle/.bash_profile
在文件中添加如下内容:
export JAVA_HOME=/usr/java/jdk1.7.0_71/
export PATH= JAVAHOME/bin: PATH
(2)使改动立即生效
source /home/oracle/.bash_profile
(3)测试Java是否安装成功
java -version
2、 hadoop环境搭建
(1) 下载hadoop-2.7.3,并且解压到主目录下/home/oracle/
tar -xvf ~/hadoop-2.5.2.tar.gz
(2) 配置环境变量 hadoop-env.sh
gedit /home/oracle/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
将下面内容进行替换

export JAVA_HOME=${JAVA_HOME}

替换为:
export JAVA_HOME=/usr/java/jdk1.7.0_71/
(3) 配置环境变量 yarn-env.sh
gedit ~/hadoop-2.5.2/etc/hadoop/yarn-env.sh
找到下面内容进行替换
export JAVA_HOME=/home/y/libexec/jdk1.6.0/
替换为:
export JAVA_HOME=/usr/java/jdk1.7.0_71/
(4) 配置核心组件 core-site.xml
gedit ~/hadoop-2.7.3/etc/hadoop/core-site.xml
用下面的代码替换 core-site.xml 中的内容:(oracle是用户名)

 
 

 

<configuration> 
        <property> 
                <name>fs.defaultFSname> 
                <value>hdfs://master:9000value> 
        property> 
        <property> 
                <name>hadoop.tmp.dirname> 
                <value>/home/oracle/hadoopdatavalue> 
        property> 
configuration>

(5) 配置文件系统 hdfs-site.xml
gedit ~/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
用下面的代码替换 hdfs-site.xml中的内容:(dfs.replication 表示文件在hdfs中备份数目,这些数据一般备份在不同的节点上,当一个节点失效时,还可以从其他节点拿到这个文件的备份,如果是单机值为1,如果大于1会出现警告)

 
 

 

<configuration> 
    <property> 
        <name>dfs.replicationname> 
        <value>1value> 
    property> 
configuration>

(6) 配置文件系统 yarn-site.xml
gedit ~/hadoop-2.7.3/etc/hadoop/yarn-site.xml
用下面的代码替换 yarn-site.xml 中的内容:

 

<configuration> 
 <property> 
  <name>yarn.nodemanager.aux-servicesname> 
  <value>mapreduce_shufflevalue> 
 property> 
 <property> 
                <name>yarn.resourcemanager.addressname> 
                <value>master:18040value> 
        property> 
 <property> 
                <name>yarn.resourcemanager.scheduler.addressname> 
                <value>master:18030value> 
        property> 
 <property> 
                <name>yarn.resourcemanager.resource-tracker.addressname> 
                <value>master:18025value> 
        property> 
 <property> 
                <name>yarn.resourcemanager.admin.addressname> 
                <value>master:18141value> 
        property> 
 <property> 
                <name>yarn.resourcemanager.webapp.addressname> 
                <value>master:18088value> 
        property>
        configuration> 

(7) 配置计算框架 mapred-site.xml
gedit ~/hadoop-2.7.3/etc/hadoop/mapred-site.xml
用下面的代码替换 mapred-site.xml 中的内容

 
 

<configuration> 
 <property> 
  <name>mapreduce.framework.namename> 
  <value>yarnvalue> 
 property> 

configuration>

(8) 在 master 节点配置 slaves 文件
gedit ~/hadoop-2.5.2/etc/hadoop/slaves
在文件中填入各个子节点的名字
(9) 复制到子节点
scp -r hadoop-2.7.3 oracle@slave0:~/
(10) 配置 Hadoop 启动的系统环境变量
gedit ~/.bash_profile
添加如下内容
export HADOOP_HOME=/home/zkpk/hadoop-2.7.3
export PATH= HADOOPHOME/bin: HADOOP_HOME/sbin:$PATH
(11) 创建数据目录
mkdir /home/oracle/hadoopdata
(12) 格式化文件系统(如果多次格式化文件系统可能会导致namenode 和datanode 的id不同,所以每次执行该命令需要删除namenode和datanode 所在的文件夹,或者手动将id改为相同)
hdfs namenode -format
(13) 启动 Hadoop(之后的启动只需要执行次命令)
start-all.sh
(14) 测试hadoop是否启动正确
a、 输入jps应该出现如下内容
这里写图片描述
b、 Web UI 查看集群是否成功启动,浏览器访问http://master:50070/,出现如下界面
Hadoop多节点分布式配置安装_第1张图片
(15)执行测试样例
hadoop jar ~/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar pi 10 10
验证结果,就可以知道集群是否安装成功

**

在配置过程中,可以先配好一个子节点,然后将这个节点进行克隆变为其他的子节点,但是需要改变主机名,ip,进行免密登录,在主节点中添加host,简单方便。

**

希望对你有所帮助,十分感谢

你可能感兴趣的:(hadoop)