hadoop-hdfs集群详细安装步骤

 安装hdfs集群的具体步骤:

一、首先需要准备N台linux服务器

学习阶段,用虚拟机即可!

先准备3台虚拟机:1个namenode节点  + 2 个datanode 节点

 

二、修改各台机器的主机名和ip地址

主机名:node1  对应的ip地址:192.168.223.11

主机名:node2  对应的ip地址:192.168.223.12

主机名:node3  对应的ip地址:192.168.223.13

三台主机上用户均为:ws(用户名,可以自取)

2.1 修改主机ip和网络

①用root权限打开配置文件,命令如下:

# ens33是网卡名 
vi /etc/sysconfig/network-scripts/ifcfg-ens33 

②修改配置项

注网关和掩码可以VMware Workstation Pro中编辑->虚拟网络编辑器->更改设置->NAT设置中查看

#原有配置修改项
#一定设置为static,不然重新开机地址会改变
BOOTPROTO=static
# 开机启动设置为yes
ONBOOT=yes

# 增加项
#IP地址
IPADDR=192.168.223.13
# 网关
GATEWAY=192.168.223.2
# 掩码
NETMASK=255.255.255.0
# DNS解析,119.29.29.29是国内一个公共的地址解析服务器
DNS1=119.29.29.29

三台主机均完成配置后可以使用ping+主机IP地址看是否联通

注:CentOS 7 修改主机名可以用语句

hostnamectl set-hostname "node1"
hostnamectl set-hostname "node1" --static
hostnamectl set-hostname "node1" --pretty

三、从windows中用CRT软件进行远程连接

在windows中将各台linux机器的主机名配置到的windows的本地域名映射文件中:

c:/windows/system32/drivers/etc/hosts

192.168.223.11 node1
192.168.223.12 node2
192.168.223.13 node3

用crt连接上后,修改一下crt的显示配置(字号,编码集改为UTF-8):

 

四、配置linux服务器的基础软件环境

 

 4.1、关闭防火墙

关闭防火墙

systemctl stop firewalld

禁止开机启动

systemctl disable firewalld

4.2、安装jdk:(hadoop体系中的各软件都是java开发的)

  1. 利用alt+p 打开sftp窗口,然后将jdk压缩包拖入sftp窗口
  2. 然后在linux中将jdk压缩包解压到/home/ws/apps/java 下
  3. 配置环境变量:JAVA_HOME   PATH

vi /etc/profile   在文件的最后,加入:

export JAVA_HOME=/home/ws/apps/java/jdk1.8.0_60

export PATH=$PATH:$JAVA_HOME/bin
  1. 修改完成后,记得 source /etc/profile使配置生效
  2. 检验:在任意目录下输入命令: java -version 看是否成功执行
  3. 将安装好的jdk目录用scp命令拷贝到其他机器
  4. 将/etc/profile配置文件也用scp命令拷贝到其他机器并分别执行source命令

4.3、集群内主机的域名映射配置

    在node1上,vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.223.11   node1
192.168.223.12   node2
192.168.223.13   node3

然后,将hosts文件拷贝到集群中的所有其他机器上

scp /etc/hosts node2:/etc/

scp /etc/hosts node3:/etc/

 

五、安装hdfs集群

5.1、上传hadoop安装包到node1

修改配置文件

要点提示

核心配置参数:

  1. 指定hadoop的默认文件系统为:hdfs
  2. 指定hdfs的namenode节点为哪台机器
  3. 指定namenode软件存储元数据的本地目录
  4. 指定datanode软件存放文件块的本地目录

 

hadoop的配置文件在:/home/ws/apps/hadoop安装目录/etc/hadoop/

 

1) 修改hadoop-env.sh

export JAVA_HOME=/home/ws/apps/java/jdk1.8.0_60

2) 修改core-site.xml

<configuration>

  <property>

     <name>fs.defaultFS</name>

     <value>hdfs://node1:9000</value>

  </property>

</configuration>

3) 修改hdfs-site.xml


<configuration>
   <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/ws/apps/hadoop/hdfsdata/name</value>
   </property>

   <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/ws/apps/hadoop/hdfsdata/data</value>
   </property>

   <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node2:50090</value>
   </property>
</configuration>

 

4) 拷贝整个hadoop安装目录到其他机器

scp -r /home/ws/apps/hadoop-2.8.0  node2:/home/ws/apps/

scp -r /home/ws/apps/hadoop-2.8.0  node3:/home/ws/apps/

 

5) 启动HDFS

 

所谓的启动HDFS,就是在对的机器上启动对的软件

 要运行hadoop的命令,需要在linux环境中配置HADOOP_HOME和PATH环境变量

vi /etc/profile
export JAVA_HOME=/home/ws/apps/java/jdk1.8.0_60

export HADOOP_HOME=/home/ws/apps/hadoop/hadoop-2.8.0

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 首先,初始化namenode的元数据目录

要在node1上执行hadoop的一个命令来初始化namenode的元数据存储目录

hadoop namenode -format
  1. 创建一个全新的元数据存储目录
  2. 生成记录元数据的文件fsimage
  3. 生成集群的相关标识:如:集群id——clusterID

然后,启动namenode进程(在node1上)

hadoop-daemon.sh start namenode

启动完后,首先用jps查看一下namenode的进程是否存在

然后,在windows中用浏览器访问namenode提供的web端口:50070

http://node1:50070

版本不同,有些时候可能不是50070,那么查看一下namenode监听了拿下端口,用以下命令,其中进程号就是我们jps得到的

获得它坚挺的端口后,修改上面url的端口为我们自己的端口即可访问,比如我的就是9870端口

netstat -nltp | grep 进程号
[ws@node1 hadoop]$ netstat -nltp | grep 2907

tcp        0      0 0.0.0.0:9870            0.0.0.0:*               LISTEN     2907/java           
tcp        0      0 192.168.223.11:9000     0.0.0.0:*               LISTEN     2907/java    

然后,启动众datanode们(在任意地方)

hadoop-daemon.sh start datanode

6) 用自动批量启动脚本来启动HDFS

 

  1. 先配置node1到集群中所有机器(包含自己)的免密登陆(详情见另外一篇博客https://blog.csdn.net/wangshun_410/article/details/90613168
  2. 配完免密后,可以执行一次  ssh 0.0.0.0
  3. 修改hadoop安装目录中/etc/hadoop/slaves(高版本是workes)(把需要启动datanode进程的节点列入) 
  4. 在node1上用脚本:start-dfs.sh 来自动启动整个集群
  5. 如果要停止,则用脚本:stop-dfs.sh

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值