y23335793 发表于 2017-12-17 06:13:10

Hadoop详细安装步骤

  hadoop安装:(分布式模式)
  参考地址:http://dblab.xmu.edu.cn/blog/install-hadoop/
  http://dblab.xmu.edu.cn/blog/install-hadoop-cluster/
  1、安装包准备, Ubuntu 14.04 64位 作为系统环境;hadoop2版本:hadoop2.6.0
  2、虚拟机完毕后,nat模式下设置静态ip
  --此时如果你的虚拟机没有网时,注意在虚拟机的虚拟网络编辑器里面,将联网模式改成nat或者桥接模式(速度较快)
  先更新ubantu:sudo apt-get update
  先安装vim编辑器:sudo apt-getinstall vim
  Ubantu设置ip:
  1、sudo vim /etc/NetworkManager/NetworkManager.conf
  将false改成true
  2、修改配置文件/etc/network/interfaces
  sudo vim/etc/network/interfaces
  添加以下内容:(具体ip根据nat下面的地址来配喔)
  auto eth0                                             //设置自动启动eth0接口
  iface eth0 inet static                                  //配置静态IP
  address 192.168.66.106 //IP地址
  netmask255.255.255.128                              //子网掩码
  gateway192.168.66.2//网关和nat配置中要一致,下面的dns也得这样
  dns-nameservers 192.168.66.2

  3、重启网络,使配置生效:sudo /etc/init.d/networking restart
  4、重启机器:sudoshutdown -r now
  3、查看有无ssh ①.ssh localhost ②.没有则安装ssh:sudo apt-get install ssh
  4、ssh 互信生产密钥:进入.ssh目录下;执行命令: ssh-keygen -t rsa ;cat ./id_rsa.pub >> ./authorized_keys
  并将authorized_keys scp给下面的datanode节点的机器
  5、安装Java环境
  sudo apt-get install openjdk-7-jre openjdk-7-jdk
  6、配置环境变量$JAVA_HOME
  ①、查询java_home目录:
  dpkg -L openjdk-7-jdk | grep '/bin/javac' 结果 /bin/javac 之前为JAVA_HOME路径
  ②、在 ~/.bashrc 中进行设置$JAVA_HOME环境变量:export JAVA_HOME=JDK安装路径
  7、创建hadoop用户
  sudo useradd -m hadoop -s /bin/bash                         #创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell。
  sudo passwd hadoop#设置密码
  sudo adduser hadoop sudo                                    #hadoop 用户增加管理员权限
  8、安装Hadoop2
  ①、sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local    # 解压到/usr/local中
  ②、cd /usr/local/                                          # 就安装到/usr/local中
  ③、sudo mv ./hadoop-2.6.0/ ./hadoop                        # 将文件夹名改为hadoop
  ④、sudo chown -R hadoop ./hadoop                           # 修改文件权限
  9、Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
  cd /usr/local/hadoop
  ./bin/hadoop version
  10、因为要使用命令更加方便不再使用"./"命令来执行,故配置环境变量 $PATH
  ①、在 ~/.bashrc 中进行设置$PATH环境变量:export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin   
  注释:/etc/usr/local/hadoop/bin 此目录为hadoop操作命令
  /etc/usr/local/hadoop/bin 此目录为hadoop开启关闭命令
  11、此时如果运行hadoop时会报错,说$JAVA_HOME未配置
  原因在于还需更改配置文件:
  sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
  需要将里面配置的$JAVA_HOME的环境变量改为绝对路径: export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
  12、Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
  cd /usr/local/hadoop
  ./bin/hadoop version
  13、节点机器名称和ip映射关系配置
  节点机器名配置:sudo vim /etc/hostname
  namenode ----Master
  datenode ----Slave1
  节点机器映射关系配置:/etc/sysconfig/network
  192.168.1.121   Master
  192.168.1.122   Slave1
  13、分布式模式还需配置:
  ①、/usr/local/hadoop/etc/hadoop/ 路径下hadoop的配置文件,用于配置namenode,datanode等
  一, 文件 slaves,将作为 DataNode 的主机名写入该文件,每行一个,默认为 localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 DataNode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅作为 NameNode 使用。
  本教程让 Master 节点仅作为 NameNode 使用,因此将文件中原来的 localhost 删除,只添加一行内容:Slave1。
  二、文件 core-site.xml 改为下面的配置:
  <configuration>
  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://Master:9000</value>
  </property>
  <property>
  <name>hadoop.tmp.dir</name>
  <value>file:/usr/local/hadoop/tmp</value>
  <description>Abase for other temporary directories.</description>
  </property>
  </configuration>
  三、文件 hdfs-site.xml,dfs.replication 一般设为 3,但我们只有一个 Slave 节点,所以 dfs.replication 的值还是设为 1:
  <configuration>
  <property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>Master:50090</value>
  </property>
  <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>
  四、文件 mapred-site.xml (可能需要先重命名,默认文件名为 mapred-site.xml.template),然后配置修改如下:
  <configuration>
  <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  </property>
  <property>
  <name>mapreduce.jobhistory.address</name>
  <value>Master:10020</value>
  </property>
  <property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>Master:19888</value>
  </property>
  </configuration>
  五、文件 yarn-site.xml:
  <configuration>
  <property>
  <name>yarn.resourcemanager.hostname</name>
  <value>Master</value>
  </property>
  <property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
  </property>
  </configuration>
  六、Slave1 datanode节点同样配置如上。
  14、配置完后初始化配置:
  hdfs namenode -format
  15、启动 hadoop 了,启动需要在 Master 节点上进行:
  start-all.sh
  或
  start-dfs.sh
  start-yarn.sh
  mr-jobhistory-daemon.sh start historyserver
  16、通过jps命令查看hadoop进程
  此时Msater有五个进程,Slave1 有三个进程
  另外还需要在 Master 节点上通过命令 hdfs dfsadmin -report 查看 DataNode 是否正常启动,如果 Live datanodes 不为 0 ,则说明集群启动成功。
  例如我这边一共有 1 个 Datanodes: 结果就为1
  也可以通过 Web 页面看到查看 DataNode 和 NameNode 的状态:http://master:50070/。
  17、首先创建 HDFS 上的用户目录:
  hadoop fs -mkdir -p /user/hadoop
  将 /usr/local/hadoop/etc/hadoop 中的配置文件作为输入文件复制到分布式文件系统中:
  hadoop fs -mkdir input
  hadoop fs -put /usr/local/hadoop/etc/hadoop/*.xml input
  接着就可以运行 MapReduce 作业了:(在hdfs上的input目录所有文件中,查询dfs开头;执行比较慢,大概6分钟)
  hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs+'
  可以通过 Web 界面查看任务进度 http://master:8088/cluster
  SUCCEEDED 表示完成
  18、关闭 Hadoop 集群也是在 Master 节点上执行的:
  stop-all.sh
  或
  stop-yarn.sh
  stop-dfs.sh
  mr-jobhistory-daemon.sh stop historyserver
页: [1]
查看完整版本: Hadoop详细安装步骤