设为首页 加入收藏

TOP

Hadoop多节点分布式配置安装
2019-04-22 00:39:13 】 浏览:69
Tags:Hadoop 节点 分布式 配置 安装
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014686356/article/details/72843253

搭建的主要过程:

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:<script type="math/tex" id="MathJax-Element-8">JAVA_HOME/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是用户名)

<xml version="1.0" encoding="UTF-8"> 
<xml-stylesheet type="text/xsl" href="configuration.xsl"> 

<!-- Put site-specific property overrides in this file. --> 

<configuration> 
        <property> 
                <name>fs.defaultFS</name> 
                <value>hdfs://master:9000</value> 
        </property> 
        <property> 
                <name>hadoop.tmp.dir</name> 
                <value>/home/oracle/hadoopdata</value> 
        </property> 
</configuration>

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

<xml version="1.0" encoding="UTF-8"> 
<xml-stylesheet type="text/xsl" href="configuration.xsl"> 

<!-- Put site-specific property overrides in this file. --> 

<configuration> 
    <property> 
        <name>dfs.replication</name> 
        <value>1</value> 
    </property> 
</configuration>

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

<xml version="1.0"> 

<configuration> 
 <property> 
  <name>yarn.nodemanager.aux-services</name> 
  <value>mapreduce_shuffle</value> 
 </property> 
 <property> 
                <name>yarn.resourcemanager.address</name> 
                <value>master:18040</value> 
        </property> 
 <property> 
                <name>yarn.resourcemanager.scheduler.address</name> 
                <value>master:18030</value> 
        </property> 
 <property> 
                <name>yarn.resourcemanager.resource-tracker.address</name> 
                <value>master:18025</value> 
        </property> 
 <property> 
                <name>yarn.resourcemanager.admin.address</name> 
                <value>master:18141</value> 
        </property> 
 <property> 
                <name>yarn.resourcemanager.webapp.address</name> 
                <value>master:18088</value> 
        </property>
        </configuration> 

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

<xml version="1.0"> 
<xml-stylesheet type="text/xsl" href="configuration.xsl"> 

<configuration> 
 <property> 
  <name>mapreduce.framework.name</name> 
  <value>yarn</value> 
 </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:<script type="math/tex" id="MathJax-Element-2">HADOOP_HOME/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/,出现如下界面
这里写图片描述
(15)执行测试样例
hadoop jar ~/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar pi 10 10
验证结果,就可以知道集群是否安装成功

**

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

**

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

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇不适合使用Hadoop的场景 下一篇Hadoop中出现错误如何查看错误信息

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目