Hadoop单节点安装

发表于:2017-5-16 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:doc001    来源:简书

  环境
  一台ubuntu 14.04虚拟机。
  Hadoop版本:2.6.0。
  增加用户
  为了隔离Hadoop和其它软件,可以新建一个用户hduser和用户组hadoop来专门运行Hadoop:
  sudo addgroup hadoop
  sudo adduser --ingroup hadoop hduser
  配置SSH免秘钥登陆
  Hadoop使用SSH管理节点,需要为相关的远程机器和本机配置SSH免密码登陆。
  首先,生成SSH秘钥,生成的私钥文件默认位置是~/.ssh/id_rsa.pub:
  ssh-keygen -t rsa -P ""
  将私钥写入~/.ssh/authorized_keys:
  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  尝试使用ssh登陆localhost,应该不再需要输入密码:
  ssh localhost
  准备依赖软件
  确保本机上安装有JDK。安装JDK:
  sudo apt-get update
  sudo apt-get install default-jdk
  确保安装节点上有ssh,且sshd已经运行。安装ssh:
  sudo apt-get install ssh
  安装rsync:
  sudo apt-get install rsync
  安装Hadoop
  下载Hadoop安装文件:
  >
  wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz
  解压缩安装包:
  >
  tar xfz hadoop-2.6.0.tar.gz
  设置Hadoop根路径环境变量。本次安装路径为/usr/local/hadoop,后续的一些命令会使用到该路径:
  export HADOOP_HOME=/usr/local/hadoop
  移动安装包到Hadoop根路径:
  sudo mv hadoop-2.6.0 $HADOOP_HOME
  将安装目录的属主修改为hduser:
  sudo chown hduser $HADOOP_HOME
  配置Hadoop
  1. 设置JAVA_HOME环境变量
  通过以下命令,可以获知JAVA_HOME环境变量的值:
  update-alternatives --config java
  在本机上显示结果如下:
  There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
  Nothing to configure.
  那么JAVA_HOME应该为/jre/bin/java前面的部分,也即:
  /usr/lib/jvm/java-7-openjdk-amd64
  2. 配置./bashrc
  我打算将相关路径写到.bashrc下,这样,登陆用户时,就会自动加载。使用VIM编辑.bashrc:
  vim ~/.bashrc
  在.bashrc中添加相关环境变量:
#HADOOP
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

  应用环境变量:
  source ~/.bashrc
  3. 配置$HADOOP_HOME/etc/hadoop/hadoop-env.sh
  编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件,设置JAVA_HOME:
  sudo vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
  找到其中的JAVA_HOME变量,修改为:
  >
  export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
  4. 配置$HADOOP_HOME/etc/hadoop/core-site.xml
  编辑$HADOOP_HOME/etc/hadoop/core-site.xml文件:
  sudo vim $HADOOP_HOME/etc/hadoop/core-site.xml
  在<configuration></configuration>之间加入HDFS的配置(HDFS的端口配置在9000):
  <property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:9000</value>
  </property>
  5. 配置$HADOOP_HOME/etc/hadoop/yarn-site.xml
  编辑$HADOOP_HOME/etc/hadoop/yarn-site.xml文件:
  sudo vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
  在<configuration></configuration>之间加入以下内容:
<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>
  6. 配置$HADOOP_HOME/etc/hadoop/mapred-site.xml
  HADOOP_HOME目录下有一个配置模板$HADOOP_HOME/etc/hadoop/mapred-site.xml.template,先拷贝到$HADOOP_HOME/etc/hadoop/mapred-site.xml。
  cp $HADOOP_HOME/etc/hadoop/mapred-site.xml{.template,}
  编辑$HADOOP_HOME/etc/hadoop/mapred-site.xml文件:
  sudo vim $HADOOP_HOME/etc/hadoop/mapred-site.xml
  在<configuration></configuration>之间加入以下内容:
  <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  </property>
  7. 准备数据存储目录
  假设准备将数据存放在/mnt/hdfs,方便起见,现将其设为一个环境变量:
  export HADOOP_DATA_DIR=/mnt/hdfs
  创建DataNode和NameNode的存储目录,同时将这两个文件夹的属主修改为hduser:
  sudo mkdir -p $HADOOP_DATA_DIR/namenode
  sudo mkdir -p $HADOOP_DATA_DIR/datanode
  sudo chown hduser /mnt/hdfs/namenode
  sudo chown hduser /mnt/hdfs/datanode
  8. 配置$HADOOP_HOME/etc/hadoop/hdfs-site.xml
  编辑$HADOOP_HOME/etc/hadoop/hdfs-site.xml文件:
  sudo vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
  在<configuration></configuration>之间增加DataNode和NameNode的配置,如下:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/mnt/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/mnt/hdfs/datanode</value>
</property>
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号