当前位置: 首页 > article >正文

Hadoop分布式集群安装部署(Redhat 6.4 64位操作系统)

一、配置自动时钟同步

(管理节点:namenode)

1.查看是否安装了NTP:
# rpm -q ntp
ntp-4.2.4p8-2.el6.x86_64    // 这表示已安装了,如果没有安装,这是空白。

2.开启ntp的自启命令:
# chkconfig ntpd on

3.配置NTP的配置文件
#vi /etc/ntp.conf

添加内容:
#表示同步的服务器(把现有的3个服务器注释掉)

server 192.168.222.100


保存退出,重启ntp服务。
service ntpd restart


查看状态:
# ntpq -p 

出现以下信息表示配置成功。(注意:本机的ip为192.168.222.100)。

 

(计算节点:slave)

ntp服务自启设置:

# chkconfig ntpd on


配置文件内容为:
# 配置时间服务器为本地的时间服务器
server 192.168.222.100
保存退出。


3.重启ntp服务:
service ntpd restart

4.查看状态:
#  ntpq -p 
出现以下信息表示配置成功。

 

 

二、配置主机名

(管理节点)

使用 vi 编辑器进行编辑文件:

#vi /etc/sysconfig/network

配置信息如下,如果已经存在则不修改,将 HadoopMaster 节点的主机名改为 master,即下面代码的第 2 行所示。

NETWORKING=yes #启动网络

HOSTNAME=master #主机名

使修改信息生效命令

# hostname master

检测主机名是否修改成功命令如下,在操作之前需要关闭当前终端,重新打开一个终端:

# hostname

 

(计算节点)

使用 vi编辑主机名:

# vi /etc/sysconfig/network

配置信息如下,如果已经存在则不修改,将 Hadoopslave 节点的主机名改为 slave,即下面代码的第 2 行所示。

NETWORKING=yes #启动网络

HOSTNAME=slave #主机名

使修改信息生效命令:

# hostname slave

检测主机名是否修改成功命令如下,在操作之前需要关闭当前终端,重新打开一个终端:

# hostname

 

三、配置网络环境

通过图形化界面进行配置网络。

在linux界面右上角网络链接图标上点击右键,然后选择“Edit Connections”

点击有线网络(可能名称不一样),然后选择“Edit”

 

选择“IPv4 Setting”,Method选择“Manual”,并配置如图信息,

 

然后点击“Apply”,点击“close”关闭对话框。打开命令行,重启网络,命令为

# service network restart

Ip地址与配置的IP一样,则说明网络配置成功。

 

配置VMWare网络模式,虚拟机中点击“编辑”--->“虚拟网络编辑器”,删除其他网络模式,只保留NAT模式,如下图,

 

配置虚拟机网络模式,

选中要配置的虚拟机,然后点击右键--->设置--->网络适配器--->“自定义(U):特定虚拟网络”--->VMnet*(NAT)模式--->确定

验证网络,

通过XShell远程登录工具,进行登录该虚拟机,

 

输入用户名“root”和密码,登录成功,则说明网络配置完成。

计算节点slave的网络配置与管理节点master一样,只是将Ip地址配置为:192.168.222.101。

四、关闭防火墙

临时关闭防火墙

#service iptables stop

永久关闭防火墙:

# chkconfig iptables off

五、配置 hosts 列表

需要在 root 用户下,编辑主机名列表的命令:

# vi /etc/hosts

将下面两行添加到/etc/hosts 文件中:

这里 master 节点对应 IP 地址是 192.168.222.100,slave 对应的 IP 是 192.168.222.100,而自己在做配置时,需要将这两个 IP 地址改为你的 master 和 slave 对应的 IP 地址。

验证是否配置成功的命令是:

#ping master

#ping slave

如果出现下图的信息表示配置成功:

 

六、验证免密钥登陆

在master 节点上

在终端生成密钥,命令如下(一路点击回车生成密钥)

#ssh-keygen -t rsa

生成的密钥在.ssh 目录下如下图所示:

 

 

复制公钥文件:

#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

执行 ls -l 命令后会看到下图的文件列表:

将 authorized_keys 文件复制到 slave 节点,命令如下:

#scp ~/.ssh/authorized_keys zkpk@slave:~/

 Slave节点:

在终端生成密钥,命令如下(一路点击回车生成密钥)

#ssh-keygen -t rsa

将 authorized_keys 文件移动到.ssh 目录

#mv authorized_keys ~/.ssh/

验证免密钥登陆

在 master 机器上执行下面的命令:

ssh slave

如果出现下图的内容表示免密钥配置成功:

 

七、安装 JDK

首先将JDK安装包上传到虚拟机上,然后更改权限

#chmod 777 jdk-7u25-linux-x64.tar.gz

 

解压缩软件包:

# tar -zxvf jdk-7u25-linux-x64.tar.gz

 

重命名jdk安装包:

# mv jdk1.7.0_25 jdk

配置环境变量:

# vi /etc/profile

验证是否安装成功:

 

八、Hadoop安装

更改权限:

#chmod 777  hadoop-2.5.2.tar.gz

解压安装包:

#tar -zxvf hadoop-2.5.2.tar.gz

 

重命名安装包:

# mv hadoop-2.5.2 hadoop

 

配置java运行环境:

# vi hadoop/etc/hadoop/hadoop-env.sh

找到

 

更该为:

 

配置环境变量 yarn-env.sh

# vi hadoop/etc/hadoop/yarn-env.sh

在文件的靠前的部分找到下面的一行代码:

 

将第二行代码修改为下面的代码(将#号去掉):

更改为:

 

配置核心组件 core-site.xml

#vi hadoop/etc/hadoop/core-site.xml

<?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/hadoopdata</value>

</property>

</configuration>

配置文件系统 hdfs-site.xml

<?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>

    <property>

        <name>dfs.namenode.name.dir</name>

        <value>/home/hadoopdata/dfs/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>/home/hadoopdata/dfs/data</value>

    </property>

</configuration>

配置文件系统 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>

配置计算框架 mapred-site.xml

#cp hadoop/etc/hadoop/mapred-site.xml.template hadoop/etc/hadoop/mapred-site.xml

#vi hadoop/etc/hadoop/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>

 master 节点配置 slaves 文件

# vi hadoop/etc/hadoop/slaves

 

复制到从节点

使用下面的命令将已经配置完成的 Hadoop 复制到从节点 Slave 上(大概2-3分钟):

#scp -r /home/software/hadoop root@slave:/home/software/

配置 Hadoop 启动的系统环境变量

# vi /etc/profile

 

使配置信息生效:

# source /etc/profile

创建数据目录

(两个节点上都要创建)

# mkdir /home/hadoopdata

# mkdir /home/hadoopdata/dfs

# mkdir /home/hadoopdata/dfs/data

# mkdir /home/hadoopdata/dfs/name

格式化文件系统:

# hdfs namenode -format

看到下图的打印信息表示格式化成功,如果出现 Exception/Error,则表示出问题:

 

启动 Hadoop

#/start-all.sh

查看进程是否启动:HadoopMaster 的终端执行 jps 命令,在打印结果中会看到 4 个进程,分别是 ResourceManagerJpsNameNode SecondaryNameNode,如下图所示。如果出现了这 4 个进程表示主节点进程启动成功。

 

HadoopSlave 的终端执行 jps 命令,在打印结果中会看到 3 个进程,分别是 NodeManagerDataNode Jps,如下图所示。如果出现了这 3 个进程表示从节点进程启动成功。

 

Web UI 查看集群是否成功启动

HadoopMaster 上启动 Firefox 浏览器,在浏览器地址栏中输入输入http://192.168.222.100:50070/,检查namenode datanode 是否正常。UI 页面如下图所示。

 

运行 PI 实例检查集群是否成功

进入 Hadoop 安装主目录,执行下面的命令:

# cd /home/software/hadoop/share/hadoop/mapreduce/

# hadoop jar hadoop-mapreduce-examples-2.5.2.jar pi 10 10

会看到如下的执行结果:

最后输出:

Estimated value of Pi is 3.20000000000000000000 如果以上的 3 个验证步骤都没有问题,说明集群正常启动。


http://www.kler.cn/a/6922.html

相关文章:

  • HTTP 1.0、HTTP 1.1 和 HTTP 2.0 区别
  • Python-简单病毒程序合集(一)
  • 1Panel 推送 SSL 证书到阿里云、腾讯云
  • Springboot 整合 Java DL4J 打造金融风险评估系统
  • PyTorch数据集方法
  • 蜀道山CTF<最高的山最长的河>出题记录
  • 【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题,真题分析与代码讲解
  • 新办林业调查设计资质需要符合什么条件,多久能办下来?
  • 【云原生进阶之容器】第五章容器运行时5.4--容器运行时之Firecracker
  • 使用Nginx代理访问服务器的.mp4文件,并使用Vue播放
  • 鲁大师2023年Q1季度电动车报告:九号独占八榜,差异化竞争完成产品破圈
  • Leetcode.404 左叶子之和
  • PCB技巧(二)
  • Python基础(一)
  • 【C语言】关于我回头学的那些基础语法(一)
  • IntelliJ IDEA 2023.1 最新变化
  • 【数据中心】能效诊断和升级改造提高PUE能源利用效率
  • Type javax.servlet.http.HttpServletRequest not present
  • 安全防御 --- 入侵检测 --- IDS、IPS
  • 将Mircrosoft Store下载的Ubuntu安装到指定位置方法,同时解决“你需要来自System的权限才能对此文件进行更改”问题
  • android framework-zygote进程
  • 计算机网络复习笔记(二)体系结构
  • 桌面端编程之精品课程
  • 【Python】轻松掌握基础语法(一)
  • 买卖股票的最佳时机
  • 让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送