Hadoop安装-单节点伪集群

本文介绍如何配置和安装单节点的Hadoop伪集群,在单节点的集群上,同样可以操作Hadoop分布式文件系统(HDFS),以及执行Hadoop MapReduce。

运行环境:
通过VMware创建的虚拟机
RAM:2G
IP:192.168.117.200
HOSTNAME:NODE1
os:Red Hat Enterprise Linux Server release 6.3

依赖的软件
1.JDK,推荐sun JDK1.7及以上(JDK的安装,之前文章以及相关资料很多,在此不再累述)。本文环境为:
java version “1.8.0_121”
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

2.ssh服务(如无法运行ssh命令,请自行安装ssh),ssh用于到集群中的给台主机上启动守护进程,因此需要确保用户能够ssh到各主机,并且可以不输入密码。对于单个节点的伪集群,需要确保ssh localhost 是成功的,否则,需要通过ssh-keygen创建相关的密钥。如下,可以创建口令为空的密钥:
ssh-keygen -t rsa -P ” -f ~/.ssh/id_rsa //生成口令为空的ssh密钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //将公钥加入已认证的密钥中

Hadoop安装
下载hadoop安装包,本文版本为hadoop-2.7.3.tar.gz,假设Hadoop将安装于/home目录下。

#tar -zxvf hadoop-2.7.3.tar.gz 
#ln -sf hadoop-2.7.3 hadoop

修改环境变量,新增PATH(或者在原PATH后追加)

vim ~/.bash_profile 

HADOOP_HOME=/home/hadoop
PATH=$PATH:$HOME/bin:/usr/local/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export PATH HADOOP_HOME

保存后,执行 source ~/.bash_profile 来使新增的环境变量生效

配置hadoop和yarn脚本的执行环境
echo $JAVA_HOME //查看jdk安装目录
/home/jdk1.8.0_121

$HADOOP_HOME/etc/hadoop/hadoop-env.sh,配置jdk路径
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/home/jdk1.8.0_121

$HADOOP_HOME/etc/hadoop/yarn-env.sh,配置jdk路径
# some Java parameters
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/home/jdk1.8.0_121

配置Hadoop守护进程的相关属性
$HADOOP_HOME/etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
         <description>HDFS文件系统的URI,localhost为主机的hostname,也可以填写IP地址;9000为namenode监听RPC端口,默认为8020</description>
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
        <description>namenode上本地的hadoop临时文件夹</description>
    </property>
</configuration>

$HADOOP_HOME/etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/hadoop/hdfs/name</value>
        <description>namenode上存储hdfs名字空间元数据</description> 
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/hadoop/hdfs/data</value>
        <description>datanode上数据块的物理存储位置</description>
    </property>

    <property>
        <name>dfs.replication</name>
        <value>1</value>
        <description>副本个数,配置默认是3,应小于datanode机器数量</description>
    </property>
</configuration>

dfs.replication,默认为3,由于是单节点的集群,若不改为1的话,那么HDFS无法将块复制到其他datanode,会持续出现块不足的警告。

单节点的YARN配置
如果仅是在本地执行一个MapReduce任务,则可跳过本段。
在一个单节点的伪集群中,可以通过YRAN运行MapReduce任务,YRAN还提供了资源管理和节点管理的守护。
$HADOOP_HOME/etc/hadoop/mapred-site.xml:

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

$HADOOP_HOME/etc/hadoop/yarn-site.xml:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.117.200:8099</value>
    </property>
</configuration>

启动Hadoop
1.格式化文件系统
hdfs namenode -format
2.启动Nodenode,DataNode守护
start-dfs.sh
3.启动ResourceManager,NodeManager守护
start-yarn.sh

停止守护
stop-dfs.sh
stop-yarn.sh

简单测试:
1.创建文件夹

#hadoop fs -ls /import/data
#hadoop fs -ls /
Found 1 items
drwxr-xr-x   - root supergroup          0 2017-07-08 02:32 /import
#hadoop fs -ls /import
Found 1 items
drwxr-xr-x   - root supergroup          0 2017-07-08 02:32 /import/data

2.上传本地文件到HDFS,并查看

# hadoop fs -copyFromLocal core-site.xml /import/data
# hadoop fs -ls /import/data
Found 1 items
-rw-r--r--   1 root supergroup       1126 2017-07-11 01:26 /import/data/core-site.xml
# hadoop fs -cat /import/data/core-site.xml
...

3.管理页面
NameNode管理页面
http://192.168.117.200:50070
ResourceManager管理页面
http://192.168.117.200:8099

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值