龙空技术网

hadoop伪分布式搭建

代码悦读 161

前言:

而今姐妹们对“虚拟机伪分布式hadoop”大概比较注重,兄弟们都想要了解一些“虚拟机伪分布式hadoop”的相关知识。那么小编也在网络上搜集了一些有关“虚拟机伪分布式hadoop””的相关内容,希望你们能喜欢,看官们快快来学习一下吧!

伪分布式搭建过程解析:

1.1修改主机名

vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=yourhost

1.2修改主机名和IP的映射关系

vim /etc/hosts

192.168.2.116 yourhost

1.3关闭防火墙

#查看防火墙状态

service iptables status

#关闭防火墙

service iptables stop

#查看防火墙开机启动状态

chkconfig iptables --list

#关闭防火墙开机启动

chkconfig iptables off

1.4重启Linux

reboot

1.5安装hadoop2.6.0

1)上传hadoop安装包

2)解压hadoop安装包

mkdir /usr/local/hadoop

#解压到/usr/local/hadoop/目录下

tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local/hadoop/

3)伪分布式需要修改5个配置文件

cd /usr/local/hadoop/hadoop-2.6.0/etc/hadoop

3.1配置hadoop

第一个:hadoop-env.sh

vim hadoop-env.sh

#第27行

export JAVA_HOME=/usr/local/java/jdk1.7.0_79

第二个:core-site.xml

mkdir /usr/local/hadoop/hadoop-2.6.0/tmp

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://yourhost:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/hadoop-2.6.0/tmp</value>

</property>

第三个:hdfs-site.xml hdfs-default.xml (3)

<!-- 指定HDFS副本的数量 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)

mv mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

<!-- 指定mr运行在yarn上 -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

第五个:yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>yourhost</value>

</property>

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

3.2将hadoop添加到环境变量

vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.7.0_79

export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.0

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

3.3格式化namenode(是对namenode进行初始化)

hdfs namenode -format (hadoop namenode -format)

3.4启动hadoop

cd /usr/local/hadoop/hadoop-2.6.0

先启动HDFS

sbin/start-dfs.sh

再启动YARN

sbin/start-yarn.sh

注:当出现问题了,以上这几步需要重新执行一遍!!!

3.5验证是否启动成功

使用jps命令验证

27408 NameNode

28218 Jps

27643 SecondaryNameNode

28066 NodeManager

27803 ResourceManager

27512 DataNode

(HDFS管理界面)

(MR管理界面)

1.6配置ssh免登陆

#生成ssh免登陆密钥

#进入到我的home目录

cd ~/.ssh

ssh-keygen -t rsa (四个回车)

执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要免登陆的机器上

ssh-copy-id localhost

问题说明:

问题1:启动datanode失败

删除:rm -rf /usr/local/hadoop/hadoop-2.6.0/tmp/*

问题2:如何停止

sbin/stop-dfs.sh

sbin/stop-yarn.sh

问题3:错误日志存放在哪里

/usr/local/hadoop/hadoop-2.6.0/log/目录下面

问题4:

hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”

跟系统位数有关系,我使用的是Centos 6.5 64位操作系统。

我用的是hadoop2.6,所以下载下面这个:

下载完以后,解压到hadoop的native目录下,覆盖原有文件即可

tar xvf hadoop-native-64-2.6.0.tar -C /usr/local/hadoop/hadoop-2.6.0/lib/native/

注:关闭虚拟机的时候记得要关闭Hadoop的相关服务!!!

开启/关闭服务:

开启:sbin/start-all.sh=sbin/start-dfs.sh+sbin/start-yarn.sh

关闭:sbin/stop-all.sh=sbin/stop-dfs.sh+sbin/stop-yarn.sh

当出现问题的解决方案:十分暴力!!!

出现问题:最重要的一个因素需要考虑,需要考虑“磁盘空间”问题!!!

删除文件:rm -rf /usr/local/hadoop/hadoop-2.6.0/tmp/

a. 格式化namenode(是对namenode进行初始化)

hdfs namenode -format (hadoop namenode -format)

b. 启动hadoop

cd /usr/local/hadoop/hadoop-2.6.0

先启动HDFS

sbin/start-dfs.sh

再启动YARN

sbin/start-yarn.sh

标签: #虚拟机伪分布式hadoop