ubuntu下搭建hadoop2.7.4+sqoop

来源:互联网 发布:淘宝商盟 编辑:程序博客网 时间:2024/06/08 09:32

主要参考视频:https://edu.hellobi.com/course/93/lessons

1、安装虚拟机

这里直接用的阿里云主机,因为搭建虚拟机各种奇怪的问题。。

2、远程连接

其实这个步骤也是可以省略的,不过用Xshell5和Xftp5可以复制粘贴以及传文件都很方便

3、在linux下搭建hadoop(目前只是打了伪分布)

下载软件:

1、jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、Hadoop包:个人用的hadoop2.7.4,官网找

也可以在这个链接上下载:
链接:http://pan.baidu.com/s/1qYeDsss 密码:jjs1

步骤:

1、修改/etc/hosts

其实除了修改/etc/hosts是不够的,我阿里云的主机修改了这个文件,可主机名字还是之前那一串很长的字母。
还有一个文件需要修改,叫做/etc/hostname。

2、配置jdk

解压那个包即可安装。
然后编辑/etc/profile
在那个文件里面配置JAVA_HOME,并添加其中的bin目录到PATH中
source /etc/profile

3、配置SSH(免密码登陆)

ssh-keygen -t rsa
cat xxx.pub >> authorized_keys
chmod 644 authorized_keys
ssh IP/HOSTNAME

4、安装和配置hadoop

注意:原作者解包到了/opt目录中,所在目录为/opt/hadoop-2.7.2,并且主机名叫做bigdata,以后的xml文件请自行替换

tar zxf hadoop-2.7.2.tar.gzcd /opt/hadoop-2.7.2/etc/hadoop/

core-site.xml

<property>    <name>fs.default.name</name>    <value>hdfs://bigdata:9000</value>  </property> <property>    <name>hadoop.tmp.dir</name>    <value>/opt/hadoop-2.7.2/current/tmp</value>  </property> <property>    <name>fs.trash.interval</name>    <value>4320</value>  </property>

hdfs-site.xml

<property>   <name>dfs.namenode.name.dir</name>   <value>/opt/hadoop-2.7.2/current/dfs/name</value> </property> <property>   <name>dfs.datanode.data.dir</name>   <value>/opt/hadoop-2.7.2/current/data</value> </property> <property>   <name>dfs.replication</name>   <value>1</value> </property> <property>   <name>dfs.webhdfs.enabled</name>   <value>true</value> </property> <property>   <name>dfs.permissions.superusergroup</name>   <value>staff</value> </property> <property>   <name>dfs.permissions.enabled</name>   <value>false</value> </property>

yarn-site.xml

<property>   <name>yarn.resourcemanager.hostname</name>   <value>bigdata</value> </property> <property>   <name>yarn.nodemanager.aux-services</name>   <value>mapreduce_shuffle</value> </property> <property>   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>   <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property>   <name>yarn.resourcemanager.address</name>   <value>bigdata:18040</value> </property><property>   <name>yarn.resourcemanager.scheduler.address</name>   <value>bigdata:18030</value> </property> <property>   <name>yarn.resourcemanager.resource-tracker.address</name>   <value>bigdata:18025</value> </property> <property>   <name>yarn.resourcemanager.admin.address</name>   <value>bigdata:18141</value> </property><property>   <name>yarn.resourcemanager.webapp.address</name>   <value>bigdata:18088</value> </property><property>   <name>yarn.log-aggregation-enable</name>   <value>true</value> </property><property>   <name>yarn.log-aggregation.retain-seconds</name>   <value>86400</value> </property><property>   <name>yarn.log-aggregation.retain-check-interval-seconds</name>   <value>86400</value> </property><property>   <name>yarn.nodemanager.remote-app-log-dir</name>   <value>/tmp/logs</value> </property><property>   <name>yarn.nodemanager.remote-app-log-dir-suffix</name>   <value>logs</value> </property>

mapred-site.xml

<property>  <name>mapreduce.framework.name</name>  <value>yarn</value></property><property>  <name>mapreduce.jobtracker.http.address</name>  <value>bigdata:50030</value></property><property>  <name>mapreduce.jobhistory.address</name>  <value>bigdata:10020</value></property><property>  <name>mapreduce.jobhistory.webapp.address</name>  <value>bigdata:19888</value></property><property>  <name>mapreduce.jobhistory.done-dir</name>  <value>/jobhistory/done</value></property><property>  <name>mapreduce.intermediate-done-dir</name>  <value>/jobhisotry/done_intermediate</value></property><property>  <name>mapreduce.job.ubertask.enable</name>  <value>true</value></property>

slaves

bigdata

hadoop-env.sh

配置JAVA_HOME

4、安装遇到的问题

由于我之前装过一次hadoop,所以我把之前那些环境变量的配置文件,比如/etc/profile、/home/users/.bashrc这两文件都认真看了一遍,确定不会受之前装的hadoop的bin目录影响,可是后面在启动的时候,总是启动不了namenode,看了很久的日志没找到问题,直到在格式化的时候发现打印的消息指向的居然是我之前装的hadoop目录下的一个目录。
原来还有一个环境变量配置的文件,/etc/environment,删除其中前hadoop目录的路径就好了。
所以配置环境变量要关注3个文件
/etc/profile、/home/users/.bashrc和/etc/environment

5、测试是否安装成功

步骤:
1、格式化HDFS

hdfs namenode -format

‘16/09/0403:07:30 INFO common.Storage: Storage directory /opt/hadoop-2.7.2/current/dfs/namehas been successfully formatted.’

2、启动Hadoop集群

/opt/hadoop-2.7.2/sbin/start-all.sh

3、验证Hadoop集群

1)jps
会看到:

9505 NodeManager8929 NameNode9394 ResourceManager9235 SecondaryNameNode14409 Jps9039 DataNode

2)

关闭防火墙 或者 在防火墙的规则中开放这些端口

hdfs http://bigdata:50070

yarn http://bigdata:18088

6、sqoop

采用的sqoop-1.4.6。
这里也有一点问题,我一开始因为之前搭过hadoop和sqoop,所以就把以前的sqoop-1.4.6.tar,解压后在/etc/profile配置好SQOOP_HOME啥的,测试一下命令就报错了。

于是按照教程下载了sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar,就搞定了。
在/etc/profile加入:(包括了之前搭建hadoop的配置)

export HADOOP_HOME=/opt/hadoop-2.7.4export PATH=$HADOOP_HOME/bin:$PATHexport SQOOP_HOME=/opt/sqoop-1.4.6export PATH=$SQOOP_HOME/bin:$PATH
原创粉丝点击