【魄爺】 发表于 2017-12-17 12:48:29

在ubuntu系统下装hadoop

  1.环境:ubuntu、hadoop2.7.3
  2.在Ubuntu下创建hadoop用户组和用户
  ① 添加hadoop用户到系统用户

  ② 现在只是添加了一个用户hadoop,它并不具备管理员权限,我们给hadoop用户添加权限,打开/etc/sudoers文件
  命令:sudo vi /etc/sudoers
  ③ 在rootALL=(ALL:ALL)ALL下添加hadoopALL=(ALL:ALL)ALL
  此文件为只读文件,修改后强制保存::wq!
  3.安装ssh服务
  命令:sudo apt-get install ssh openssh-server
  4.使用ssh进行无密码验证登录
  ① 先进入hadoop用户
  命令: su hadoop
  ② 作为一个安全通信协议(ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式),使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:

  (注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的前者为私钥,后者为公钥)
  进入~/.ssh/目录下,将公钥id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的(authorized_keys 用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):
  命令:cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
  ③ 然后即可无密码验证登录了
  命令:ssh localhost

  5.下载Hadoop安装包
  官网地址:
  https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/

  6.解压缩Hadoop安装包

  要确保所有的操作都是在用户hadoop下完成的,所以将该hadoop文件夹的属主用户设为hadoop
  命令:sudo chown -R hadoop:hadoop hadoop
  7.安装Java

  8.配置Hadoop中相应的文件
  需要配置的文件如下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml,所有的文件均位于/usr/local/hadoop/etc/hadoop下面,具体需要的配置如下:
  ① 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>
  ② mapred-site.xml.template配置如下:
  <configuration>
  <property>
  <name>mapred.job.tracker</name>
  <value>localhost:9001</value>
  </property>
  </configuration>
  ③ 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>
  其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。
  补充,如果运行Hadoop的时候发现找不到jdk,可以直接将jdk的路径放置在hadoop-env.sh里面,具体如下:
  export JAVA_HOME="/usr/local/jdk1.8.0_91"
  9.运行Hadoop
  ① 初始化HDFS系统
  命令:bin/hdfs namenode -format


  ② 开启NameNode和DataNode守护进程
  命令:sbin/start-dfs.sh,成功如下:

  ③ 查看进程信息
  命令:jps

  ④ 查看Web UI
  在浏览器输入http://192.168.86.126:50070/

  10.运行WordCount Demo
  ① 在本地新建一个文件,在/home/download/wangling目录下新建了一个words文档,里面的内容可以随便填写。此words里写的如下:
  quux labs foo bar quux
  ② 在HDFS中新建一个文件夹,用于上传本地的words文档,在hadoop目录下输入如下命令:
  命令:bin/hdfs dfs -mkdir /test,表示在hdfs的根目录下建立了一个test目录
  使用如下命令可以查看HDFS根目录下的目录结构
  命令:bin/hdfs dfs -ls /

  ③ 将本地words文档上传到test目录中
  命令:bin/hdfs dfs -put /home/download/wangling/words /test/

  表示已经将本地的words文档上传到了test目录下了。
  ④ 运行wordcount
  命令:bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/words /test/out
  运行完成后,在/test目录下生成名为out的文件
  查看命令:bin/hdfs dfs -ls /test

  ⑤ 查看运行结果
  命令:bin/hdfs dfs -ls /test/out
  bin/hadoop fs -cat /test/out/part-r-00000
页: [1]
查看完整版本: 在ubuntu系统下装hadoop