前言:因项目中需要数据分析,因而使用hadoop集群通过离线的方式分析数据

参考着网上的分享的文章实施整合的一篇文章,实施记录


安装流程:

1.设置各个机器建的ssh 无密码登陆

2.安装JDK

3.开始安装配置hadoop

4.检查单机版Hadoop

5.集群搭建

6.测试集群是否搭建成功

7.hadoop远程客户端安装配置

准备:分别上台机器:master(hadoop主机)、node1(hadoop从机)、node2(hadoop从机)

echo "192.168.163.220 master" >>/etc/hosts
echo "192.168.163.48 node1" >>/etc/hosts
echo "192.168.163.55 node2" >>/etc/hosts

1.设置各个机器建的ssh 无密码登陆

(1)CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置,
#RSAAuthentication yes
#PubkeyAuthentication yes
(2)输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置,
(3)合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并,
cat id_rsa.pub>> authorized_keys
ssh root@node1 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh root@cli cat ~/.ssh/id_rsa.pub>> authorized_keys
(4)把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录
(5)完成,ssh root@192.168.0.84、ssh root@192.168.0.48就不需要输入密码了

2.安装JDK

(1)安装包中已经下载好了 rpm 格式的jdk安装包

· 安装之前先检查一下系统有没有自带open-jdk

· 图片上显示我的是没有自带的,如果有可以使用rpm -qa | grep java | xargs rpm -e --nodeps 批量卸载所有带有Java的文件   这句命令的关键字是java

(2)使用rpm -ivh jdk-8u45-linux-x64.rpm进行安装(每一台机器都需要安装配置)

(3)配置环境变量使用命令 vim /etc/profile

rpm -ivh jdk-8u45-linux-x64.rpm

配置 /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_45

export HADOOP_HOME=/hadoop/hadoop-2.7.2

export HIVE_HOME=/hadoop/apache-hive-2.1.0-bin

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HIVE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HIVE_HOME/bin

(4)验证使用安装以及环境变量设置成功使用命令

[root@localhost ~]# source /etc/profile

[root@localhost ~]# java -version

3.开始安装配置hadoop

(1)将hadoop-2.7.2.tar.gz 文件放在 /hadoop 目录下,解压文件执行命令

[root@localhost ~]# cd /hadoop

[root@master hadoop]# tar -vxzf hadoop-2.7.2.tar.gz

(2)修改配置文件

a.修改/hadoop/hadoop-2.7.2/etc/hadoop/core-site.xml  全局配置

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

<!--hadoop namenode 服务器地址和端口,以域名形式-->

</property>

<property>

<name>dfs.namenode.checkpoint.period</name>

<value>1800</value>

<!-- editlog每隔30分钟触发一次合并,默认为60分钟 -->

</property>

<property>

<name>fs.checkpoint.size</name>

<value>67108864</value>

</property>

<property>

<name>fs.trash.interval</name>

<value>1440</value>

<!-- Hadoop文件回收站,自动回收时间,单位分钟,这里设置是1天,默认为0。-->

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/hadoop/tmp</value>

<!-- Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新>执行NameNode格式化的命令。/data/hadoop/tmp这里给的路径不需要创建会自动生成.-->

</property>

<property>

<name>io.file.buffer.size</name>

<value>131702</value>

<!-- 流文件的缓冲区-->

</property>

b.修改/hadoop/hadoop-2.7.2/etc/hadoop/hdfs-site.xml hdfs中NameNode,DataNode局部配置

<property>

<name>dfs.namenode.name.dir</name>

<value>/hadoop/hdfs/name</value>

<!--HDFS namenode数据镜象目录-->

<description>  </description>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/hadoop/hdfs/data</value>

<!-- HDFS datanode数据镜象存储路径,可以配置多个不同的分区和磁盘中,使用,号分隔 -->

<description> </description>

</property>

<property>

<name>dfs.namenode.http-address</name>

<value>master:50070</value>

<!---HDFS Web查看主机和端口-->

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>node1:50090</value>

<!--辅控HDFS web查看主机和端口-->

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

<!--HDFS数据保存份数,通常是3-->

</property>

<property>

<name>dfs.datanode.du.reserved</name>

<value>1073741824</value>

<!-- datanode 写磁盘会预留 1G空间 给其他程序使用,而非写满,单位 bytes-->

</property>

<property>

<name>dfs.block.size</name>

<value>134217728</value>

<!--HDFS数据块大小,当前设置为128M/Blocka-->

</property>

<property>

<name>dfs.permissions.enabled</name>

<value>false</value>

<!-- HDFS 关闭文件权限 -->

</property>

c.修改 hadoop/hadoop-2.7.2/etc/hadoop/mapred-site.xml.template  #配置MapReduce,使用yarn框架、jobhistory使用地址以及web地址

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobtracker.http.address</name>

<value>master:50030</value>

</property>

<property>

<name>mapred.job.tracker</name>

<value>http://master:9001</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>

配置完毕以后执行命令

[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml

d.修改 hadoop/hadoop-2.7.2/etc/hadoop/yarn-site.xml  配置yarn-site.xml文件

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>master:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

 e. 修改 hadoop/hadoop-2.7.2/etc/hadoop/ hadoop-env.sh及vi yarn-env.sh

将其中的${JAVA_HOME}用/usr/jdk1.7.0_79代替

export JAVA_HOME=/usr/java/jdk1.8.0_45

f.创建目录上面所配置的路径

[root@master ~]# mkdir -p /hadoop/tmp

[root@master ~]# mkdir -p /hadoop/hdfs/name

[root@master ~]# mkdir -p /hadoop/hdfs/data

f. 修改$HADOOP_HOME/etc/hadoop/yarn.site.xml, 此项配置是为配置 hive

<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>

4.检查单机版Hadoop

测试hdfs中的namenode与datanode:
hadoop-daemon.sh start namenode 
chmod go-w /data/hadoop/hdfs/data/
hadoop-daemon.sh start datanode

测试resourcemanager:
yarn-daemon.sh start resourcemanager

测试nodemanager:
yarn-daemon.sh start nodemanager

测试historyserver:
mr-jobhistory-daemon.sh start historyserver

[root@master hadoop-2.7.2]# jps

6116 NodeManager

6901 NameNode

5704 ResourceManager

6204 JobHistoryServer

5518 DataNode

6974 Jps

[root@master hadoop-2.7.2]# hadoop fs -lsr /

5.集群搭建

scp -r $HADOOP_HOME/ node1:/hadoop/

在master 上配置

[root@master hadoop-2.7.2]# vim $HADOOP_HOME/etc/hadoop/slaves

删除localhost

添加    node1

6.测试集群是否搭建成功

在Master服务器启动hadoop,从节点会自动启动,进/hadoop/hadoop-2.7.2目录
(1)初始化,输入命令,bin/hdfs namenode -format
(2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
(3)停止的话,输入命令,sbin/stop-all.sh
(4)输入命令,jps,可以看到相关信息

Web访问,要先开放端口或者直接关闭防火墙
(1)输入命令,systemctl stop firewalld.service
(2)浏览器打开http://192.168.0.182:8088/
(3)浏览器打开http://192.168.0.182:50070/

各节点执行jps
master: 
98956 JobHistoryServer

98820 NodeManager

118806 Jps

118176 NameNode

118540 ResourceManager

node1: 
106602 Jps

106301 DataNode

106496 NodeManager

106408 SecondaryNameNode

7.hadoop远程客户端安装配置

a.配置 /etc/profile 的环境变量配置java和hadoop (可参考第二点配置JDK)

b.hadoop 配置文件修改

在客户端只需配置集群namenode 和 jobtracker 的相关信息,以及java安装目录。即修改conf目录下文件:

hadoop-env.sh:

export JAVA_HOME=/usr/java/jdk1.8.0_45

core-site.xml:

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

<!--hadoop namenode 服务器地址和端口,以域名形式-->

</property>

mapred-site.xml:

<property>

<name>mapred.job.tracker</name>

<value>http://master:9001</value>

</property>

cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

c.现在hadoop客户端已经配置好,可以运行基本的命令如:

hadoop fs -lsr /


这样就搭建了一个基本的集群了,接下来使用hive分析历史数据

Hadoop 安装流程的更多相关文章

  1. 五十九.大数据、Hadoop 、 Hadoop安装与配置 、 HDFS

    1.安装Hadoop 单机模式安装Hadoop 安装JAVA环境 设置环境变量,启动运行   1.1 环境准备   1)配置主机名为nn01,ip为192.168.1.21,配置yum源(系统源) 备 ...

  2. Linux环境Hadoop安装配置

    Linux环境Hadoop安装配置 1. 准备工作 (1)linux配置IP(NAT模式) (2)linux关闭防火墙 (3)设置主机名 (4)设置映射 (5)设置免密登录 2. 安装jdk (1)上 ...

  3. iOS 最新版 CocoaPods 的安装流程

    iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...

  4. 最新版 CocoaPods 的安装流程

                                       iOS 最新版 CocoaPods 的安装流程     1.移除现有Ruby默认源 $gem sources --remove h ...

  5. linux hadoop安装

    linux hadoop安装 本文介绍如何在Linux下安装伪分布式的hadoop开发环境. 在一开始想利用cgywin在 windows下在哪, 但是一直卡在ssh的安装上.所以最后换位虚拟机+ub ...

  6. CocoaPods安装流程

    iOS 最新版 CocoaPods 的安装流程       1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/   2.使用新的源 $g ...

  7. CentOS 7 64位的安装流程

    若出现以下不支持虚拟机的问题: 表示虚拟机检测到CPU支不支持虚拟化,要去BIOS里设置虚拟化技术设置为enabled:重启电脑-按"F1或Fn+F1"-进入BIOS主界面-移至S ...

  8. 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...

  9. hadoop安装遇到的各种异常及解决办法

    hadoop安装遇到的各种异常及解决办法 异常一: 2014-03-13 11:10:23,665 INFO org.apache.hadoop.ipc.Client: Retrying connec ...

随机推荐

  1. centos 6.8 下安装redmine(缺陷跟踪系统)

    一.实验环境 centos6.8 64位 所需安装包: ruby-2.3.4.tar.gz.rubygems-1.8.25.tgz.redmine-2.3.2.tar.gz 二.安装步骤 1.安装必要 ...

  2. 可拖动布局之Gridster

    看过bootstrap可视化布局系统的人是不是都会对页面元素的拖拽有着很大的兴趣?下面呢,楼主就给大家讲两个楼主知道的拖拽小插件吧. 一.gridster 1.了解gridster 后续官网:http ...

  3. ubuntu命令行下java工程编辑与算法(第四版)环境配置

    ubuntu命令行下java工程编辑与算法(第四版)环境配置 java 命令行 javac java 在学习算法(第四版)中的实例时,因需要安装配套的java编译环境,可是在编译java文件的时候总是 ...

  4. 一种解决eclipse中安装maven出错的方法

    1.安装步骤:https://jingyan.baidu.com/article/a17d5285feb4dd8099c8f26e.html 2.安装第三步的解决办法:m2e   路径换成  http ...

  5. java3 - 流程控制

    一.Java 有三种主要的循环结构: 需求:分别使用三种循环将 1 到 100 的整数输出到控制台. 1.for 循环 for(初始化语句; 布尔表达式语句; 更新语句) { //循环体内容 } 示列 ...

  6. Centos6增加新用户并赋予权限

    第一步:创建用户并设置密码 useradd testuser // 增加用户名为'testuser'的用户 passwd testpasswd //设定密码为'testpasswd' 第二步:用户授权 ...

  7. 浏览器输入URL到响应页面的全过程

    B/S网络架构从前端到后端都得到了简化,都基于统一的应用层协议HTTP来交互数据,HTTP协议采用无状态的短链接的通信方式,通常情况下,一次请求就完成了一次数据交互,通常也对应一个业务逻辑,然后这次通 ...

  8. kubernetes 单节点和多节点环境搭建

    kubernetes单节点环境搭建: 1.在VMWare Workstation中建立一个centos 7虚拟机.虚拟机的配置尽量调大一些 2.操作系统安装完成后,关闭centos 自带的防火墙服务 ...

  9. AppCompatActivity 去掉标题栏和EditText弹出软键盘遮住输入框问题

    1. AppCompatActivity去掉标题栏 此处除掉标题栏,需要注意一点,AppCompactActivity是继承自Activity.然而,AppCompactActivity据查看网上资料 ...

  10. H3C三层交换机配置IP

    1.直接在物理端口上设置IP地址. int f1/0/1 port link-mode route #链路模式采用路由 ip add 192.168.10.1 24 ospf network0type ...