Hadoop环境搭建

Hadoop版本

虽然CDH与社区版没有什么区别,但是推荐使用CDH版本,如果使用社区版,以后在生产环境中与其他框架整合时会有jar包冲突的问题。
CDH相关软件包下载地址:http://archive.cloudera.com/cdh5/cdh/5/
Hadoop使用版本:hadoop-2.6.0-cdh5.15.1
这里hadoop版本与社区版的hadoop2.6.0并不是同一个版本,而是cdh自定义的一个版本。所有的框架都与后面的cdh5.15.1版本一致。

Hadoop安装的前置条件

  • JDK 1.8+
  • ssh

安装JDK1.8

  1. 下载JDK:jdk-8u144-linux-x64.tar.gz
  2. 解压JDK:tar -zxvf jdk-8u144-linux-x64.tar.gz
  3. 添加环境变量,到/etc/profile文件中:
JAVA_HOME=/usr/jdk1.8.0_144
HADOOP_HOME=/home/duandingyang/app/hadoop-2.8.5
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
  1. 使环境变量生效:source /etc/profile
  2. 检查是否安装成功:java -version

安装SSH免密登录

首先在home目录下查看是否有.ssh文件夹,如果没有,则需要生成这个.ssh文件夹.

  1. 首先测试,输入命令ssh localhost,如果显示类似下面的界面,需要输入密码,说明没有配置ssh免密登录:
    在这里插入图片描述
  2. home目录下就会生成一个.ssh目录
  3. 输入命令ssh-keygen -t rsa,一路回车就会在.ssh目录下生成id_rsaid_rsa.pub,其中id_rsa表示私钥,id_rsa.pub表示公钥。
  4. 将公钥写入authorized_keys,cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  5. 修改authorized_keys权限,chmod 600 authorized_keys
    至此,ssh免密登录就配置完成
    测试一下:ssh localhost不需要输入密码就可以登录进去
    安装成功!

安装Hadoop(HDFS)

  1. 首先下载好Hadoop的CDH版本:hadoop-2.6.0-cdh5.15.1.tar.gz
  2. 解压hadoop-2.6.0-cdh5.15.1.tar.gz:tar -xvf hadoop-2.6.0-cdh5.15.1.tar.gz -C ~/app
    解压后的文件夹内容如下:
    在这里插入图片描述
  • bin文件夹下:存放客户端命令
  • etc文件夹下:有一个hadoop文件夹,存放hadoop配置文件
  • sbin文件夹:存放启动hadoop相关进程的脚本
  • lib文件夹:存放一些依赖包
  • share文件夹:常用的一些例子
  1. 添加HADOOP_HOME/bin到系统环境变量
  2. 修改Hadoop配置文件,$HADOOP_HOME/etc/hadoop/hadoop-env.sh
    配置JAVA_HOME:export JAVA_HOME=/usr/jdk1.8.0_144
  3. 修改Hadoop配置文件,$HADOOP_HOME/etc/hadoop/core-site.xml
    配置文件系统路径:
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
  1. 修改Hadoop配置文件,$HADOOP_HOME/etc/hadoop/hdfs-site.xml
    配置副本系数:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

因为我们目前只有一个节点,所以副本数设置为1,之后变为分布式之后可以改为3
7. 修改Hadoop配置文件,因为默认情况下,文件的存放路径hadoop.tmp.dir =/tmp/hadoop-${user.name},我们知道/tmp目录在服务器重启之后会自动删除,为了防止这种现象发生,我们重新制定文件的存放路径。
修改$HADOOP_HOME/etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/duandingyang/tmp/hadoop-tmp</value>
    </property>
</configuration>
  1. 修改$HADOOP_HOME/etc/hadoop/slaves
localhost

至此,HDFS就配置完成了。

测试启动HDFS

第一次启动HDFS时,一定要格式化文件系统,不要重复执行

  1. 格式化HDFS文件系统:hdfs namenode -format,这时如果查看/home/duandingyang/tmp/hadoop-tmp,会发现里面有数据了。
  2. 启动集群~/app/hadoop-2.6.0-cdh5.15.1/sbin$ ./start-dfs.sh
19/10/13 01:42:37 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/duandingyang/app/hadoop-2.6.0-cdh5.15.1/logs/hadoop-duandingyang-namenode-ubuntu.out
localhost: starting datanode, logging to /home/duandingyang/app/hadoop-2.6.0-cdh5.15.1/logs/hadoop-duandingyang-datanode-ubuntu.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /home/duandingyang/app/hadoop-2.6.0-cdh5.15.1/logs/hadoop-duandingyang-secondarynamenode-ubuntu.out
19/10/13 01:42:55 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Starting namenodes on [localhost]可以先忽略。
输入jps查看:

duandingyang@ubuntu:~/app/hadoop-2.6.0-cdh5.15.1/sbin$ jps
11304 Jps
11192 SecondaryNameNode
11034 DataNode
10908 NameNode

这样就启动成功了,可以通过浏览器访问ip:50070
在这里插入图片描述
如果发现jps正常,但是浏览器打不开这个地址,查看防火墙是否关闭。

测试停止HDFS

使用命令~/app/hadoop-2.6.0-cdh5.15.1/sbin$ ./stop-dfs.sh,输出如下:

19/10/13 01:57:22 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Stopping namenodes on [localhost]
localhost: stopping namenode
localhost: stopping datanode
Stopping secondary namenodes [0.0.0.0]
0.0.0.0: stopping secondarynamenode
19/10/13 01:57:41 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

输入jps查看:

~/app/hadoop-2.6.0-cdh5.15.1/sbin$ jps
11730 Jps

相关进程已经停止

start/stop-dfs.sh与hadoop-daemons.sh的关系

start-dfs.sh 相当于执行了hadoop-daemon.sh start namenodehadoop-daemon.sh start datanodehadoop-daemon.sh start secondarynamenode
stop-dfs.sh相当于执行了hadoop-daemon.sh stop namenodehadoop-daemon.sh stop datanodehadoop-daemon.sh stop secondarynamenode

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值