安装hadoop(安装hadoop集群时,在哪个文件指定从机是哪些机器)
本篇文章给大家谈谈安装hadoop,以及安装hadoop集群时,在哪个文件指定从机是哪些机器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、HADOOP安装(安装详情私)-
- 2、Docker——Hadoop完全分布式安装
- 3、如何在linux下安装hadoop
- 4、hadoop及其组件安装
- 5、Docker安装Hadoop
- 6、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集群时,在哪个文件指定从机是哪些机器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。