Hadoop分布式环境搭建

本笔记是个人参照林子雨老师教学文档进行撰写,详细请看厦门大学数据库实验室观看

个人搭建hadoop平台实用的环境:Ubuntu 14.04 64位 *3、JDK1.8、Hadoop 2.6.5 (apache)

一、Hadoop安装前准备

1、设置root用户

第一次需要设置root用户密码

Hadoop分布式环境搭建_第1张图片

root用户开机启动

在文件中添加下图红框内容:

Hadoop分布式环境搭建_第2张图片

user-session=ubuntu

greeter-show-manual-login=true

all-guest=false

保存后重启机器。使用root用户和密码登录即可

Hadoop分布式环境搭建_第3张图片

2、配置网络

在vmware下创建三台Ubuntu 14.04 64位 的虚拟机,一个Master,2个Slave。三台虚拟机在同一网段,相互ping通。

虚拟机名进行修改# vim /etc/hostname   (vim自行下载)

ip映射:# vim /etc/hosts  (主机名对应主机ip)

Hadoop分布式环境搭建_第4张图片

3、更换阿里源

第一步:进入/etc/apt/目录

cd /etc/apt

第二步:在修改前先对 sources.list文件进行备份

sudo cp sources.list sources.list.bak

第三步:修改sources.list文件,更换成阿里云源

sudo vim sources.list

各版本源请看

https://www.cnblogs.com/dtiove/p/5917263.html

第五步:更新源

apt-get update

4、安装SSH

1、第一步下载ssh :

apt-get install openssh-server

安装后,可以使用如下命令登陆本机:

ssh localhost

2、第二步配置SSH无密码登陆:

首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:

exit                           # 退出刚才的 ssh localhost
cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa              # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

3、第三步设置Root远程登录:

gedit /etc/ssh/sshd_config

修改其28行的内容为

#PermitRootLogin prohibit-password

PermitRootLogin yes

5、安装Java环境

1、安装JDK

sudo apt-get install default-jre default-jdk

2、配置环境变量

vim ~/.bashrc

   在文件最前面添加如下单独一行(注意,等号“=”前后不能有空格),然后保存退出:

export JAVA_HOME=/usr/lib/jvm/default-java

  接下来,要让环境变量立即生效,请执行如下代码:

source ~/.bashrc

3、验证环境是否成功

echo $JAVA_HOME     # 检验变量值
java -version

二、安装Hadoop

1、下载hadoop

hadoop下载地址:https://mirrors.cnnic.cn/apache/hadoop/common/

这里我使用的是2.6.5,下载完成后,传到master中

2、解压hadoop

sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local    # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop            # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop               # 修改文件权限

3、检查

  Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:

cd /usr/local/hadoop
./bin/hadoop version

三、配置Hadoop文件

一、配置PATH变量

首先执行 vim ~/.bashrc 在第一行加入,路径根据自己解压缩后的hadoop的bin和sbin配置,方便之后的命令书写

export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

如图:

之后source ~/.bashrc使配置生效。

二、配置集群环境

集群/分布式模式需要修改 /usr/local/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项: slaves、core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml 。

1, 文件 slaves,将作为 DataNode 的主机名写入该文件,每行一个,默认为 localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 DataNode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅作为 NameNode 使用。

本教程让 Master 节点仅作为 NameNode 使用,因此将文件中原来的 localhost 删除,只添加一行内容:slave1。

2, 文件 core-site.xml 改为下面的配置:(注意第四行master是你映射的主机名,以下master都是如此)


        
                fs.defaultFS
                hdfs://master:9000
        
        
                hadoop.tmp.dir
                file:/usr/local/hadoop/tmp
                Abase for other temporary directories.
        

3, 文件 hdfs-site.xml,dfs.replication 一般设为 3


        
                dfs.namenode.secondary.http-address
                master:50090
        
        
                dfs.replication
                3
        
        
                dfs.namenode.name.dir
                file:/usr/local/hadoop/tmp/dfs/name
        
        
                dfs.datanode.data.dir
                file:/usr/local/hadoop/tmp/dfs/data
        

4, 文件 mapred-site.xml (可能需要先重命名,默认文件名为 mapred-site.xml.template),然后配置修改如下:


        
                mapreduce.framework.name
                yarn
        
        
                mapreduce.jobhistory.address
                master:10020
        
        
                mapreduce.jobhistory.webapp.address
                master:19888
        

5, 文件 yarn-site.xml


        
                yarn.resourcemanager.hostname
                master
        
        
                yarn.nodemanager.aux-services
                mapreduce_shuffle
        

6,配置好后,将 master 上的 /usr/local/Hadoop 文件夹复制到各个节点上。

   现将master中配置好的hadoop进行压缩:

tar -zcf ~/hadoop.master.tar.gz ./hadoop 

   然后使用scp命令将压缩后的hadoop传到slave1...等其他节点中

scp ./hadoop.master.tar.gz Slave1:/home/hadoop

  此时主节点master的hadoop已经完成,接下来在从节点上进行解压master传过来的hadoop(找到传过来的hadoop路径解压) 

sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local

  此时从节点hadoop也算完成,下面进行hadoop启动

四、Hadoop启动

1、首次启动需要先在 master 节点执行 NameNode 的格式化:

hdfs namenode -format       # 首次运行需要执行初始化,之后不需要

2、接着可以启动 hadoop 了,启动需要在 master 节点上进行:

start-all.sh

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

4、在 Slave1 节点可以看到 DataNode 和 NodeManager 进程

5、验证集群

缺少任一进程都表示出错。另外还需要在 master 节点上通过命令 hdfs dfsadmin -report 查看 DataNode 是否正常启动,如果 Live datanodes 不为 0 ,则说明集群启动成功。

也可以通过 Web 页面看到查看 DataNode 和 NameNode 的状态:http://master:50070/。如果不成功,可以通过启动日志排查原因。

Hadoop分布式环境搭建_第5张图片

 此时hadoop集群算是搭建完成,下面就可以进行一些分布式实例了

 

你可能感兴趣的:(hadoop)