hadoop学习之HDFS(2):CentOS7安装完全分布式hadoop-2.7.2

来源:互联网 发布:医院药房软件系统 编辑:程序博客网 时间:2024/06/08 07:36

下面介绍伪分布式hadoop2.7再ubuntu上的安装部署,主要参考官网教程。

1,安装ubuntu系统。

2,配置jdk。

下载解压jdk压缩包,

$ vim ~/.bashrc

在最后加上几行:

export JAVA_HOME=/usr/jdk8export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=$PATH:$JAVA_HOME/bin
保存退出,让.bashrc文件立即生效:

$ source ~/.bashrc
$ java -version

3,配置ssh免密码登录本机。

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

免密码登陆本机:

$ ssh localhost

4,下载并解压hadoop-2.7.2.tar.gz

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

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

<configuration>        <property>                <name>fs.defaultFS</name>                <value>hdfs://node1: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>node1</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=path_to_your_jdk_dir //将JAVA_HOME改为你主机上的地址,不然启动的时候会报错:找不到JAVA_HOME

5,修改好配置文件后,将配置文件传给其他节点

$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

在node1上初始化文件系统

$ bin/hdfs namenode -format

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

(1),首先在node1上启动namenode:

$ sbin/hadoop-daemon.sh start namenode

可使用浏览器访问:“node1:9000”来查看集群运行情况。

(2),然后可在node2,3,4上启动datanode:


$ sbin/hadoop-daemon.sh start datanode   //hadoop-daemon.sh命令是用来启动单个进程的。

然而,一个一个节点地启动非常麻烦,我们配置一下可启动全部datanode

vim etc/hadoop/slaves

node2node3node4

保存退出即可快速启动整个hdfs集群:

$ sbin/start-dfs.sh //一次性启动多个datanode

注:将节点写入slaves文件,可一次性启动多个datanode,但是该文件不影响系统动态增减节点,比如:启动一个集群后,还想增加节点,就可以用hadoop-daemon.sh来启动一台节点。并不用管该节点是否在slaves中。






0 0
原创粉丝点击