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

Hadoop学习笔记一(hadoop伪分布式搭建)

2016-03-08 19:06 567 查看

hadoop伪分布式搭建

安装JDK

1) 创建文件夹

mkdir ~/jdk1.8

2) 解压文件到这个目录下

mv jdk-8u60-linux-x64.tar.gz jdk1.8

tar -xzvf jdkxxx.tar.gz

3) 将新安装的的java添加到环境变量中

vi ~/.bash_profile

JAVA_HOME=/home/hadoop/jdk1.8/jdk1.8.0_60;export JAVA_HOME

PATH=$JAVA_HOME/bin:/usr/bin:/usr/sbin/:/sbin:/bin:$PATH;export PATH


4) 重新执行.bash_profile,使得新的环境变量生效。并查看java版本

#. ~/.bash_profile

#java -version

java version "1.8.0_60"

Java(TM) SE Runtime Environment (build 1.8.0_60-b27)

Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)


安装hadoop。hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop,伪分布式需要修改5个配置文件.

1) 配置hadoop

修改第一个配置文件hadoop-env.sh(主要是制定java_home)

#第27行

export JAVA_HOME=/home/hadoop/jdk1.8/jdk1.8.0_60


修改第二个配置文件core-site.xml(指定NameNode的地址)

#在\<Configuration>\</configuration>中新增

<!-- 制定HDFS的老大(NameNode)的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://DEVSRV3-SIT.localdomain:9000</value>

</property>

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

<property>

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

<value>/tmp</value>

</property>


修改第三个配置文件hdfs-site.xml

<!-- 制定hdfs副本的数量 -->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>


修改第四个配置文件mapred-site.xml(没有这个文件,可以cp或者mv出来)

<!--执行mapreduce运行在yarn上 -->

<property>

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

<value>yarn</value>

</property>


修改第五个文件:yarn-site.xml

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

<property>

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

<value>DEVSRV3-SIT.localdomain </value>

</property>

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

<property>

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

<value>mapreduce_shuffle</value>

</property>


2) 将hadoop添加到环境变量中.bash_profile中,之后source ~/.bash_profile。如果终端上有hadoop命令提示,则代表路径配置成功.

HADOOP_HOME=/home/hadoop/hadoop-2.7.1;export HADOOP_HOME

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


3) 格式化namenode(也叫初始化namenode)

hdfs namenode -format


4) 启动hadoop

先启动hdfs,需要多次输入yes,会使用ssh免密码登录。

start-dfs.sh

再启动YARN

start-yarn.sh

5) 验证是否启动成功

使用jps验证,应该包括下面内容:

28352 NameNode

23986 Jps

31474 DataNode

21923 NodeManager

21075 ResourceManager

3167 SecondaryNameNode


HDFS管理页面:

http://20.4.16.19:50070

MR管理页面

http://20.4.16.19:8088

配置SSH免密码登录

#生成ssh密钥

ssh-keygen -t rsa

#将id_rsa.pub拷贝到需要免登陆的机器上~/.ssh/authorized_keys中即可

#试验一下效果

ssh hadoop@localhost date

报错总结

hadoop namenode -format报错:

Invalid byte 2 of 2-byte UTF-8 sequence


这个错误是XML的编码是UTF8的,但是我们编辑的时候使用的xshell字符集是GBK,所以导致中文乱码。造成XML解析问题。

WARN: Unable to load native-hadoop library for your platform

I assume you’re running Hadoop on 64bit CentOS. The reason you saw that warning is the native Hadoop library $HADOOP_HOME/lib/native/libhadoop.so.1.0.0 was actually compiled on 32 bit.

Anyway, it’s just a warning, and won’t impact Hadoop’s functionalities.

start-yarn.sh启动后jps中没有nodeManager和ResourceManager,这里要看对应.out文件的log。本次是在配置yarn-site.xml中主机名后多了一
bacc
个空格造成的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: