4、Hadoop-HDFS部署步骤(1.X)

4、Hadoop-HDFS部署步骤(1.X),第1张

        · 依赖软件ssh、jdk

        · 环境的配置

                Java_Home

                免密钥

        · 时间同步

         ·  hosts、hostname

        ·  /opt/sxt/

        ·  配置文件新修改

                Java_Home

         ·  角色在哪里启动

           部署参考步骤(请点击此处)

    (1)设置ssh免密钥

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

此时可检验是否设置成功,尝试免密登录本机,如下

    (2)安装jdk 

首先利用xftp将安装包导入,再解压安装

解压后,java所在目录位置如下   /usr/java

配置环境变量,打开  vi  /etc/profile    追加下面两行

保存退出后,是设置系统配置,linux下使用source /etc/profile保存配置后,新的环境变量只能在一个终端里面有效。

(3)hadoop部署

利用xftp将hadoop-2.6.5.tar.gz包上传,解压安装

新建目录存放派敬纤hadoop

配置hadoop环境变量,增加如下两行

进入如下目录修改hadoop-env.sh等配置文件,首先修改hadoop-env.sh文件,改后如下

其次、修改mapred-env.sh,/usr/java/jdk1.8.0_261-amd64

修改yarn-env.sh

其次修改etc/hadoop下的core-site.xml和hdfs-site.xml,使主节点位置可知

```

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://node01:9000</value>

 尘仿   </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/var/sxt/hadoop/local</value>

    </property>

</configuration>

```

```

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

    <property>

        <name>dfs.namenode.secondary.http-address</稿核name>

        <value>node01:50090</value>

    </property>

</configuration>

```

配置slaves文件,使DataNode可知,修改如下,如以后还有namenode,可添加

随后格式化 hdfs namenode -format   显示successfully则配置成功

启动,如报错,在查看下方日志文件排错

访问node01:50070   如下所示,成功!

计划:node01 : NameNode

           node02 : SecondaryNode    DataNode

          node03 node04 : DataNode

(1)安装jdk,配置环境变量,设置ssh免密钥(将node01d1ssh的id_dsa.pub写到其他三个节点)

此时查看node02中.ssh下目录

或者直接将node01的authorized_keys追加到node02的.ssh下,如下所示,此时node01可以免密登录node02

之后node03和node04依次执行图3-1和图3-2的命令。校准四个系统时间

修改node01的core-site.xml

进入node01的sxt目录将hadoop-2.6.5拷贝到node02(03、04都要执行相同步骤)的同目录下(node02下的opt/sxt)

经过以上步骤配置完成,再从node01进行格式化

hdfs namenode -format

原文地址:https://blog.csdn.net/sjmz30071360/article/details/79889055

1. 集群搭建形式

Hadoop环境搭建分为三种形式:单机模式、伪分布侍游举式模式、完全分布模式

单机模式—— 在一台单机上运行,没有分布式文件系统,而是直接读写本地 *** 作系统的文件系统。

伪分布式—— 也是在一台单机上运行,但不同的是Java进程模仿分布式运行中的各类节点。即一台机器上,既当NameNode,磨肆又当DataNode,或者说既是JobTracker又是TaskTracker。没有所谓的在多台机器上进行真正的分布式计算,故称为“伪分布式”。

完全分布式—— 真正的分布式,由3个及以上的实体机或者虚拟机组成的机群。一个Hadoop集群环境中,NameNode,SecondaryName和DataNode是需要分配在不同的节点上,也就需要三台服务器。

前两种模式一般用在开发或测试环境下,生产环境下都是搭建完全分布式模式。

从分布式存储的角度来说,集群中的节点由一个NameNode和若干个DataNode组成,另有一个SecondaryNameNode作为NameNode的备份。

从分布式应用的角度来说,集群中的节点由一个JobTracker和若干个TaskTracker组成。JobTracker负责任务的调度,TaskTracker负责并行执行任务。TaskTracker必须运行在DataNode上,这样便于数据的本地计算。JobTracker和NameNode则无须在同一台机器上。

2. 环境

    *** 作系统:CentOS7(红帽开源版)

    机器:虚拟机3台,(master 192.168.0.104, slave1 192.168.0.102, slave2 192.168.0.101)

    JDK:1.8(jdk-8u162-linux-x64.tar)

    Hadoop:2.9.0(http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz)

3. 搭建步骤

3.1 每台机器安装&配置JDK(1台做好后,克隆出其它机器)

1) 创建目录 mkdir /usr/java

2) 上传jdk安装包到 /usr/java/

3) 解压 tar -xvf jdk-8u162-linux-x64.tar

4) 追加环境变量 vi /etc/profile

5) 使环境变量生效 source /etc/profile

6) 检测jdk正确安装 java -version

3.2 修改每台机器主机名(hostname)

hostnamectl set-hostname master  (立即生效)

hostnamectl set-hostname slave1    (立即生效)

hostnamectl set-hostname slave2    (立即生效)

确认修改

3.3 修改每台机器/etc/hosts文件

vi /etc/hosts

修改其中1台,然后scp到其它机器

scp 文件名 远程主机用户名@远程主机名或ip:存放路径

scp hosts root@192.168.0.102:/etc/

scp hosts root@192.168.0.101:/etc/

修改完之后,互ping其它机器,能互ping则说明修改OK

ping -c 3 slave1 (※ 3表示发送 3 个数据包)

3.4 配置ssh,实现无密码登录

无密码登录,效果也就是在master上,通过ssh slave1或者ssh slave2就可以登录对方机器,而不用输入密码。

1) 每台机器执行ssh-keygen -t rsa,接下来一路回车即可

执行ssh-keygen -t rsa主要是生成 密钥 和 密钥的存放路径

我们用的root用户,公钥私钥都会保存在老碧~/.ssh下

2) 在master上将公钥放到authorized_keys里,命令:cat id_rsa.pub >authorized_keys

3) 将master上的authorized_keys放到其它机器上

scp authorized_keys root@slave1:~/.ssh/

scp authorized_keys root@slave2:~/.ssh/

4) 测试是否成功

3.5 上传&配置hadoop(配置完master后,将/usr/hadoop/整个目录内容copy到其它机器)

1) 创建目录 mkdir /usr/hadoop

2) 上传hadoop安装包hadoop-2.9.0.tar.gz到 /usr/hadoop/

3) 解压 tar -xvf hadoop-2.9.0.tar.gz

4) 追加环境变量 vi /etc/profile(其它机器也要相应配置一次hadoop环境变量)

5) 使环境变量生效 source /etc/profile

6) 确认环境变量配置OK

7) 创建HDFS存储目录

cd /usr/hadoop

mkdir hdfs

cd hdfs

mkdir name data tmp

/usr/hadoop/hdfs/name    --存储namenode文件

/usr/hadoop/hdfs/data      --存储数据

/usr/hadoop/hdfs/tmp      --存储临时文件

8) 修改/usr/hadoop/hadoop-2.9.0/etc/hadoop/hadoop-env.sh文件,设置JAVA_HOME为实际路径

否则启动集群时,会提示路径找不到

9) 修改/usr/hadoop/hadoop-2.9.0/etc/hadoop/yarn-env.sh文件,设置JAVA_HOME为实际路径

10) 配置/usr/hadoop/hadoop-2.9.0/etc/hadoop/core-site.xml

增加hadoop.tmp.dir 和 fs.default.name

11) 配置/usr/hadoop/hadoop-2.9.0/etc/hadoop/hdfs-site.xml

dfs.replication:默认值3

dfs.permissions:默认值为true,设置为true有时候会遇到数据因为权限访问不了;设置为false可以不要检查权限就生成dfs上的文件

12) 配置/usr/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml

cd /usr/hadoop/hadoop-2.9.0/etc/hadoop

cp mapred-site.xml.template mapred-site.xml

mapreduce.framework.name:指定mapreduce运行在yarn平台,默认为local

13) 配置/usr/hadoop/hadoop-2.9.0/etc/hadoop/yarn-site.xml

yarn.resourcemanager.hostname:指定yarn的resourcemanager的地址

yarn.nodemanager.aux-services:reducer获取数据的方式

yarn.nodemanager.vmem-check-enabled:意思是忽略虚拟内存的检查,如果安装在虚拟机上,这个配置很有用,配上去之后后续 *** 作不容易出问题。如果是在实体机上,并且内存够多,可以将这个配置去掉

14) 配置/usr/hadoop/hadoop-2.9.0/etc/hadoop/slaves文件,将里面的localhost删除,配置后内容如下:

15) copy整个/usr/hadoop/目录到其它机器

scp -r hadoop root@slave1:/usr/

scp -r hadoop root@slave2:/usr/

3.6 启动Hadoop

1) 启动之前需要格式化一下。因为master是namenode,slave1和slave2都是datanode,所以在master上运行

hadoop namenode -format

格式化成功后,可以看到在/usr/hadoop/hdfs/name目录下多了一个current目录,而且该目录下有一系列文件,如下:

2) 执行启动(namenode只能在master上启动,因为配置在master上;datanode每个节点上都可以启动)

执行 start-all.sh

master上执行jps,会看到NameNode, SecondaryNameNode, ResourceManager

其它节点上执行jps,会看到DataNode, NodeManager

3) 在wins上打开网页,查看HDFS管理页面 http://192.168.0.104:50070查看,提示无法访问

在master上,执行以下命令关闭防火墙,即可访问(为了能够正常访问node节点,最好把其它机器的防火墙也stop了)

systemctl stop firewalld.service

HDFS管理首页

HDFS Datenodes页

访问Yarn管理页: http://192.168.0.104:8088

4)通过主机名也可以访问的设置

win7为例,需要将以下信息追加到C:\Windows\System32\drivers\etc\hosts文件中

192.168.0.104 master

192.168.0.102 slave1

192.168.0.101 slave2

Over!!!搭建成功!!!

4. 运行实例

cd /usr/hadoop/hadoop-2.9.0/share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-2.9.0.jar pi 5 10

。。。。。。

=====================================================

如果不关防火墙,子节点可能出现,输入jps后只有jps一个进程,或者是缺进程的情况,关闭防火墙就好了。

*** 作系统集群配置

搭建3节点完全分布式集群,即1个nameNode,2个dataNode,分别如下:

1、创建虚拟机CentOS7并安装配置JDK,克隆两台

2、修改主机名:master、slave1、slave2

3、设置静态:10.221.101.1、10.221.101.2、10.221.101.3

4、关闭防火墙

5、免密设置

每台皮羡笑节点生成公钥:

master中将公钥id_dsa.pub添加进keys,实现master免密:

将master中公钥分别添加到slave1及slave2的keys中,实现master对slave1及slave2节点免密:

master执行 如下命令,进行验证

6、组件所用版本

安装路径:mkdir /usr/local/hadoop/hadoop-2.7.3/bin/

1、解压hadoop

2、 执行命令检查hadoop是否可用

查看是否显示hadoop版本信息Hadoop 2.7.3 显示即正常

3、创建所需目录

4、设置hadoop环境变量

任意目录输入 hado,然后按Tab,如果自动补全为hadoop,则说明环境变量配正确

同步到其他节点上

5、修改hadoop配置文件

—hadoop-env.sh

—core-site.xml

—hdfs-site.xml

—mapred-site.xml

—yarn-env.sh

—燃含yarn-site.xml

— slaves

将localhost删掉,加入如下内容,即dataNode节点的hostname

6、 以上配置同步到slave1,slave2中

7、启动hadoop

— 首次启动需要先在 master 节点进行 NameNode 的格式化:

— 在master机器上,进入hadoop的sbin目录

8、查看是否启动成功

—jps 查看当前java的进程

输入jps 查看当前java的进程,列出当前java进程的PID和Java主类名,nameNode节点除了JPS,有3个进程

在slave1和slave2节点上分别输入派敏 jps 查看进程如下,说明配置成功

— 查看运行状况

在浏览器访问nameNode节点的8088端口和50070端口可以查看hadoop的运行状况

192.168.1.110:50070

192.168.1.110:8088

zookeeper集群搭建要至少3个节点(master,slave1, slave2),所以三台服务器都要部署zookeeper

1、解压到安装目录

2、添加环境变量

同步到其他节点上

3、 修改配置文件

/usr/local/hadoop/zookeeper-3.4.10/conf

删除原有内容

4 、根据以上配置 创建zookeeper的数据文件和日志存放目录

同步到其它节点

5 、在三台zookeeper的/usr/local/storage/zookeeper/data目录下分别创建并编辑myid

—创建

—编辑

6 、将以上配置同步到其他hadoop节点

7、启动zookeeper

如果zookeeper集群还没有启动的话, 首先把各个zookeeper起来。最好三个节点上同时启动

(1个leader,2个follower)

输入jps,会显示启动进程:QuorumPeerMain

前提安装mysql

1、解压到安装目录

2、 添加环境变量

同步到其他节点上

3 、配置文件修改

—hive-env.sh

—hive-site.xml

4、 hive lib中添加所需jar包

—添加mysql驱动

【以下可不配置】

—从hbase/lib下复制必要jar包

—同步hive和hadoop的jline版本

查看版本

若有低版本则删除

例如:jline 0.9 rm jline-0.9.94.jar

—复制jdk的tools.jar

5 、在配置的mysql中创建hive库

【需外界可连接上】

6 、hdfs创建存储数据的目录

7、 启动hive

hive 远程服务 (端口号10000) 启动方式[metastore和hiveserver2在同一台上启动即可]

hive 命令行模式

或者输入

查看进程为:2个RunJar

注意:可以在任意一台服务器上启动hive,都可以。

8 、查看启动进程

通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode进程

Master上:

在 Slave 节点可以看到 DataNode 和 NodeManager 进程

Slave上:

程序启动成功后可以在任意一台启动hive

可以在启动MR-JobHistory服务,

Hadoop2 MR-JobHistory服务介绍

1)MR-JobHistory服务目标

主要是向用户提供历史的mapred Job 查询

详细解释:

a)在运行MR Job时,MR 的 ApplicationMaster会根据mapred-site.xml配置文件中的配置,将MR Job的job history信息保存到指定的hdfs路径(首先保存到临时目录,然后mv到最终目录)

b)如果在yarn-site.xml中,没有配置nodemanage的LogAggregation功能,则historyserver无法提供mr日志明细查询的功能(在提交mr job时,yarn和mapred的配置都是必须的)

c)historyserver向外提供两个接口,web接口可以提供jobhistory和明细日志查询的功能,而restApi只提供jobhistory查询的功能

1、 解压到安装目录

2、添加环境变量

同步到其他节点上

3、配置文件修改

/usr/local/hadoop/hbase-1.3.1/conf

—regionservers 文件

—hbase-env.sh

—hbase-site.xml

4、创建hbase-site.xml配置文件中的hbase目录

同步软件到其他节点

5、同步上述配置到其他节点

6、启动Hbase

—启动

—验证安装成功

—查看进程为:HMaster,HRegionServer

主节点:HMaster,HRegionServer

从节点:HRegionServer

—通过web UI访问hbase状态

http://192.168.1.110:16010/master-status


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12539487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存