您的位置:首页 > 运维架构 > Linux

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

2016-05-22 11:44 651 查看
下面介绍伪分布式hadoop2.7再ubuntu上的安装部署,主要参考官网教程。

1,安装ubuntu系统。

2,配置jdk。

下载解压jdk压缩包,

$ vim ~/.bashrc


在最后加上几行:

export JAVA_HOME=/usr/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export 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

node2
node3
node4


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

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

注:将节点写入slaves文件,可一次性启动多个datanode,但是该文件不影响系统动态增减节点,比如:启动一个集群后,还想增加节点,就可以用hadoop-daemon.sh来启动一台节点。并不用管该节点是否在slaves中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: