(二)关于Hadoop分布式环境的搭建过程

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

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

一、Hadoop安装前准备

1、设置root用户

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

root用户开机启动​

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

 

user-session=ubuntu

greeter-show-manual-login=true

all-guest=false

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

 

2、配置网络

 

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

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

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

 

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 生成密钥,并将密钥加入到授权中:

注意:这里在master上配置

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

ssh-copy-id -i ~/.ssh/id_rsa.pub slave1   
#复制slave1密钥,如果有slave2,改成slave2再执行一次,会输入各个节点密码

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,分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅作为 NameNode 使用。

本教程让 Master 节点仅作为 NameNode 使用,因此将文件中原来的 localhost 删除,只添加两行内容:slave1、slave2。这里的1和2是节点数,若增加节点,添加slave3.

有几个节点就配置几个,不然没配置的节点出不来相关进程

 

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

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>

 

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

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

 

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

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>master:19888</value>
        </property>
</configuration>

 

5、文件 yarn-site.xml

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

 

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集群算是搭建完成,下面就可以进行一些分布式实例了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值