工欲善其事,必先利其器——Hadoop环境搭建(一)

环境

 操作系统:Ubuntu16.04(搭建在vritualBox虚拟机)

 Hadoop版本:2.9.1(http://mirror.bit.edu.cn/apacge/hadoop/common),一般下载最新的稳定版本,即下载‘stable’下的2.x.y.tar.gz

创建hadoop用户

  如果安装Ubuntu时不是用hadoop用户名,怎增加一个hadoop用户。

sudo useradd -m -hadoop -s /bin/bash

   这条命令可以创建登陆的Hadoop用户,并使用/bin/bash作为shell

   为hadoop用户设置一个密码,如hadoop

sudo passwd hadoop

  为Hadoop增加管理员权限,方便部署

sudo adduser hadoop sudo

  上述步骤完成以后,使用hadoop用户登录

 更新apt

   后续我们安装软件,如果没有安装,可能会出现一些问题

sudo apt-get update

 安装vim

sudo apt-get install vim

安装SSH,配置SSH无密码登陆

集群,单节点模式都会用到SSH登陆(名称节点和数据节点部署在不同的机器上,机器之间要相互访问)。Ubuntu默认安装了SSH client , 此外需要安装SSH server

sudo apt-get install openssh-server

安装完成后,可以使用下面的命令登陆本机:

ssh localhost

此时登陆会用到,hadoop的密码,下面我们配置SHH无密码登陆

exit                    #先退出刚才的登陆
cd ~/.ssh/              #若没有该目录,先执行一次,ssh localhost
ssh-keygen -t rsa       #按回车
cat ./id_rsa.pub >> ./authorized_keys

此时在用ssh localhost登陆,不会使用密码

安装Java环境

请保持网络连接,安装完成配置JAVA_HOME环境变量

sudo apt-get install default-jre default-jdk

配置JAVA_HOME环境变量

vim ~/.bashrc

在最后一行添加:export JAVA_HOME=/usr/lib/jvm/default-java(等号前后没有空格)

使环境变量生效

source ~/.bashrc        #是环境变量生效

echo $JAVA_HOME         #检验环境变量
java -version

安装Hadoop2

将Hadoop安装在/usr/local/中:

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


cd ./hadoop
./bin/hadoop version    #检验Hadoop是否可用,成功则会显示Hadoop版本信息

完成以上步骤,Hadoop的单机配置(非分布式)即已完成。

hadoop伪分布式配置

Hadoop可以在单节点上配置伪分布式,Hadoop进程以分离的java进程来运行,节点既作为NameNode也作为DataNode,同时读取的是HDFS中的文件。

Hadoop的配置文件放在/usr/local/hadoop/etc/hadoop/中,伪分布式需要修改core-site.xml和hdfs-site.xml.

分别将以上两个文件修改为:

vim ./etc/hadoop/core-site.xml

core-site.xml

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

vim ./etc/hadoop/hdfs-site.xml

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</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>

然后修改 /user/local/hadoop/etc/hadoop/hadoop-env.sh,在里面找到export JAVA_HOME=${JAVA_HOME}这一行,修改为JAVA的安装路径。

配置完成后,执行NameNode的格式化

./bin/hdfs namenode -format

成功的话可以看到“successfully formatted”和“Exitting with status 0”的提示,若“Exitting with status 1”则是出错

接着开启NameNode和DataNode守护进程

./sbin/start-dfs.sh        #启动
jps                        #来判断是否成功

 

上图进程缺一不可

关闭Hadoop

./sbin/stop-dfs.sh

YARN

上面 ./sbin/start-dfs.sh仅仅启动了MapReduce环境,我们也可以启动Yarn

首先修改配置文件mapred-site.xml,这边需要先进行重新命名:

mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
vim ./etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

vim /etc/hadoop/yarn-site.xml

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

./sbin/start-yarn.sh    #启动YARN
./sbin.mr-jobhistory-daemon.sh start historyserver    #开启历史服务器,才能在web中查看任务
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUISUIZHIBO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值