Bigdata--hadoop系列安装
Date:20180827 Monday
目前市场hadoop主流版本是2.7.x系列,下面我们就以hadoop-2.7.3为例进行安装
安装前准备:
1.操作系统:cetos(6和7)
2.java版本:1.8
3.需要插件:wget, vim, openssh, ntpd
一.示列演示:
现在有3台机器,这里以centos6.8-64位为例,以minimal方式安装
192.168.1.101
192.168.1.102
192.168.1.103
在3台节点上都先关闭防火墙
iptables –F
chkconfig iptables off
setenforce 0
vi /etc/selinux/config
SELINUX=disable
1,分别为3台节点更改主机名
hostname c1(临时修改)
的命令更改每一台主机的主机名,并更改配置文件
vi /etc/sysconfig/network (永久修改)
HOSTNAME=c1
2. 这里我们把ip映射成主机名,执行如下命令
vi /etc/hosts
在hosts文件中,如以下内容(主机和域名一役对应)
192.168.1.101 c1
192.168.1.102 c2
192.168.1.103 c3
保存退出
3. 然后用root身份将hosts文件发送到其它节点上 (先在3个节点上安装openssh)
(scp安装命令)
yum install –y openssh-clients
scp /etc/hosts c2:/etc/
scp /etc/hosts c3:/etc/
在发送的过程中需要输入root用户的密码
二、配置免密码登录
然后在家目录下执行ssh-keygen -t rsa命令,不用管提示,一路回车,直到命令执行完成
再去其他节点执行相同的操作
例如: ssh node2 (跳转到node2节点)
1. 生成本机的密钥对
ssh-keygen -t rsa -P ''
2. 复制秘钥去其他机器要免密登录的机器,如:
ssh-copy-id c1
ssh-copy-id c2
ssh-copy-id c3
ssh-copy-id localhost
3. 验证免密登录
ssh c2
ssh c3
ssh c1
三、安装JDK
下面这个地址下载JAVA8---jdk1.8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
8u131及其他版本地址,推荐下载8u131的Oracle官方地址:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
yum install –y wget
JAVA环境的安装和设置在3台节点都要进行配置
1. rpm -ivh jdk-8u131-linux-x64.rpm
2. vi /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131
3. 执行刚才设置过的脚本
source /etc/profile
4. 验证环境变量是否设置成功
env | grep JAVA
四、安装Hadoop和启动
下面这个地址下载hadoop2.7.3版本的64位官方镜像:
http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.3/
在c1下载后,输入以下命令解压
tar -zxvf hadoop-2.7.3.tar.gz
解压完后删除压缩包,并修改文件夹名称
mvhadoop-2.7.3 hadoop
mvhadoop /opt
在3台节点
/etc/profile.d/hadoop.sh中加上hadoop的环境变量设置,即
vi /etc/profile.d/hadoop.sh
export HADOOP_PREFIX=/opt/hadoop
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
source /etc/profile
env | grep HADOOP
进入c1 的hadoop的配置文件目录/opt/hadoop/etc/hadoop,键入命令及修改以下配置文件
1. hdfs的基础配置,hdfs-site.xml文件
mkdir –p /opt/hadoop/data/nd
mkdir –p /opt/hadoop/data/dd
vi /opt/hadoo/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name> ##备份数
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name> ##namemode 要先创建
<value>/opt/hadoop/data/nd</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/dd</value> ##datanode 要先创建
</property>
</configuration>
2. 配置core-site.xml文件
mkdir -p /opt/hadoop/tmp/hadoop
vi /opt/hadoop/etc/hadoop/core-site.xml
<configuration>
<!--指定hdfs的nameservice为namenode -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://c1</value>
</property>
<!--指定hadoop临时目录,如果没有请手动创建-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp/hadoop</value>
</property>
</configuration>
3. 配置datanode所在的节点:c1 c2 c3
vi /opt/hadoop/etc/hadoop/slaves
c1
c2
c3
4. 配置secondarynamenode到c2上
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>c2:50090</value>
</property>
</configuration>
5. 更改mapreduce配置文件,(在/opt/hadoop/etc/hadoop目录下)
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6. 配置Yarn
vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>c1</value>
</property>
</configuration>
把配置完成的hadoop目录复制到所有节点
scp –r /opt/hadoop c2:/opt
scp –r /opt/hadoop c3:/opt
若只修改配置文件,则只需复制etc目录到所有节点,命令如下:
scp –r /opt/hadoop/etc c2:/opt/hadoop
scp –r /opt/hadoop/etc c3:/opt/hadoop
hdfs格式化和启动
格式化命令如下:
/opt/hadoop/bin/hdfs namenode –format
启动hdfs:
/opt/hadoop/sbin/start-dfs.sh
关闭hdfs:
/opt/hadoop/sbin/stop-dfs.sh
启动yarn:
/opt/hadoop/sbin/start-yarn.sh
关闭yarn:
/opt/hadoop/sbin/stop-yarn.sh
启动任务历史服务器:
/opt/hadoop/sbin/mr-jobhistory-daemon.sh starthistoryserver
关闭历史服务器:
/opt/hadoop/sbin/mr-jobhistory-daemon.sh stophistoryserver
hadoop访问
在浏览器中访问—如:
http://192.168.106.148:50070
yarn访问:
http://192.168.106.148:8088
查错
1. jps命令来查询是否启动了namenode 和datanode等进程
查看相应进程的配置文件
2. 看/opt/hadoop/sbin/start-dfs.sh启动时的报错信息
3. 用/opt/hadoop/sbin/stop-dfs.sh停止所有节点服务,再尝试重启进程
4. netstat –tan查看各个端口,是否有监听,如50070等
5. 更改主节点配置后要copy配置去其他节点
6. 更改数据文件夹等内容的相关配置,要重新格式化hdfs,再启动进程
7. 查看/opt/hadoop/data/dd目录下的clusterid是否与namenode一致
注:可用jps查询程序启动情况
最新文章
- 如何重新划分linux分区大小
- [原创.数据可视化系列之一]使用openlayers 3 显示聚合数据
- [问题2014A09] 解答
- Scala:条件表达式的好处
- java事务的类型——面试被问到
- SQL注入测试平台 SQLol -1. 简介与安装
- poj 3268 Silver Cow Party(最短路)
- CLI-error
- .NET ORM框架(一)
- Linux数据备份
- python学习笔记--for循环
- Springboot学习记录1--概念介绍以及环境搭建
- 如何将VS 2015中的项目上传到github
- Android UI之View的加载机制(二)
- 十.nginx反向代理负载均衡服务实践部署
- 什么是真正的Java技术,本篇文章让你了解
- linux:644、755、777权限详解
- OO博客作业1:第1-3周作业总结
- Ubuntu 14.04服务器配置 (1) 安装和配置
- ftp不能登录报错
热门文章
- vue + element-ui 制作下拉菜单(可配置路由、可根据路由高亮list、可刷新自动展开定位路由)
- Fatal error: Call to undefined function fnmatch() 解决
- Types of Computer Systems
- UIView 动画 依赖与 CALayer的证据
- Git 初始化全局user.name 和 user.email
- 让Git不再难学
- windows快捷命令修炼
- 记一次关于SSM框架的使用错误
- C#发送邮件类库
- 从C语言的volatile关键字,了解C#的volatile机制(转载)