首页 > 代码库 > hadoop伪分布下的sqoop基本安装配置

hadoop伪分布下的sqoop基本安装配置

    1.环境工具版本介绍

    centos6.4(Final)

    jdk-7u60-linux-i586.gz

    hadoop-1.1.2.tar.gz

    sqoop-1.4.3.bin__hadoop-1.0.0.tar.gz

    mysql-5.6.11.tar.gz

    2.安装centos

    参照网上Ultra的使用制作了U盘启动,直接格式化安装系统,具体做法网上资料很多,但注意最好不要在安装时改主机名称,也最好不要利用图形化界面添加用户,因为我出过问题重做了系统,这些terminal中都能完成的

    3.安装jdk

    安装好的centos中会有jdk的运行环境,需要先卸载它,因为它只带了jre环境,由于需要进行调试编译还是安装上jdk比较好,rpm -qa|grep jdk,查看已经安装的jdk版本,然后用命令将其卸载,注意机器需要联网,先配一下IP,    yum -y remove jdk 版本名称,将其卸载,然后进行jdk安装,这里采用解压的方式进行安装,还有一种是编译安装,就是文件中带有bin字样的包是编译安装的,这里直接解压就可以,我采用以下目录结构,如以下环境变量中所示,解压完成后放到/usr/java中,需要配置环境变量,vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_60

export JRE_HOME=/usr/java/jdk1.7.0_60

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:JRE_HOME/bin

然后Esc,保存退出

source /etc/profile

java -version

出现java版本,则说明jdk配置成功

    4.hadoop安装

    在此之前需要确保机器已经安装ssh协议,rpm -qa|grep ssh

    若有信息显示ssh等,说明机器里有ssh,否则需要安装,同样联网情况下yum命令进行安装,yum -y install ssh

    然后新建hadoop用户(这里名字你随意),groupadd hadoop,useradd -g hadoop hadoop(将hadoop添加到hadoop组中),然后切换hadoop用户,可以在sudoers中为hadoop添加sudo的权限,这里需要注意一下sudoers文件的访问权限,改完之后要重新改回去,在root    ALL=(ALL)    ALL下面添加hadoop    ALL=(ALL)    ALL,哦忘记提醒了,安装centos时最好采用English版进行安装,这样可能会带来许多方便,(你试了就知道了),su - hadoop。

    然后配置无密码登录,由于是伪分布,就在本电脑上配置了,sudo service sshd restart,ssh-keygen -t rsa -P ‘‘

回车again

然后生成的文件默认保存到了/home/hadoop/.ssh/中,然后cd /home/hadoop/.ssh

cat id_rsa.pub>>authorized_keys,(相关信息可以到/etc/ssh/sshd_config中查看),然后就可以完成无密码登录了,重启一下ssh服务,然后ssh localhost

即可无密码登录成功了!

    接下来安装hadoop,首先也是解压,然后放到/usr/local/hadoop中,然后需要进行一系列的文件的配置,需要配置环境变量,hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,配置信息就不在多说了,要注意配置完后要将hadoop文件夹的权限给到hadoop用户,sudo chown -R hadoop:hadoop /usr/local/hadoop/,然后source /etc/profile,hadoop namenode -format,进行首次格式化,不要事先建好tmp,name,data等文件路径,系统会自动创建,否则会导致节点启动异常,然后进行启动,start-all.sh,jps命令查看启动几点,一共应该是5个加jps共6个

namenode

datanode

jobtracker

tasktracker

sencondnamenode

jps

过程中出现过无数次的错误,其中可以确定的如果datanode没起来,很有可能是因为你格式化多次导致的版本号对应不上的问题具体解决办法:进入hadoop/data/current/,vim VERSION,其中的namespaceID,查看一下是否与name中的一致,如不一致请改成一致的,然后重新启动集群,不用格式化,尽量避免多次格式化,集群启动成功后可以运行一下自身带的例子。

    5.mysql的安装

    在这里介绍一个好的博客,本人就是他的安装完成的,实现需要yum 安装一些编译工具,centosmysqlInstall

    6.sqoop安装

    同样先解压,放到/usr/local/sqoop中,然后配置环境变量,然后查看是否配置成功sqoop version,然后进行相关的必须的配置,sqoop依赖hadoop中的hadoop-core.jar和mysql的连接jar包,均放到sqoop/lib中,然后需要改sqoop的配置文件如附件中所示:首先hadoop需要启动,然后进行mysql导入hdfs的操作,sqoop import --connect mysql://localhost:3306/databaseName --table tableName --username userName --password passWord -m 1,默认则导入到hdfs中去,以后可以配置hbase,hive等,然后查看导入情况:hadoop fs -cat /user/hadoop/test/part-m-00000,如导入过程出现问题,如果是因为版本的问题会提示MethodNotFoundExecption异常,若是别的异常则可以通过修改hdfs配置文件来解决,我就是这么解决的,然后好用了

在hdfs-site.xml中加入两个property属性,一个是安全问题,一个是权限问题

<name>dfs.permissions</name><value>false</value>

<name>dfs.safemode.threshold.pct</name><value>0</value>

此文是事后才开始写的,所以可能会有问题,如有不清楚的伙伴可以Q我,374492359

本文出自 “java笔记” 博客,请务必保留此出处http://maidoujava.blog.51cto.com/7607166/1533071