ubuntu下搭建hadoop2.7.4+sqoop

前端之家收集整理的这篇文章主要介绍了ubuntu下搭建hadoop2.7.4+sqoop前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

主要参考视频: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.gz
cd /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 NodeManager
8929 NameNode
9394 ResourceManager
9235 SecondaryNameNode
14409 Jps
9039 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.4
export PATH=$HADOOP_HOME/bin:$PATH

export SQOOP_HOME=/opt/sqoop-1.4.6
export PATH=$SQOOP_HOME/bin:$PATH
原文链接:https://www.f2er.com/ubuntu/350817.html

猜你在找的Ubuntu相关文章