搭建hadoop单机模式

搭建单机式hadoop个人学习博客

首先建议大家确定自己要使用的linux、java、hadoop等的版本,查找资料比较方便,另外注意hadoop用户和hadoop软件是不同的,用户是你创建的,软件是下载的,本文都是简称hadoop。
博主的环境:
JAVA: 1.8【1.9及以上版本会warning,但不影响】
ubuntu: 16.04.6
hadoop: 2.6.5
由于希望记录全面,以便之后搭建伪分布式以及真实的集群,重新安装vm并新建了虚拟机

初始准备流程
  1. 安装ubuntu,自定义安装
  2. 注意:宿主机强制关机,会导致虚拟机产生错误,博主试验了各种方法,最后只能重装虚拟机
  3. 设置网卡为nat模式
  4. 安装vim:sudo apt-get install vim,如果失败则:sudo apt-get update,之后再安装vim,如果连不上网,先把网卡设置为桥接模式
  5. 设置静态ip,否则重新登录时ip会更换
    【记录一下更改ip时遇到的问题】
    博主参考了网上多篇博文,这是其中一篇,然而/etc/resolv.conf总是会被覆盖,最后发现重启即可,此处浪费了很多时间。
  6. 测试网络:ping [ipaddr],包括虚拟机与主机、虚拟机之间、虚拟机与外网
  7. ssh连接教程,系转载
  8. 设置root密码:sudo passwd root,之后设置即可
搭建haoop
  1. 创建hadoop用户并登录,再设置hadoop免密登录ssh(这一步可以等到搭建伪分布以及集群时使用)
sudo addgroup hadoop	#创建Hadoop组
sudo adduser --ingroup hadoop hadoop		#创建hadoop用户并加入hadoop组
sudo usermod -aG sudo hadoop	#赋予管理员权限
sudo apt-get install openssh-server	#安装ssh
sudo /etc/init.d/ssh start 	#开启
ps -e | grep ssh #查看服务是否启动
su hadoop  #登录hadoop用户
ssh-keygen -t rsa -P "" #设置免密登录
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh localhost  #测试
  1. 安装java,系转载,因为hadoop是基于java的,注意hadoop没有/opt的w权限,使用chmod命令更改【博主是在win下载,再ssh到虚拟机中】【如果jdk不是博文中的版本,记得更改命令中的版本号】
  2. 安装hadoop-2.6.5【win下载再ssh至虚拟机】
1. 进入你选择的安装目录,执行:sudo tar -xzf hadoop-2.6.5.tar.gz,等待一段时间
2. sudo chown -R hadoop:hadoop /home/hadoop/hadoop-2.6.5,将文件权限更改为hadoop用户
3. 进入安装目录下的/etc/hadoop文件夹,更改hadoop-env.sh如下:
export JAVA_HOME=${JAVA_HOME} 
export HADOOP_HOME=/home/hadoop/hadoop-2.6.5
export PATH=$PATH:${HADOOP_HOME}/bin
4. 保存退出后,执行:source /home/hadoop/hadoop-2.6.5/etc/hadoop/hadoop.env.sh
5. 输入 hadoop version测试
  1. Ubuntu切换用户su和su-的区别,系转载,博主在测试环境变量时,发现了知识盲区,建议学习一下。
  2. 安装hadoop以后,需要配置环境如下:
1. 在hadoop用户的~/.profile目录下:
export HADOOP_HOME="$HOME/hadoop-2.6.5"
export PATH="$PATH:$HOME/bin:$HOME/.local/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin"
测试时发现hadoop软件在开启namenode、datanode等时,没法读取JAVA_HOME以及HADOOP_HOME
报错:JAVA_HOME或者HADOOP_CONF_DIR not set 之类的,解决方法就是设置绝对路径
2. vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh,修改:export JAVA_HOME=绝对路径,即你安装java的路径。
以及:$HADOOP_CONF_DIR=/home/hadoop/hadoop-2.6.5/etc/hadoop(根据你的绝对路径修改)
3. 配置core-site.xml:
<configuration>
   <property>
       <name>fs.defaultFS</name>
       <value>hdfs://localhost:9000</value>
   </property>
</configuration>
4. 配置hdfs-site.xml:
<configuration>
   <property>
       <name>dfs.replication</name>
       <value>1</value>
   </property>
</configuration>
5. exit退出,重新登录hadoop用户。输入echo $PATH,查看是不是第一步的配置。
6.  格式化hadoop:hdfs namenode -format
7. 启动:start-dfs.sh
8. 测试启动成功:jps,成功类似如下:
56131 Jps
54506 NameNode
54622 DataNode
54798 SecondaryNameNode

本文参考了以下文章:

  1. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)
  2. windows通过ssh连接虚拟机中的ubuntu步骤
  3. ubuntu16.04下安装Java8详细教程
  4. 在Ubuntu中安装Hadoop2.6.5
  5. Ubuntu切换用户su和su-的区别
  6. ubuntu环境变量区别
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值