快捷搜索:

单机情势,2集群搭建精解

作者: w88官方网站手机版  发布:2019-11-04

一、Hadoop的运行模式

单机模式(standalone)
单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
伪分布模式(Pseudo-Distributed Mode)
伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。
全分布模式(Fully Distributed Mode)
Hadoop守护进程运行在一个集群上。

一、在Ubuntu下创建Hadoop组和hadoop用户

如果你还没有虚拟机,请参考:http://www.linuxidc.com/Linux/2017-03/141646.htm
如果你还没有试过单机模式,请参考:http://www.linuxidc.com/Linux/2017-03/142050.htm
参考:

二、创建hadoop组和hadoop用户

增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户。
1、创建hadoop用户组

sudo addgroup hadoop

w88官方网站手机版 1
groupdel users 删除组users
2、创建hadoop用户

 sudo adduser -ingroup hadoop hdp

w88官方网站手机版 2

回车后会提示输入新的UNIX密码,这是新建用户hdp的密码,输入回车即可。如果不输入密码,回车后会重新提示输入密码,即密码不能为空。最后确认信息是否正确,如果没问题,输入 Y,回车即可。
w88官方网站手机版 3

3、为hadoop用户添加权限
输入:sudo gedit /etc/sudoers ,回车,
打开sudoers文件,给hadoop用户赋予和root用户同样的权限。
w88官方网站手机版 4

增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户。

集群规划

主机名 ip 安装的软件 进程
master 192.168.1.111 jdk、hadoop namenode ressourcemanager
slave1 192.168.1.112 jdk、hadoop datanode secondnamenode
slave2 192.168.1.113 jdk、hadoop datanade

三、用新增加的hdp用户登录Ubuntu系统

命令行输入 su hpd 并输入密码。
或者
直接切换图形操作系统。

1、创建hadoop用户组

免登录

这里直接用root用户,注意将防火墙关掉:

#关闭防火墙
sudo systemctl stop firewalld.service
#关闭开机启动
sudo systemctl disable firewalld.service

免密码登录:

cd /root/.ssh/
ssh-keygen -t rsa

这里上个回车就ok,会在当前目录生成两个文件,一个公钥一个私钥

w88官方网站手机版 5

将公钥拷贝到其它机器上,实现免密码登录

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

这样会在slave1 的/root/.ssh/目录下生成一个authorized_keys 就可以实现master免登录到slave1,如下:

ssh slave1

四、安装SSH

sudo apt-get install openssh-server

w88官方网站手机版 6

安装完成后,启动服务:sudo /etc/init.d/ssh start
并查看服务是否正确启动:ps -e | grep ssh

作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:

ssh-keygen -t rsa -P ""

w88官方网站手机版 7

第一次操作时会提示输入密码,按Enter直接过,这时会在~/home/{username}/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。

现在将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端的用户)

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

现在可以登入ssh确认以后登录时不用输入密码:
ssh localhost
w88官方网站手机版 8
登出:exit

第二次登录:
w88官方网站手机版 9
登出:exit

w88官方网站手机版 10

安装JDK

在/opt/下创建soft-install文件夹来存放安装的软件,创建soft来安装软件

w88官方网站手机版 11

tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt/soft/

修改环境变量:

# 修改配置文件
vi /etc/profile
# 在最后下添加

export JAVA_HOME=/opt/soft/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 刷新配置文件
source /etc/profile

五、安装Java环境

安装jdk:sudo apt-get install openjdk-7-jdk
w88官方网站手机版 12

查看安装结果,输入命令:java -version,结果如下表示安装成功。
w88官方网站手机版 13

2、创建hadoop用户

安装Hadoop

解压

tar -zxvf ./soft-install/hadoop-2.7.2.tar.gz -C /opt/soft/

删除docs

cd /opt/soft/hadoop-2.7.2/share
rm -rf doc/

修改环境变量

# 修改配置文件
vi /etc/profile
# 在最后下添加

export HADOOP_HOME=/opt/soft/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin

# 刷新配置文件
source /etc/profile

六、安装hadoop2.5.2

1、下载
官网下载
w88官方网站手机版 14

下载hadoop-2.5.2-src.tar.gz 并放到你希望的目录中,
我是放到/software/中。

w88官方网站手机版 15
2、安装
解压sudo tar xzf hadoop-2.5.2.tar.gz
w88官方网站手机版 16

修改文件夹名,并且赋予用户对该文件夹的读写权限。

sudo mv hadoop-2.5.2 hadoop

sudo chmod 774 hadoop

w88官方网站手机版 17

更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2015-03/115173.htm

sudo adduser -ingroup hadoop hadoop

修改配置文件

这些配置文件全部位于 /opt/soft/Hadoop-2.7.2/etc/hadoop 文件夹下

hadoop-env.sh

w88官方网站手机版 18

core-site.xml

<configuration>
    <!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/soft/hadoop-2.7.2/tmp</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>

    <!-- 设置namenode的http通讯地址 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:50070</value>
    </property>

    <!-- 设置secondarynamenode的http通讯地址 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slave1:50090</value>
    </property>

    <!-- 设置namenode存放的路径 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/soft/hadoop-2.7.2/name</value>
    </property>

    <!-- 设置hdfs副本数量 -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- 设置datanode存放的路径 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/soft/hadoop-2.7.2/data</value>
    </property>
</configuration>

mapred-site.xml
必须先

mv mapred-site.xml.template mapred-site.xml

<configuration>
    <!-- 通知框架MR使用YARN -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

yarn-site.xml

<configuration>
    <!-- 设置 resourcemanager 在哪个节点-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>

    <!-- reducer取数据的方式是mapreduce_shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
         <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

masters
新建一个masters的文件,这里指定的是secondary namenode 的主机

slave1

slaves

slave1
slave2

创建文件夹:

mkdir tmp name data

--------------------------------------分割线

Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS安装和配置Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04上搭建Hadoop环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 Hadoop 1.2.1版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu上搭建Hadoop环境(单机模式 伪分布模式) http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu下Hadoop环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建Hadoop环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建) http://www.linuxidc.com/Linux/2011-12/48894.htm

w88官方网站手机版 19

回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码,输入回车即可。

复制到其他主机

复制/etc/hosts(因为少了这个导致secondarynamenode总是在slave1启动不起来)

scp /etc/hosts slave1:/etc/
scp /etc/hosts slave2:/etc/

复制/etc/profile (记得要刷新环境变量)

scp /etc/profile slave1:/etc/
scp /etc/profile slave2:/etc/

复制/opt/soft

scp -r /etc/soft slave1:/opt/
scp -r /etc/soft slave2:/opt/

记得在slave1和slave2上刷新环境变量

如果不输入密码,回车后会重新提示输入密码,即密码不能为空。

启动

第一次启动得格式化

./bin/hdfs namenode -format

启动dfs

./sbin/start-dfs.sh

启动yarn

./sbin/start-yarn.sh

最后确认信息是否正确,如果没问题,输入 Y,回车即可。

查看

master

w88官方网站手机版 20

slave1

w88官方网站手机版 21

slave2

w88官方网站手机版 22

通过浏览器测试hdfs:

192.168.2.111:50070

w88官方网站手机版 23

注意这里有数据才是成功,我因为没把hosts文件复制到其他主机,导致启动的进程都是正确的,但是这里就是没数据,后来查资料检查才是没复制hosts文件。复制之后就一切正常了

通过浏览器测试yarn:

192.168.2.111:8088

w88官方网站手机版 24

可以看到一切正常。2个节点。

至此我们的三台hadoop运行。

下面关于Hadoop的文章您也可能喜欢,不妨看看:

Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 6.3下Hadoop伪分布式平台搭建  http://www.linuxidc.com/Linux/2016-11/136789.htm

Ubuntu 14.04 LTS下安装Hadoop 1.2.1(伪分布模式) http://www.linuxidc.com/Linux/2016-09/135406.htm

Ubuntu上搭建Hadoop环境(单机模式 伪分布模式) http://www.linuxidc.com/Linux/2013-01/77681.htm

实战CentOS系统部署Hadoop集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm

Hadoop 2.6.0 HA高可用集群配置详解  http://www.linuxidc.com/Linux/2016-08/134180.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

在Ubuntu X64上编译安装Hadoop http://www.linuxidc.com/Linux/2016-12/138568.htm

CentOS 6.7安装Hadoop 2.7.3  http://www.linuxidc.com/Linux/2017-01/139089.htm

CentOS7 Hadoop2.5.2 Spark1.5.2环境搭建  http://www.linuxidc.com/Linux/2017-01/139364.htm

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/142051.htm

w88官方网站手机版 25

w88官方网站手机版 26

3、为hadoop用户添加权限

输入:sudo gedit /etc/sudoers

回车,打开sudoers文件

给hadoop用户赋予和root用户同样的权限

w88官方网站手机版 27

w88官方网站手机版 28

二、用新增加的hadoop用户登录Ubuntu系统

三、安装ssh

sudo apt-get install openssh-server

w88官方网站手机版 29

安装完成后,启动服务

w88官方网站手机版,sudo /etc/init.d/ssh start

查看服务是否正确启动:ps -e | grep ssh

w88官方网站手机版 30

设置免密码登录,生成私钥和公钥

ssh-keygen -t rsa -P ""

w88官方网站手机版 31

此时会在/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。

下面我们将公钥追加到authorized_keys中,它用户保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。

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

w88官方网站手机版 32

登录ssh

ssh localhost

w88官方网站手机版 33

退出

exit

四、安装Java环境

sudo apt-get install openjdk-7-jdk

w88官方网站手机版 34

查看安装结果,输入命令:java -version,结果如下表示安装成功。

w88官方网站手机版 35

五、安装hadoop2.4.0

1、官网下载

2、安装

解压

sudo tar xzf hadoop-2.4.0.tar.gz

假如我们要把hadoop安装到/usr/local下

拷贝到/usr/local/下,文件夹为hadoop

sudo mv hadoop-2.4.0 /usr/local/hadoop

w88官方网站手机版 36

赋予用户对该文件夹的读写权限

sudo chmod 774 /usr/local/hadoop

w88官方网站手机版 37

3、配置

1)配置~/.bashrc

配置该文件前需要知道Java的安装路径,用来设置JAVA_HOME环境变量,可以使用下面命令行查看安装路径

update-alternatives - -config java

执行结果如下:

w88官方网站手机版 38

完整的路径为

/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

我们只取前面的部分 /usr/lib/jvm/java-7-openjdk-amd64

配置.bashrc文件

sudo gedit ~/.bashrc

该命令会打开该文件的编辑窗口,在文件末尾追加下面内容,然后保存,关闭编辑窗口。

#HADOOP VARIABLES START

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

export HADOOP_INSTALL=/usr/local/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

export PATH=$PATH:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

#HADOOP VARIABLES END

最终结果如下图:

w88官方网站手机版 39

执行下面命,使添加的环境变量生效:

source ~/.bashrc

2)编辑/usr/local/hadoop/etc/hadoop/hadoop-env.sh

执行下面命令,打开该文件的编辑窗口

sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh

找到JAVA_HOME变量,修改此变量如下

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

修改后的hadoop-env.sh文件如下所示:

w88官方网站手机版 40

六、WordCount测试

单机模式安装完成,下面通过执行hadoop自带实例WordCount验证是否安装成功

/usr/local/hadoop路径下创建input文件夹

mkdir input

拷贝README.txt到input

cp README.txt input

执行WordCount

bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.4.0-sources.jar org.apache.hadoop.examples.WordCount input output

w88官方网站手机版 41

执行结果:

w88官方网站手机版 42

执行 cat output/*,查看字符统计结果

w88官方网站手机版 43

CentOS安装和配置Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04上搭建Hadoop环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 Hadoop 1.2.1版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu上搭建Hadoop环境(单机模式 伪分布模式) http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu下Hadoop环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建Hadoop环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建) http://www.linuxidc.com/Linux/2011-12/48894.htm

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-01/112370.htm

w88官方网站手机版 44

本文由www.w88985.com发布于w88官方网站手机版,转载请注明出处:单机情势,2集群搭建精解

关键词: www.w88985.c

上一篇:RxJava开发精要1,的理念和特点
下一篇:没有了