从零开始配置hadoop

本文使用了一台ECS标配服务器,同时部署了namenode,secondary namenode,datanode等。(学生优惠只给买一台。。大写的抠门)


1、环境与准备

阿里云ECS服务器,centOS7。

SecureCRT 8.3.0

jdk1.8.0_162:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

hadoop-2.7.4.tar.gz:http://www.apache.org/dyn/closer.cgi/hadoop/common/


2、开始搭建

① 上传并解压。tar -x *.tar.gz 或者 unzip *.zip(习惯不是很好,最好不要放在根目录下)


② ./bin/hadoop version 查看hadoop版本信息


 java -version  查看java版本信息



③ 配置ssh免密码登录本机

 阿里云给的系统自带ssh

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  


④ 配置文件设置

修改配置文件,配置文件在该目录下面:~/hadoop2.7.2/etc/hadoop/

a.vim core-site.xml:注释信息不要复制进去

<configuration>  
        <property>  
                <name>fs.defaultFS</name>  
                <value>hdfs://localhost:9000</value> //设置hdfs的ip和端口,ip最好写成主机的真实ip,因为以后会用到。  
        </property>  
        <property>  
                <name>hadoop.tmp.dir</name>  
                <value>/home/username/tmp_hadoop2.7</value> //该目录存放hdfs的重要信息,默认是在/tmp下,但有的主机重启后会清空/tmp,故指定一个新地址。  
        </property>  
</configuration>  
b.vim hdfs-site.xml
<configuration>  
        <property>  
                <name>dfs.replication</name> //指定hadoop创建文件时的复制数量,默认是3  
                <value>2</value>  
        </property>  
        <property>  
                <name>dfs.permissions.enabled</name> //将该项的值置为false,方便读写hdfs。  
                <value>false</value>  
        </property>  
</configuration>  
c.vim mapred-site.xml
<configuration>  
        <property>  
                <name>mapreduce.framework.name</name> //c,d两步是配置yarn来管理mapreduce资源。  
                <value>yarn</value>  
        </property>  
</configuration>  
d.vim yarn-site.xml
<configuration>  
<property>  
        <name>yarn.resourcemanager.hostname</name>  
        <value>heguozi</value>  
</property>  
<property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
</property>  
</configuration>  
e.vim hadoop-env.sh,修改下面一行:
export JAVA_HOME=${JAVA_HOME}  
为:
export JAVA_HOME=(你的jdk地址)//将JAVA_HOME改为你主机上的地址,不然启动的时候会报错:找不到JAVA_HOME  


⑤ 在localhost上初始化文件系统

bin/hdfs namenode -format  


⑥ 配置好,格式化后就可以启动集群了

a.可以一个一个启动

$ sbin/hadoop-daemon.sh start namenode  
b.可以start-all

sbin/start-all.sh 


在这之后,就可以愉快的玩耍了~


Ps. 

① 如果有多台机器,可以在修改好配置文件后,将配置文件传给其他节点

$scp etc/hadoop/* root@node2:/root/hadoop-2.7.2/etc/hadoop  
$scp etc/hadoop/* root@node3:/root/hadoop-2.7.2/etc/hadoop  
$scp etc/hadoop/* root@node4:/root/hadoop-2.7.2/etc/hadoop  
.....................


② 至于在一台机器上同时部署所有的服务有什么影响,可以移步论坛:http://bbs.csdn.net/topics/390887079


注意坑点:

 ① 如果使用java9的版本,会在初始化format的时候报错,建议通过上面的地址下载java8。

 ② 在sbin/start-all.sh 的时候,如果没有成功,一定要记得用 sbin/stop-all.sh 把其他已经成功启动的服务kill掉。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值