安装hadoop(安装hadoop集群时,在哪个文件指定从机是哪些机器)

本篇文章给大家谈谈安装hadoop,以及安装hadoop集群时,在哪个文件指定从机是哪些机器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

HADOOP安装(安装详情私)-

2.1 准备

克隆三台虚拟机:hadoop102 hadoop103 hadoop104,

修改克隆虚拟机的静态 IP:vim /etc/sysconfig/network-scripts/ifcfgens33

修改主机名称 vim /etc/hostname

配置 Linux 克隆机主机名称映射 hosts 文件:vim /etc/hosts

reboot

安装 JDK 前,一定确保提前删除了虚拟机自带的 JDK

解压、配置 JDK 环境变量,测试:java -version

Hadoop 下载地址:

解压、将 Hadoop 添加到环境变量

2.2 Hadoop 重要目录

bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本

etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件

lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)

sbin 目录:存放启动或停止 Hadoop 相关服务的脚本

share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例

2.3 Hadoop运行模式

Hadoop 运行模式包括:本地模式、伪分布式模式以及完全分布式模式

本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。

伪分布式模式:也是单机运行,但是具备 Hadoop 集群的所有功能,一台服务器模 拟一个分布式的环境。个别缺钱的公司用来测试,生产环让游境不用。

完全分布式模式:多台服务器组成分布式环境。生产环境使用。

完全分布式运行模式(开发重点) 分析:1)准备 3 台客户机(关闭防火墙、静态 IP、主机名称) 2)安装 JDK 3)配置环境变量 4)安装 Hadoop 5)配置环境变量 6)配置集群 7)单点启动 8)配置 ssh 9)群起并测试集群

编写集群念滑旁分仔橡发脚本 xsync

scp安全拷贝语法:

scp -r $pdir/$fname $user@$host:$pdir/$fname

命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称

rsync 远程同步工具语法:

rsync -av $pdir/$fname $user@$host:$pdir/$fname

命令 选项参数 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称

rsync 和 scp 区别:用 rsync 做文件的复制要比 scp 的速度快,rsync 只对差异文件做更 新。scp 是把所有文件都复制过去。

rsync 主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。

SSH 无密登录配置

命令:ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要免密登录的目标机器上:ssh-copy-id hadoop102

2.4 集群安装

注意

NameNode 和 SecondaryNameNode 不要安装在同一台服务器

ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在 同一台机器上。

Hadoop 配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认 配置值时,才需要修改自定义配置文件,更改相应属性值

自定义配置文件:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 四个配置文件存放在 $HADOOP_HOME/etc/hadoop 这个路径

Docker——Hadoop完全分布式安装

——使用docker拉取官方Ubuntu镜像,将单机安装好hadoop,然后做成image,再跑多个容器做集群。但衫枝配有人建议不要把本地运行的容器转成镜像!

——使用阿里hadoop镜像创建hadoop容器,分别创建三个节点master、slave1、slave2。容器内都是只有hadoop软件还没有配置。通过 docker exec -it master bash 分别进入三个节点进行配置:

1)查看jdk: java –version

2)配置ssh生成秘钥:a.启动ssh /etc/init.d/ssh start ;b.生成秘钥 ssh-keygen -t rsa

3)分别进入每个节点,将其他节点的公钥也都复制到authorized_keys,容器中的文件复制到centos本地,在本地对其进行整合,再将其传回容器

4)分别为每个节点配置ip地址( ip addr 查看ip地址, vi /etc/hosts 配置)

5)配置hadoop:a.配置hadoop-env.sh,配置jdk;b.配置core-site.xml,配置hdfs的地址和端口号;c.配置hdfs-site.xml ,配置hdfs备份数量,配置namenode和datanode的数据路径;d.配置 mapred-site.xml,指定MapReduce运行在yarn上,配置JobTracker的地址和端口搭凯;e.配置yarn-site.xml,配置hdfs备份数量;f. 步骤a-e在master上配置完后 ,将core-site.xml hadoop-env.sh hdfs-site.xml mapred-site.xml yarn-site.xml 发送到slave1 和slave2节点

6)运行hadoop:a.在master节点的/etc/hadoop/slaves配置slaves;b.在master上格式化namenode;c.在master上启动集群;d.jps 查看进程;e.分别进入slave1查看进程

——再整理sequenceiq/hadoop-docker创建分布式。与上面思路一样(同一人所写),只是使用的镜像不一样。

——docker hub中的高赞 单节点hadoop镜像 (针对其有网友作出国内使用的几点更改: 适合国内使用的修改 ,我直接使用国外的无恙)

运行指令如下:

——自设计kiwenlau/hadoop:1.0镜像,关于此镜像的说明:

参考alvinhenrick/hadoop-mutinode项目,但优化了镜像大小、构造时间、镜像层数,默认启动3个节点的Hadoop集群,支持任意节点数的Hadoop集群,基于 Ubuntu 。github地址: kiwenlau/hadoop-cluster-docker

运行指或指令如下:

此镜像有博主进行使用: Docker搭建Hadoop环境

[img]

如何在linux下安装hadoop

如何在linux下安装hadoop

建议使用自动化部署吧。 这个还是不太难做到哦。 能否看一下my网名呢?帮助搞定一下

一、前期准备:

下载hadoop: :hadoop.apache./core/releases.

:hadoop.apache./mon/releases.

:apache./dyn/closer.cgi/hadoop/core/

:labs.xiaonei./apache-mirror/hadoop/core/hadoop-0.20.1/hadoop-0.20.1.tar.gz

:labs.xiaonei./apache-mirror/hadoop/

二、硬体环境

共有3台机器,均使用的CentOS,Java使用的是jdk1.6.0。

三、安装JAVA6

sudo apt-get install sun-java6-jdk

/etc/environment

开启之后加入:#中间是以英文的冒号隔开,记得windows中是以英文的分号做为宏没分隔的

CLASSPATH=.:/usr/local/java/lib

JAVA_HOME=/usr/local/java

三、配置host表

[root@hadoop ~]# vi /etc/hosts

127.0.0.1 localhost

192.168.13.100 namenode

192.168.13.108 datanode1

192.168.13.110 datanode2

[root@test ~]# vi /etc/hosts

127.0.0.1 localhost

192.168.13.100 namenode

192.168.13.108 datanode1

[root@test2 ~]# vi /etc/host

127.0.0.1 localhost

192.168.13.100 namenode

192.168.13.110 datanode2

新增使用者和使用者组

addgroup hadoop

adduser hadoop

usermod -a -G hadoop hadoop

passwd hadoop

配置ssh:

服务端:

su hadoop

ssh-keygen -t rsa

cp id_rsa.pub authorized_keys

客户端

chmod 700 /home/hadoop

chmod 755 /home/hadoop/.ssh

su hadoop

cd /home

mkdir .ssh

服务端:

chmod 644 /home/hadoop/.ssh/authorized_keys

scp authorized_keys datanode1:/home/hadoop/.ssh/

scp authorized_keys datanode2:/home/hadoop/.ssh/

ssh datanode1

ssh datanode2

 如果ssh配置好了就会蔽和纳出现以下提示棚纤资讯

The authenticity of host [dbrg-2] can't be established.

Key fingerpr is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.

Are you sure you want to continue connecting (yes/no)?

OpenSSH告诉你它不知道这台主机但是你不用担心这个问题你是第次登入这台主机键入“yes”这将把

这台主机“识别标记”加到“~/.ssh/know_hosts”档案中第 2次访问这台主机时候就不会再显示这条提示信

不过别忘了测试本机ssh dbrg-1

 

mkdir /home/hadoop/HadoopInstall

tar -zxvf hadoop-0.20.1.tar.gz -C /home/hadoop/HadoopInstall/

cd /home/hadoop/HadoopInstall/

ln -s hadoop-0.20.1 hadoop

export JAVA_HOME=/usr/local/java

export CLASSPATH=.:/usr/local/java/lib

export HADOOP_HOME=/home/hadoop/HadoopInstall/hadoop

export HADOOP_CONF_DIR=/home/hadoop/hadoop-conf

export PATH=$HADOOP_HOME/bin:$PATH

cd $HADOOP_HOME/conf/

mkdir /home/hadoop/hadoop-conf

cp hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml masters slaves /home/hadoop/hadoop-conf

vi $HADOOP_HOME/hadoop-conf/hadoop-env.sh

# The java implementation to use. Required. --修改成你自己jdk安装的目录

export JAVA_HOME=/usr/local/java

export HADOOP_CLASSPATH=.:/usr/local/java/lib

# The maximum amount of heap to use, in MB. Default is 1000.--根据你的记忆体大小调整

export HADOOP_HEAPSIZE=200

vi /home/hadoop/.bashrc

export JAVA_HOME=/usr/local/java

export CLASSPATH=.:/usr/local/java/lib

export HADOOP_HOME=/home/hadoop/HadoopInstall/hadoop

export HADOOP_CONF_DIR=/home/hadoop/hadoop-conf

export PATH=$HADOOP_HOME/bin:$PATH

配置

namenode

#vi $HADOOP_CONF_DIR/slaves

192.168.13.108

192.168.13.110

#vi $HADOOP_CONF_DIR/core-site.xml

?xml version="1.0"?

?xml-stylesheet type=text/xsl href="configuration.xsl"?

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

configuration

property

namefs.default.name/name

valuehdfs:192.168.13.100:9000/value

/property

/configuration

#vi $HADOOP_CONF_DIR/hdfs-site.xml

?xml version="1.0"?

?xml-stylesheet type=text/xsl href="configuration.xsl"?

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

configuration

property

namedfs.replication/name

value3/value

descriptionDefault block replication.

The actual number of replications can be specified when the file is created.

The default is used if replication is not specified in create time.

/description

/property

/configuration

#vi $HADOOP_CONF_DIR/mapred-site.xml

?xml version="1.0"?

?xml-stylesheet type=text/xsl href="configuration.xsl"?

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

configuration

property

namemapred.job.tracker/name

value192.168.13.100:11000/value

/property

/configuration

~

在slave上的配置档案如下(hdfs-site.xml不需要配置):

[root@test12 conf]# cat core-site.xml

?xml version="1.0"?

?xml-stylesheet type=text/xsl href="configuration.xsl"?

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

configuration

property

namefs.default.name/name

valuehdfs:namenode:9000/value

/property

/configuration

[root@test12 conf]# cat mapred-site.xml

?xml version="1.0"?

?xml-stylesheet type=text/xsl href="configuration.xsl"?

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

configuration

property

namemapred.job.tracker/name

valuenamenode:11000/value

/property

/configuration

启动

export PATH=$HADOOP_HOME/bin:$PATH

hadoop namenode -format

start-all.sh

停止s-all.sh

在hdfs上建立danchentest资料夹,上传档案到此目录下

$HADOOP_HOME/bin/hadoop fs -mkdir danchentest

$HADOOP_HOME/bin/hadoop fs -put $HADOOP_HOME/README.txt danchentest

cd $HADOOP_HOME

hadoop jar hadoop-0.20.1-examples.jar wordcount /user/hadoop/danchentest/README.txt output1

09/12/21 18:31:44 INFO input.FileInputFormat: Total input paths to process : 1

09/12/21 18:31:45 INFO mapred.JobClient: Running job: job_200912211824_0002

09/12/21 18:31:46 INFO mapred.JobClient: map 0% reduce 0%

09/12/21 18:31:53 INFO mapred.JobClient: map 100% reduce 0%

09/12/21 18:32:05 INFO mapred.JobClient: map 100% reduce 100%

09/12/21 18:32:07 INFO mapred.JobClient: Job plete: job_200912211824_0002

09/12/21 18:32:07 INFO mapred.JobClient: Counters: 17

09/12/21 18:32:07 INFO mapred.JobClient: Job Counters

09/12/21 18:32:07 INFO mapred.JobClient: Launched reduce tasks=1

检视输出结果档案,这个档案在hdfs上

[root@test11 hadoop]# hadoop fs -ls output1

Found 2 items

drwxr-xr-x - root supergroup 0 2009-09-30 16:01 /user/root/output1/_logs

-rw-r--r-- 3 root supergroup 1306 2009-09-30 16:01 /user/root/output1/part-r-00000

[root@test11 hadoop]# hadoop fs -cat output1/part-r-00000

(BIS), 1

(ECCN) 1

检视hdfs执行状态,可以通过web介面来访问:192.168.13.100:50070/dfshealth.jsp;检视map-reduce资讯,

可以通过web介面来访问:192.168.13.100:50030/jobtracker.jsp;下面是直接命令列看到的结果。

出现08/01/25 16:31:40 INFO ipc.Client: Retrying connect to server: foo.bar./1.1.1.1:53567. Already tried 1 time(s).

的原因是没有格式化:hadoop namenode -format

如何在windows下安装hadoop

建议你在windows上安装linux的虚拟机器,然后在linux上安装hadoop

1、安装Cygwin

下载cygwin的setup.exe,双击执行:

选择从Inter安装:

设定安装目录:

设定安装包目录:

设定“Inter Connection”的方式,选择“Direct Connection”:

选择一个下载站点:

“下一步”之后,可能会弹出下图的“Setup Alert”对话方块,直接“确定”即可

在“Select Packages”对话方块中,必须保证“Net Category”下的“OpenSSL”被安装:

如果还打算在eclipse 上编译Hadoop,则还必须安装“Base Category”下的“sed”:

“Devel Category”下的subversion 建议安装:

下载并安装:

当下载完后,会自动进入到“setup”的对话方块:

在上图所示的对话方块中,选中“Create icon on Desk”,以方便直接从桌面上启动

Cygwin,然后点选“完成”按钮。至此,Cgywin 已经安装完成。

2、配置环境变数

需要配置的环境变数包括PATH 和JAVA_HOME:将JDK 的bin 目录、Cygwin 的bin 目录

以及Cygwin 的usr\bin( *** in)目录都新增到PATH 环境变数中;JAVA_HOME 指向JRE 安装目录。

3、windows系统上执行hadoop丛集,伪分散式模式安装步骤:

①启动cygwin,解压hadoop安装包。通过cygdrive(位于Cygwin根目录中)可以直接对映到windows下的各个逻辑磁碟分割槽。例如hadoop安装包放在分割槽D:\下,则解压的命令为$ tar -zxvf /cygdrive/d/hadoop-0.20.2.tar.gz,解压后可使用ls命令检视,如下图:

预设的解压目录为使用者根目录,即D:\cygwin\home\lsq(使用者帐户)。

②编辑conf/hadoop-env.sh档案,将JAVA_HOME变数设定为java的安装目录。例如java安装在目录C:\Program Files\java\jdk1.6.0_13,如果路径没空格,直接配置即可。存在空格,需将Program Files缩写成Progra_1,如下图:

③依次编辑conf目录下的core-site.xml、mapred-site.xml和hdfs-site.xml档案,如下图:

④安装配置SSH

点选桌面上的Cygwin图示,启动Cygwin,执行ssh-host-config命令,然后按下图上的选择输入:

当提示Do you want to use a different name?输入yes,这步是配置安装的sshd服务,以哪个使用者登入,预设是cyg_server这个使用者,这里就不事先新建cyg_server这个使用者,用当前本机的超管本地使用者:chenx,后续根据提示,2次输入这个账户的密码

出现Host configuration finished. Have fun! 一般安装顺利完成。如下图:

输入命令$ start sshd,启动SSH,如下图:

注:sshd服务安装完之后,不会预设启动,如果启动报登入失败,不能启动,可在服务属性-Log On视窗手工修改,在前述的过程之中,cygwin不会校验密码是否正确,应该只是校验了2次的输入是否一致,然后再手工启动。不知道为什么,sshd服务如果选择local system的登入方式,后续会有问题,所以sshd服务最好设定成当前的登入使用者。

⑤配置ssh登入

执行ssh-keygen命令生成金钥档案

输入如下命令:

cd ~/.ssh

ls -l

cat id_rsa.pub authorized_keys

完成上述操作后,执行exit命令先退出Cygwin视窗,如果不执行这一步操作,下面的操作可能会遇到错误。接下来,重新执行Cygwin,执行ssh localhost命令,在第一次执行ssh localhost时,会有“are you sure you want to continue connectionyes/no?”提示,输入yes,然后回车即可。当出现下图提示,即顺利完成该步:

⑥hadoop执行

格式化namenode

开启cygwin视窗,输入如下命令:

cd hadoop-0.20.2

mkdir logs

bin/hadoop namenode –format

启动Hadoop

在Cygwin 中,进入hadoop 的bin 目录,

执行./start-all.sh 启动hadoop;

可以执行./hadoop fs -ls /命令,检视hadoop 的根目录;

可以执行jps 检视相关程序;

如下图:(如果显示和下图类似,一般hadoop安装/启动成功)

如何在hadoop 环境下安装hive

不行。 安装 vm 下载:去官网下 VMware-player-5.0.1-894247.zip 安装和配置ubanto 下载:去官网下 ubuntu-12.10-desk-i386.iso 开启vm,载入ubanto iso档案,进行安装更新 进入ubanto,如果是第一个进入,则需要设定root的密码

如何在ubantu环境下安装hadoop

上apache的hadoop页下编译好的包,解压,配一些档案就行了 很容易 网上教程很多

如何在 Linux 下安装 PyCharm

PyCharm 是由 Jetbrains 公司开发的一个跨平台编辑器。如果你之前是在 Windows 环境下进行开发,那么你会立刻认出 Jetbrains 公司,它就是那个开发了 Resharper 的公司。 这篇文章将讨论如何在 Linux 系统上获取、安装和执行 PyCharm 。

如何在linux下安装opencv

新建一个perl,名为bar.pl

内容如下:

#!/usr/bin/perl

while (){

chomp;

s/([^-]+) - .*/\1/g;

system "apt-get install ".$_;

}

然后apt-cache search opencv | perl bar.pl

hadoop及其组件安装

操作系统集群配置

搭建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状态

Docker安装Hadoop

Docker、Java、Scala、Hadoop、 Hbase、Spark。

集群共有5台机器,主机名分别为 h01、h02、h03、h04、h05。其中 h01 为 master,其他的为 slave。

JDK 1.8、Scala 2.11.6、Hadoop 3.2.1、Hbase 2.1.3、Spark 2.4.0

wget -qO- | sh

sudo service docker start

sudo docker ps

现在的 Docker 网络能够提供 DNS 解析功手嫌悉能,使用如下命令为接下来的 Hadoop 集群单独构建一个虚拟的网络。

sudo docker network create --driver=bridge hadoop

以上命令创建了一个名为 Hadoop 的虚拟桥接网络,该虚拟网络内部提供了自动的DNS解析服务。## 查看 Docker 中的网络

sudo docker network ls

可以看到刚刚创建的名为 hadoop 的虚拟桥接网络。

sudo docker search ubuntu

sudo docker pull ubuntu:16.04

sudo docker run -it ubuntu:16.04 /bin/bash

可以看出 shell 已经是容器的 shell 了

exit

sudo docker ps -a

sudo docker start fab4da838c2f

sudo docker stop fab4da838c2f

在当前容器中将配置配好,导入出为镜像。以此镜像为基础创建五个容器,并赋予 hostname

进入 h01 容器,启动 Hadoop。

sudo docker exec -it fab4da838c2f /bin/bash

备份源

cp /etc/apt/sources.list /etc/apt/sources_init.list

先删除旧源文件

rm /etc/apt/sources.list

这个时候没有 vim 工具,使用 echo 命令将源写入新文件

apt update

apt install openjdk-8-jdk

测试

java -version

apt install scala

测试

scala

安装 vim,用来编辑文件

apt install vim

安装 net-tools

apt install net-tools

安装 SSH,并配置免密登录,由于后面的容器之间是由一个镜像启动的,所以在当前容器里配置 SSH 自身免密登录就 OK 了。

安装 SSH

apt-get install openssh-server

安装 SSH 的客户端

apt-get install openssh-client

进入当前用户的用户根目录

cd ~

生者备成密钥,一直回车就行

ssh-keygen -t rsa -P ""

生成的密钥在当前用户根目录下的 .ssh 文件夹中以 . 开头的文件与文件夹 ls 是看不懂的,需要 ls -al 才能查看。

将公钥追加到 authorized_keys 文件中

cat .ssh/id_rsa.pub .ssh/authorized_keys

启动 SSH 服务

service ssh start

免密登录自己

ssh 127.0.0.1

修改 .bashrc 文件,启动 shell 的时候,自动启动 SSH 服务

vim ~/.bashrc

添加一行

毕乎 service ssh start

wget

到 /usr/local 目录下面并重命名文件夹

tar -zxvf hadoop-3.2.1.tar.gz -C /usr/local/

cd /usr/local/

mv hadoop-3.2.1 hadoop

vim /etc/profile

追加以下内容,JAVA_HOME 为 JDK 安装路径,使用 apt 安装就是这个,用 update-alternatives --config java 可查看

使环境变量生效

source /etc/profile

在目录 /usr/local/hadoop/etc/hadoop 下,修改 hadoop-env.sh 文件,在文件末尾添加以下信息

cd /usr/local/hadoop/etc/hadoop

vim hadoop-env.sh

修改 core-site.xml,修改为

vim core-site.xml

chmod 777 /home/hadoop3/hadoop/tmp

修改 hdfs-site.xml,修改为

vim hdfs-site.xml

修改 mapred-site.xml,修改为

vim mapred-site.xml

修改 yarn-site.xml,修改为

vim yarn-site.xml

修改 worker 为

vim workers

此时,hadoop已经配置好了

exit

sudo docker commit -m "hadoop" -a "tomding" fab4da838c2f newuhadoop

查看镜像

sudo docker images

启动 h01 做 master 节点,所以暴露了端口,以供访问 web 页面,--network hadoop 参数是将当前容器加入到名为 hadoop 的虚拟桥接网络中,此网站提供自动的 DNS 解析功能

sudo docker run -it --network hadoop -h "h01" --name "h01" -p 9870:9870 -p 8088:8088 newuhadoop /bin/bash

sudo docker run -it --network hadoop -h "h02" --name "h02" newuhadoop /bin/bash

sudo docker run -it --network hadoop -h "h03" --name "h03" newuhadoop /bin/bash

sudo docker run -it --network hadoop -h "h04" --name "h04" newuhadoop /bin/bash

sudo docker run -it --network hadoop -h "h05" --name "h05" newuhadoop /bin/bash

先进行格式化操作,不格式化操作,hdfs会起不来

cd /usr/local/hadoop/bin

./hadoop namenode -format

进入 hadoop 的 sbin 目录

cd /usr/local/hadoop/sbin/

启动

./start-all.sh

查看分布式文件系统的状态

cd /usr/local/hadoop/bin

./hadoop dfsadmin -report

把license作为需要统计的文件

cd /usr/local/hadoop

cat LICENSE.txt file1.txt

在 HDFS 中创建 input 文件夹

cd /usr/local/hadoop/bin

./hadoop fs -mkdir /input

上传 file1.txt 文件到 HDFS 中

./hadoop fs -put ../file1.txt /input

查看 HDFS 中 input 文件夹里的内容

./hadoop fs -ls /input

运作 wordcount 例子程序

./hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount /input /output

查看 HDFS 中的 /output 文件夹的内容

./hadoop fs -ls /output

查看 part-r-00000 文件的内容

./hadoop fs -cat /output/part-r-00000

Hadoop 部分结束了

在 Hadoop 集群的基础上安装 Hbase

root@h01:~# wget

到 /usr/local 目录下面

tar -zxvf hbase-2.1.3-bin.tar.gz -C /usr/local/

vim /etc/profile

source /etc/profile

使用 ssh h02/3/4/5 进入其他四个容器,依次在 /etc/profile 文件后追加那两行环境变量

在目录 /usr/local/hbase-2.1.3/conf 修改配置

cd /usr/local/hbase-2.1.3/conf

修改 hbase-env.sh,追加

vim hbase-env.sh

修改 hbase-site.xml 为

vim hbase-site.xml

修改 regionservers 文件为

vim regionservers

使用 scp 命令将配置好的 Hbase 复制到其他 4 个容器中

scp -r /usr/local/hbase-2.1.3 root@h02:/usr/local/

scp -r /usr/local/hbase-2.1.3 root@h03:/usr/local/

scp -r /usr/local/hbase-2.1.3 root@h04:/usr/local/

scp -r /usr/local/hbase-2.1.3 root@h05:/usr/local/

cd /usr/local/hbase-2.1.3/bin

./start-hbase.sh

打开 Hbase 的 shell

hbase shell

在 Hadoop 的基础上安装 Spark

wget

到 /usr/local 目录下面

tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz -C /usr/local/

修改文件夹的名字

cd /usr/local/

mv spark-2.4.0-bin-hadoop2.7 spark-2.4.0

vim /etc/profile

source /etc/profile

使用 ssh h02/3/4/5 可进入其他四个容器,依次在 /etc/profile 文件后追加那两行环境变量

在目录 /usr/local/spark-2.4.0/conf 修改配置

cd /usr/local/spark-2.4.0/conf

修改文件名

mv spark-env.sh.template spark-env.sh

修改 spark-env.sh,追加

vim spark-env.sh

修改文件名

mv slaves.template slaves

修改 slaves 如下

vim slaves

使用 scp 命令将配置好的 Hbase 复制到其他 4 个容器中

scp -r /usr/local/spark-2.4.0 root@h02:/usr/local/

scp -r /usr/local/spark-2.4.0 root@h03:/usr/local/

scp -r /usr/local/spark-2.4.0 root@h04:/usr/local/

scp -r /usr/local/spark-2.4.0 root@h05:/usr/local/

cd /usr/local/spark-2.4.0/sbin

./start-all.sh

其他

3.1 HDFS 重格式化问题

参考

重新格式化意味着集群的数据会被全部删除,格式化前需考虑数据备份或转移问题 ;

先删除主节点(即namenode节点),Hadoop的临时存储目录tmp、namenode存储永久性元数据目录dfs/name、Hadoop系统日志文件目录log 中的内容 (注意是删除目录下的内容不是目录);

删除所有数据节点(即datanode节点) ,Hadoop的临时存储目录tmp、namenode存储永久性元数据目录dfs/name、Hadoop系统日志文件目录log 中的内容;

格式化一个新的分布式文件系统:

cd /usr/local/hadoop/bin

./hadoop namenode -format

注意事项

进入:

sudo docker run -it --network hadoop -h "h01" --name "h01" -p 9870:9870 -p 8088:8088 master /bin/bash

sudo docker run -it --network hadoop -h "h02" --name "h02" slave1 /bin/bash

sudo docker run -it --network hadoop -h "h03" --name "h03" slave2 /bin/bash

sudo docker run -it --network hadoop -h "h04" --name "h04" slave3 /bin/bash

sudo docker run -it --network hadoop -h "h05" --name "h05" slave14 /bin/bash

退出:

sudo docker commit -m "master" -a "tomding" h01 master

sudo docker commit -m "slave1" -a "tomding" h02 slave1

sudo docker commit -m "slave2" -a "tomding" h03 slave2

sudo docker commit -m "slave3" -a "tomding" h04 slave3

sudo docker commit -m "slave4" -a "tomding" h05 slave4

Hadoop安装

创建hadoop用户

1、sudo useradd -m hadoop

2、sudo passwd hadoop

3、sudo adduser hadoop sudo

4、虚拟机:最后注销当前用户(点击屏幕右上角的齿轮,选择注销),返回登陆界面。在登陆界面中选择刚创建的hadoop 用户进行登陆。

5、重新登录检查当前用户是谁:whoami 出现hadoop 成功

6、更新aptsudo apt-get update更新apt3.安装SSH,

7、配置免密登陆sudo apt-get install sshsudo apt-get install pdsh 安装ssh

8、安装Java环境sudo apt install openjdk-8-jdk 安装java

9、vim ~/.bashrc 进入之后按I 然后输入export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 

10、按esc 然后按:wq! 回车 完成 此步骤闷销闷改变环境变量source ~/.bashrc输入java -version检斗含验

11、安装Hadoopwget 安装命令

12、sudo tar -zxf ~/hadoop-2.9.2.tar.gz -C /usr/local 解压命令

13、cd /usr/local/ #进入用户安装目录

14、sudo mv ./hadoop-2.9.2/ ./hadoopsudo chown -R hadoop ./hadoop # 修改蚂弯文件权限(hadoop-2.9.2默认拥有者是root,这里我们让hadoop也成为拥有者)

15、cd /usr/local/hadoop./bin/hadoop version # 查看hadoop版本信息,成功显示则安装成功

16、cd /usr/local/hadoop进入目录

17、mkdir ./input创建目录

18、ls查看当前目录

19、cp ./etc/hadoop/*.xml ./input

20、./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'

21、cat ./output/*查看

22、rm -r ./output删除output文件

23、 cd /usr

24、 cd local

25、ls

26、 cd hadoop

27、 ls

28、cd  /usr/local/hadoop/etc/hadoop/

29、Ls

30、vi hdfs-site.xml

31、cd /usr/local/hadoop

关于安装hadoop和安装hadoop集群时,在哪个文件指定从机是哪些机器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表