hadoop的安装步骤(Docker——Hadoop完全分布式安装)

本文目录
- Docker——Hadoop完全分布式安装
- hadoop及其组件安装
- Hadoop安装
- HADOOP安装(安装详情私)-
- hadoop安装配置时过程中中断了还需要从头开始吗
- 如何在linux下安装hadoop
- hadoop安装教程
- hadoop安装及speak安装
- 如何安装hadoop
- Docker安装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环境
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) 启动方式
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状态
***隐藏网址***
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检验
***隐藏网址***
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+’
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安装(安装详情私)-
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 添加到环境变量
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 这个路径
hadoop安装配置时过程中中断了还需要从头开始吗
hadoop安装配置时过程中中断了还需要从头开始。安装步骤:
1、之前已经上传过hadoop的压缩包了,所以这里直接进行解压。
2、解压之后将其移动到之前的hadoop文件夹里面去。
3、配置hadoop的环境变量,进入。
4、将环境变量复制到文件的最下面,注意配置的文件夹,我这里是home下面的Java文件夹,前面都配的java,防止出现其他错误暂时不改。
5、配置完了之后输入source或etc或profile,更新配置,然后输入hadoopversion,查看是否配置成功。
如何在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表
# vi /etc/hosts
127.0.0.1 localhost
192.168.13.100 namenode
192.168.13.108 datanode1
192.168.13.110 datanode2
# vi /etc/hosts
127.0.0.1 localhost
192.168.13.100 namenode
192.168.13.108 datanode1
# 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 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》
《name》fs.default.name《/name》
《value》hdfs: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》
《name》dfs.replication《/name》
《value》3《/value》
《description》Default 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》
《name》mapred.job.tracker《/name》
《value》192.168.13.100:11000《/value》
《/property》
《/configuration》
~
在slave上的配置档案如下(hdfs-site.xml不需要配置):
# 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》
《name》fs.default.name《/name》
《value》hdfs:namenode:9000《/value》
《/property》
《/configuration》
# 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》
《name》mapred.job.tracker《/name》
《value》namenode: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上
# 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
# 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 connection《yes/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安装教程
1、hadoop安装包下载。
2、登录:启动成功后访问IP,登录默认用户名和密码: Username:admin、Password:123456
3、集群指定主机(安装过程中请不要刷新页面)
4、集群安装(DKM各组件安装):这里有3种安装方式 “基本安装”,“完整安装”,“自定义安装”。
5、开始安装组件:我以“基本安装”方式来进行示例,其他方式类同,选择“下一步”会出现如下图的进度条。
6、点击“完成安装”会转到 DKM 监控界面(ip:8998) ,首先需要登录, 用户名:admin ,密码:admin 。
7、点击登录,进入到集群监控界面,如下图:
扩展资料:
Hadoop主要有以下几个优点 :
1.高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖 。
2.高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中 。
3.高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快 。
4.高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配 。
5.低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低 。
Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++ 。
参考资料来源:百度百科-hadoop
hadoop安装及speak安装
掌握在Linux虚拟机中安装Hadoop和Spark的方法,熟悉HDFS的基本使用方法,掌握使用Spark访问本地文件和HDFS文件的方法。
进入Linux系统,参照本教程官网“实验指南”栏目的“Hadoop的安装和使用”,完成Hadoop伪分布式模式的安装。完成Hadoop的安装以后,再安装Spark(Local模式)。使用hadoop用户名登录进入Linux系统,启动Hadoop,参照相关Hadoop书籍或网络资料,或者也可以参考本教程官网的“实验指南”栏目的“HDFS操作常用Shell命令”。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
如何安装hadoop
在Linux上安装Hadoop之前,需要先安装两个程序:
1. JDK 1.6或更高版本;
2. SSH(安全外壳协议),推荐安装OpenSSH。
下面简述一下安装这两个程序的原因:
1. Hadoop是用Java开发的,Hadoop的编译及MapReduce的运行都需要使用JDK。
2. Hadoop需要通过SSH来启动salve列表中各台主机的守护进程,因此SSH也是必须安装的,即使是安装伪分布式版本(因为Hadoop并没有区分集群式和伪分布式)。对于伪分布式,Hadoop会采用与集群相同的处理方式,即依次序启动文件conf/slaves中记载的主机上的进程,只不过伪分布式中salve为localhost(即为自身),所以对于伪分布式Hadoop,SSH一样是必须的。
一、安装JDK 1.6
安装JDK的过程很简单,下面以Ubuntu为例。
(1)下载和安装JDK
确保可以连接到互联网,输入命令:
sudo apt-get install sun-java6-jdk
输入密码,确认,然后就可以安装JDK了。
这里先解释一下sudo与apt这两个命令,sudo这个命令允许普通用户执行某些或全部需要root权限命令,它提供了详尽的日志,可以记录下每个用户使用这个命令做了些什么操作;同时sudo也提供了灵活的管理方式,可以限制用户使用命令。sudo的配置文件为/etc/sudoers。
apt的全称为the Advanced Packaging Tool,是Debian计划的一部分,是Ubuntu的软件包管理软件,通过apt安装软件无须考虑软件的依赖关系,可以直接安装所需要的软件,apt会自动下载有依赖关系的包,并按顺序安装,在Ubuntu中安装有apt的一个图形化界面程序synaptic(中文译名为“新立得”),大家如果有兴趣也可以使用这个程序来安装所需要的软件。(如果大家想了解更多,可以查看一下关于Debian计划的资料。)
(2)配置环境变量
输入命令:
sudo gedit /etc/profile
输入密码,打开profile文件。
在文件的最下面输入如下内容:
#set Java Environment
export JAVA_HOME= (你的JDK安装位置,一般为/usr/lib/jvm/java-6-sun)
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/:$PATH"
这一步的意义是配置环境变量,使你的系统可以找到JDK。
(3)验证JDK是否安装成功
输入命令:
java -version
查看信息:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
二、配置SSH免密码登录
同样以Ubuntu为例,假设用户名为u。
1)确认已经连接上互联网,输入命令
sudo apt-get install ssh
2)配置为可以无密码登录本机。
首先查看在u用户下是否存在.ssh文件夹(注意ssh前面有“.”,这是一个隐藏文件夹),输入命令:
ls -a /home/u
一般来说,安装SSH时会自动在当前用户下创建这个隐藏文件夹,如果没有,可以手动创建一个。
接下来,输入命令:
ssh-keygen -t dsa -P ’’ -f ~/.ssh/id_dsa
解释一下,ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成的密钥类型;dsa是dsa密钥认证的意思,即密钥类型;-P用于提供密语;-f指定生成的密钥文件。(关于密钥密语的相关知识这里就不详细介绍了,里面会涉及SSH的一些知识,如果读者有兴趣,可以自行查阅资料。)
在Ubuntu中,~代表当前用户文件夹,这里即/home/u。
这个命令会在.ssh文件夹下创建两个文件id_dsa及id_dsa.pub,这是SSH的一对私钥和公钥,类似于钥匙及锁,把id_dsa.pub(公钥)追加到授权的key里面去。
输入命令:
cat ~/.ssh/id_dsa.pub 》》 ~/.ssh/authorized_keys
这段话的意思是把公钥加到用于认证的公钥文件中,这里的authorized_keys是用于认证的公钥文件。
至此无密码登录本机已设置完毕。
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
***隐藏网址***
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
***隐藏网址***
到 /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
***隐藏网址***
到 /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
***隐藏网址***
到 /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

更多文章:
apache不能在本地计算机启动(关于“Windows不能在本地计算机启动Apache2.并参考特定服务错误代码1“问题解决)
2026年1月4日 19:00
deepin开机的四个选项(win10和deepin双系统怎样设置启动项)
2026年3月2日 15:45
deficiency词源(minus的详细意思minus的详细意思是什么)
2026年9月23日 15:30
mysql workbench怎么运行sql文件(如何使用MySQL Workbench导入.sql文件)
2025年5月23日 03:00
webpack缺点(如何理解webpack文档中对AMD缺点的描述)
2026年9月10日 12:30
discuz采集插件(火车头采集的数据怎么发布在discuz网站)
2025年11月7日 09:30
accommodation theory名词解释(带sion后缀的单词~~快快快!)
2026年7月27日 18:15
htmlcssjs软件下载手机(前端div+css怎么放到手机里面查看效果)
2026年2月9日 05:00
centos7怎么安装yum(CentOS7 配置 yum 源和 epel 源)
2025年11月6日 00:30
面向对象程序设计是java吗(Java是一种面向对象的编程语言吗)
2025年7月24日 13:45
linux配置与管理web服务器(高分请教如何搭建Linux下的web服务器)
2025年12月1日 02:00
vfp中的常用函数(求Visual Foxpro常用数值函数)
2026年4月7日 23:15
淘宝智能版导航代码(求淘宝店铺导航条代码,半透明状态的如下图)
2026年1月29日 13:00
shady是什么意思(Eminem为什么又叫slim shady,什么意思)
2025年9月24日 14:15







