HDFS分布式环境搭建

博客 动态
0 194
优雅殿下
优雅殿下 2022-09-06 22:04:14
悬赏:0 积分 收藏

HDFS 分布式环境搭建

HDFS 分布式环境搭建

作者:Grey

原文地址:

博客园:HDFS 分布式环境搭建

CSDN:HDFS 分布式环境搭建

准备四个Linux实例

每个实例对应的 host 和 ip 地址如下

node01 192.168.150.128node02 192.168.150.138node03 192.168.150.139node04 192.168.150.140

每个节点的安排如下

hostNNSNNDN
node01
node02
node03
node04

首先,需要配置静态 ip,

node01~node04上,分别执行

vi /etc/sysconfig/network-scripts/ifcfg-ens33

内容参考如下内容修改

在 node01 上

修改BOOTPROTO="static"

新增IPADDR="192.168.150.128"

然后执行:

service network restart

在 node02 上

修改BOOTPROTO="static"

新增IPADDR="192.168.150.138"

然后执行

service network restart

在 node03 上

修改BOOTPROTO="static"

新增IPADDR="192.168.150.139"

然后执行

service network restart

在 node04 上

修改BOOTPROTO="static"

新增IPADDR="192.168.150.140"

然后执行

service network restart

接下来,配置 hostname

在 node01 上

执行hostnamectl set-hostname node01

执行

vi /etc/sysconfig/network

设置为

NETWORKING=yesHOSTNAME=node01

在 node02 上

执行hostnamectl set-hostname node02

执行

vi /etc/sysconfig/network

设置为

NETWORKING=yesHOSTNAME=node02

在 node03 上

执行hostnamectl set-hostname node03

执行

vi /etc/sysconfig/network

设置为

NETWORKING=yesHOSTNAME=node03

在 node04 上

执行hostnamectl set-hostname node04

执行

vi /etc/sysconfig/network

设置为

NETWORKING=yesHOSTNAME=node01

设置本机的ip到主机名的映射关系,在node01~node04上分别执行vi /etc/hosts

并添加如下信息:

192.168.150.128 node01 192.168.150.138 node02 192.168.150.139 node03 192.168.150.140 node04 

接下来,需要关闭防火墙

node01~node04上都执行如下命令

systemctl stop firewalld.servicesystemctl disable firewalld.servicefirewall-cmd --reloadservice iptables stopchkconfig iptables off

关闭 SELINUX

node01~node04上执行vi /etc/selinux/config, 配置如下选项

SELINUX=disabled

做时间同步

node01~node04上分别执行yum install ntp -y

且做如下配置

vi /etc/ntp.conf 

添加如下信息

server ntp1.aliyun.com

然后在node01~node04上都执行如下命令

service ntpd startchkconfig ntpd on

接下来是配置免密登录

node01~node04上分别执行

ssh localhost

输入yes

输入密码

node01~node04上执行如下命令生成本机的密钥和公钥ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

node01的公钥发送到另外三个机器,在node01上执行

scp ~/.ssh/id_dsa.pub root@node02:~/.ssh/node1.id_rsa.pubscp ~/.ssh/id_dsa.pub root@node03:~/.ssh/node1.id_rsa.pubscp ~/.ssh/id_dsa.pub root@node04:~/.ssh/node1.id_rsa.pub

node02的公钥发送到另外三个机器,在node02上执行

scp ~/.ssh/id_dsa.pub root@node01:~/.ssh/node2.id_rsa.pubscp ~/.ssh/id_dsa.pub root@node03:~/.ssh/node2.id_rsa.pubscp ~/.ssh/id_dsa.pub root@node04:~/.ssh/node2.id_rsa.pub

node03的公钥发送到另外三个机器,在node03上执行

scp ~/.ssh/id_dsa.pub root@node01:~/.ssh/node3.id_rsa.pubscp ~/.ssh/id_dsa.pub root@node02:~/.ssh/node3.id_rsa.pubscp ~/.ssh/id_dsa.pub root@node04:~/.ssh/node3.id_rsa.pub

node04的公钥发送到另外三个机器,在node04上执行

scp ~/.ssh/id_dsa.pub root@node01:~/.ssh/node4.id_rsa.pubscp ~/.ssh/id_dsa.pub root@node02:~/.ssh/node4.id_rsa.pubscp ~/.ssh/id_dsa.pub root@node03:~/.ssh/node4.id_rsa.pub

node01上执行

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node2.id_rsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node3.id_rsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node4.id_rsa.pub >> ~/.ssh/authorized_keys

node02上执行

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node1.id_rsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node3.id_rsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node4.id_rsa.pub >> ~/.ssh/authorized_keys

node03上执行

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node1.id_rsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node2.id_rsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node4.id_rsa.pub >> ~/.ssh/authorized_keys

node04上执行

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node1.id_rsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node2.id_rsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/node3.id_rsa.pub >> ~/.ssh/authorized_keys

接下来,需要在node01~node04上都安装Java环境,安装过程略。

node01~node04上都创建好目录

mkdir -p /opt/bigdata

node01~node04上,将hadoop安装包上传到/opt/bigdata下,然后执行:

tar xf hadoop-2.6.5.tar.gz

然后执行:

mv hadoop-2.6.5 hadoop

添加环境变量vi /etc/profile

Hadoop加入环境变量:

export JAVA_HOME=/usr/local/jdkexport HADOOP_HOME=/opt/bigdata/hadoopexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后执行source /etc/profile

接下来是 Hadoop 配置,在node01~node04

执行vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

配置 JAVA_HOME:export JAVA_HOME=/usr/local/jdk

node01~node04上执行vi $HADOOP_HOME/etc/hadoop/core-site.xml

<configuration></configuration>之间,加入如下配置:

<property> <name>fs.defaultFS</name> <value>hdfs://node01:9000</value></property>

node01~node04上执行vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration></configuration>之间,加入如下配置

<property>    <name>dfs.replication</name>    <value>2</value></property><property>    <name>dfs.namenode.name.dir</name>    <value>/var/bigdata/hadoop/full/dfs/name</value></property><property>    <name>dfs.datanode.data.dir</name>    <value>/var/bigdata/hadoop/full/dfs/data</value></property><property>    <name>dfs.namenode.secondary.http-address</name>    <value>node02:50090</value></property><property>    <name>dfs.namenode.checkpoint.dir</name>    <value>/var/bigdata/hadoop/full/dfs/secondary</value></property>

node01~node04上执行vi $HADOOP_HOME/etc/hadoop/slaves

node02node03node04

node01上格式化启动

格式化hdfs namenode -format

启动start-dfs.sh

如果使用 Windows作为客户端,那么可以配置 hosts 条目

进入C:\Windows\System32\drivers\etc

host 文件中增加如下条目:

192.168.150.128 node01 192.168.150.138 node02 192.168.150.139 node03 192.168.150.140 node04

测试一下

node01上,执行如下命令,

hdfs dfs -mkdir /bigdatahdfs dfs -mkdir -p /user/roothdfs dfs -put hadoop-2.6.5.tar.gz /user/root

打开浏览器

通过:

http://node01:50070/explorer.html#/user/root

可以看到上传的文件 hadoop-2.6.5.tar.gz

posted @ 2022-09-06 21:34 Grey Zeng 阅读(0) 评论(0) 编辑 收藏 举报
回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2018 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员