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

hadoop 安装

2013-11-07 10:58 441 查看
终于开始写第一篇正式的博客啦,才开始研究hadoop,安装的时候花了很大力气。伪分布式很好安装 ,但是到了完全分布模式的时候就各种问题,后来发现还是自己基础不好,改了参数后没有reboot,最后出了各种离奇的错误。解决方案都是重新配置。 里面有很多步骤是在各处搜到的

Hadoop 集群支持三种运行模式:单机模式,伪分布式模式和完全分布式模式。

1)单机模式

适合开始时做调试工作

2)伪分布式模式

可以再单节点上以伪分布式模式运行,用不同的Java进程模拟分布式运行中的各类节点

3)完全分布式模式

作者:lvlu

Ubuntu版本:13.04

Hadoop版本:1.2.1

安装路径:/usr/local/hadoop/

一、常见hadoop用户组和用户:

1、 创建hadoop用户组:

sudo addgroup hadoop

2、 创建hadoop用户

sudo adduser –ingroup hadoop hadoopuser

3、 给hadoopuser用户添加权限,打开/etc/sudoers文件:

sudo gedit /etc/sudoers

在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL

二、安装ssh服务 sudo apt-get install openssh-server

三、建立ssh无密码登陆本机

首先要转换成hadoopuser用户,执行以下命令 su hadoopuser

1、 创建ssh-keygen,命令为: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

如图:

2、 进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的;

cd ~/.ssh

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3、 登录localhost;

ssh localhost

4、 执行退出命令; exit

四、安装hadoop

1、假设hadoop-1.2.1.tar.gz在主目录下的“下载”中,将它复制到/usr/local/下:

sudo mkdir hadoop

sudo cp hadoop-1.2.1.tar.gz /usr/local/hadoop

2、解压hadoop-1.2.1.tar.gz

cd /usr/local/hadoop

sudo tar -zxf hadoop-1.2.1.tar.gz

3、将该hadoop文件夹的属主用户设为hadoopuser

sudo chown -R hadoop:hadoopuser hadoop

4、打开hadoop/conf/hadoop-env.sh文件;

sudo gedit hadoop/conf/hadoop-env.sh

5、配置conf/hadoop-env.sh(找到#export JAVA_HOME=...,去掉#,然后加上本机jdk的路径);

export JAVA_HOME=/usr/localjava/jdk1.7.0

6、打开conf/core-site.xml文件;(建立集群模式时所有localhost都改成namenode的ip)

sudo gedit hadoop/conf/core-site.xml

编辑如下:

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

7、打开conf/mapred-site.xml文件;

sudo gedit hadoop/conf/mapred-site.xml

编辑如下:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>

8、打开conf/hdfs-site.xml文件;

sudo gedit hadoop/conf/hdfs-site.xml

编辑如下:

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

9、打开conf/masters文件,添加作为secondarynamenode的主机名,作为单机版环境,这里只需填写 localhost 就Ok了

sudo gedit hadoop/conf/masters

10、打开conf/slaves文件,添加作为slave的主机名,一行一个。作为单机版,这里也只需填写 localhost就Ok了。

sudo gedit hadoop/conf/slaves

我自己没敲,默认就是localhost,千万别修改为127.0.0.1 localhost虽然正式的多台机器是这样的写法,但是单台机器不需要前面的ip地址,否则会报错

11.集群模式时,master和slaves分别写上namenode的ip和datanode的ip。

五、在单机上运行hadoop

1、进入hadoop目录下,格式化hdfs文件系统,初次运行hadoop时一定要有该操作,

cd /usr/local/hadoop/

bin/hadoop namenode -format

若出现:

则是因为权限不够所引起的,应该用sudo 执行

按大写Y

提示已经格式化成功。

2、启动bin/start-all.sh

bin/start-all.sh

详情查看官网:http://hadoop.apache.org/docs/r1.2.1/single_node_setup.html

相关问题

1. put: Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused

解决方案:一般jps后发现namenode没有运行,格式化namenode.重新启动hadoop

Namenode格式化后解决Hadoop namenode -format

Start-all.sh

2. 在jobtracker网页上找不到datanode

解决方案,一般由于格式化次数太多或者从伪分布式改成集群模式时临时文件没有删干净造成。先去 vi /etc/hosts 把是个虚拟机的ip改好 然后再去/usr/local/hadoop 里面把三个datanode的ip加到slave里面 把namenode的ip加到master里面 再去/usr/local/hadoop/conf 里面修改core-site.sh 里面hdfs的ip 改成namenode的 还有mmapred-site.xm的改namenode的ip 一起都要改 然后reboot。(所有系统文件参数的修改后都要reboot)

然后在主文件夹下面删除hadoop_tmp 在重新建一个同名文件夹 最后hadoop namenode -format 格式化(格式化只在namenode上就可以,其他的步骤几个节点都要做) 理论上就可以用了!

Ubuntu版本:13.04

Jdk版本:1.7.0

安装路径:/usr/local/java/jdk1.7.0

安装过程:

1、 下载jdk安装包jdk-7-linux-i586.tar.gz

2、 复制jdk到安装目录

a) 假设安装包在主目录下的“下载”目录里,要安装到/usr/local/java中。先在/usr/local中创建java目录

b) 切换到“下载”目录下,执行复制:

3、 安装jdk

a) 解压安装包jdk-7-linux-i586.tar.gz 使用命令:sudo tar zxvf ./ jdk-7-linux-i586.tar.gz -C /usr/local/java/

4、 配置环境变量

a) 打开/etc/profile文件

b) 添加环境变量

export JAVA_HOME=/usr/localjava/jdk1.7.0

export JRE_HOME=/usr/localjava/jdk1.7.0/jre

export CLASSPATH=$CLASSPATH: .:$JAVA_HOME/lib:$JRE_HOME/lib

一般更改/etc/profile文件后,需要重启机器才能生效。也有不用重启使其生效的方法,

7、 进入 /usr/bin/目录

这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

c) 查看java环境变量是否设置成功:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: