设为首页 收藏本站
查看: 1707|回复: 0

[经验分享] Ubuntu16.04 下 hadoop的安装与配置(伪分布式环境)

[复制链接]

尚未签到

发表于 2017-12-18 13:30:09 | 显示全部楼层 |阅读模式
  注:本文有参考 这篇文章 ,但因其中有部分错误,所以在实际操作中遇到了很大的困扰,于是写成了这篇文章供大家使用

一、准备

1.1创建hadoop用户
  

$ sudo useradd -m hadoop -s /bin/bash  #创建hadoop用户,并使用/bin/bash作为shell  
$
sudo passwd hadoop                   #为hadoop用户设置密码,之后需要连续输入两次密码  
$
sudo adduser hadoop sudo             #为hadoop用户增加管理员权限  
$
su - hadoop                          #切换当前用户为用户hadoop  
$
sudo apt-get update                  #更新hadoop用户的apt,方便后面的安装  


1.2安装SSH,设置SSH无密码登陆
  

$ sudo apt-get install openssh-server   #安装SSH server  
$
ssh localhost                         #登陆SSH,第一次登陆输入yes  
$ exit                                  #退出登录的ssh localhost
  
$ cd
~/.ssh/                            #如果没法进入该目录,执行一次ssh localhost  
$
ssh-keygen -t rsa    

  输入完  $ ssh-keygen -t rsa 语句以后,需要连续敲击三次回车,如下图:
DSC0000.png

  其中,第一次回车是让KEY存于默认位置,以方便后续的命令输入。第二次和第三次是确定passphrase,相关性不大。两次回车输入完毕以后,如果出现类似于下图所示的输出,即成功:
DSC0001.jpg

  之后再输入:
  

$ cat ./id_rsa.pub >> ./authorized_keys #加入授权  
$
ssh localhost                         #此时已不需密码即可登录localhost,并可见下图。如果失败则可以搜索SSH免密码登录来寻求答案  

DSC0002.png


二、安装jdk1.7
  首先在oracle官网下载jdk1.7 http://www.oracle.com/technetwork/java/javase/downloads/index.html 接下来进行安装与环境变量配置,根据个人电脑系统选择对应版本,我选的是jdk-7u80-linux-x64.tar.gz
  

  

  

$ mkdir /usr/lib/jvm                           #创建jvm文件夹  
$
sudo tar zxvf jdk-7u80-linux-x64.tar.gz  -C /usr/lib #/ 解压到/usr/lib/jvm目录下  
$ cd
/usr/lib/jvm                                 #进入该目录  
$
mv  jdk1.7.0_80 java                         #重命名为java  
$
vi ~/.bashrc                                 #给JDK配置环境变量  

  注:其中如果权限不够,无法在相关目录下创建jvm文件夹,那么可以使用 $ sudo -i  语句进入root账户来创建文件夹。
  另外推荐使用vim来编辑环境变量,即最后一句使用指令
  

$ vim ~/.bashrc   

  如果没有vim,可以使用:
  

$sudo apt-get install vim  

  来进行下载。
  

  

DSC0003.png

  在.bashrc文件添加如下指令:
  

export JAVA_HOME=/usr/lib/jvm/java  
export JRE_HOME
=${JAVA_HOME}/jre
  
export>=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH
=${JAVA_HOME}/bin:$PATH  

  在文件修改完毕以后,输入代码:
  

$ source ~/.bashrc                       #使新配置的环境变量生效  
$ java
-version                          #检测是否安装成功,查看java版本  

  如果出现如下图所示的内容,即为安装成功
DSC0004.png

  注:如果各位不想一个一个的敲击,可以复制黏贴,但因为vim不支持系统粘贴板,所以需要先下载相关插件vim-gnome
  

sudo apt-get install vim-gnome  

  然后复制相关代码,光标移到指定位置,使用指令 "+p,即可复制,注意 " 也是需要敲击的内容,即一共有 " 、+、p 三个操作符需要敲入

三、安装hadoop-2.6.0
  先下载hadoop-2.6.0.tar.gz,链接如下:
  http://mirrors.hust.edu.cn/apache/hadoop/common/
  下面进行安装:
  

$ sudo tar -zxvf  hadoop-2.6.0.tar.gz -C /usr/local    #解压到/usr/local目录下  
$ cd
/usr/local  
$
sudo mv  hadoop-2.6.0    hadoop                      #重命名为hadoop  
$
sudo chown -R hadoop ./hadoop                        #修改文件权限  

  给hadoop配置环境变量,将下面代码添加到.bashrc文件:
  

export HADOOP_HOME=/usr/local/hadoop  
export>=$($HADOOP_HOME/bin/hadoop>
export HADOOP_COMMON_LIB_NATIVE_DIR
=$HADOOP_HOME/lib/native  
export PATH
=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin  

DSC0005.png

  同样,执行source ~./bashrc使设置生效,并查看hadoop是否安装成功
DSC0006.jpg


四、伪分布式配置
  Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。首先将jdk1.7的路径添(export JAVA_HOME=/usr/lib/jvm/java )加到hadoop-env.sh文件
DSC0007.png

  接下来修改core-site.xml文件:
  

<configuration>  <property>
  <name>hadoop.tmp.dir</name>
  <value>file:/usr/local/hadoop/tmp</value>
  <description>Abase for other temporary directories.</description>
  </property>
  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://localhost:9000</value>
  </property>
  
</configuration>
  

DSC0008.png

  接下来修改配置文件 hdfs-site.xml
  

<configuration>  <property>
  <name>dfs.replication</name>
  <value>1</value>
  </property>
  <property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/usr/local/hadoop/tmp/dfs/name</value>
  </property>
  <property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/usr/local/hadoop/tmp/dfs/data</value>
  </property>
  
</configuration>
  

DSC0009.png

  Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(可参考官方教程),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。
  配置完成后,执行 NameNode 的格式化
  

  

  

$ ./bin/hdfs namenode -format  

  启动namenode和datanode进程,并查看启动结果
  

  

  

$ ./sbin/start-dfs.sh  
$ jps
  

  启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”
DSC00010.png

  此时也有可能出现要求输入localhost密码的情况 ,如果此时明明输入的是正确的密码却仍无法登入,其原因是由于如果不输入用户名的时候默认的是root用户,但是安全期间ssh服务默认没有开root用户的ssh权限
  输入代码:
  

$vim /etc/ssh/sshd_config  

  检查PermitRootLogin 后面是否为yes,如果不是,则将该行代码 中PermitRootLogin 后面的内容删除,改为yes,保存。之后输入下列代码重启SSH服务:
  

$ /etc/init.d/sshd restart  

  即可正常登入(免密码登录参考第一章)
  成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。
DSC00011.png

  至此,hadoop的安装就已经完成啦!enjoy it!
  

  

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-425383-1-1.html 上篇帖子: Hadoop MapReduce编程 API入门系列之挖掘气象数据版本2(十) 下篇帖子: Hadoop学习笔记(一)——编译安装和配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表