Linux集群搭建与Hadoop环境搭建
今天是8月19日,距离开学还有15天,假期作业完成还是遥遥无期,看来开学之前的恶补是躲不过了
今天总结一下在Linux环境下安装Hadoop的过程,首先是对Linux环境的配置,设置主机名称,网络设置、关闭防火墙、安装JDK、配置环境变量
免密钥登录配置:大数据集群中的Linux计算机之间需要频繁分通信,免密钥登录是指两台Linux计算机之间不需要用户名和密码的SSH链接,默认状态下,SSH链接是需要密码认证的,但是可以通过修改系统认证,使系统通信免除密码输入和SSH认证
首先终端生成密钥:
ssh-keygen -t rsa
再将公钥文件复制到.ssh目录下,复制后可以修改文件的权限
chmod ~/.ssh/authorized_keys
将authorized_keys复制到其他节点
scp ~/.ssh/authorized_keys lqy0@linux0:~/
以上是关于主节点的配置,接下来是子节点的配置
还是执行生成密钥的命令,将主节点转移过来的authrized_keys移动到.ssh目录下,并修改它的权限
同样先生成密钥
ssh-keygen -t rsa
将从主节点复制过来的authorized_keys复制到.ssh目录下
mv authorized_keys ~/.ssh/
再修改authorized_keys的权限
chmod authorized_keys
1 Hadoop环境搭建
1) 设置DNS,这里是一主两从
Master的hosts文件修改,需要添加所有节点的ip及域名,包括master和所有的slave
Sudo vi /etc/hosts 添加以下内容:
127.0.0.1 localhost 192.168.1.100 namenode-master 192.168.1.101 datanode-slave1 192.168.1.103 datanode-slave2
Slave的hosts文件修改,仅需要添加master和本机的ip和域名
Sudo vi /etc/hosts 添加以下内容:
127.0.0.1 localhost 192.168.1.100 namenode-master 192.168.1.101 datanode-slave1 或 192.168.1.103 datanode-slave2
2) 修改hostname
vi /etc/hostname
分别把各个机器的hostname设置为hosts文件中设置的dns
namenode-master datanode-slave1 datanode-slave2
3) 所有机器添加grid用户,并设置sudo权限
useradd -m grid #添加用户
passwd grid #为gird用户设置密码,这里设置为grid
root权限下,vi /etc/sudoers,添加以下内容:
grid ALL=(ALL) NOPASSWD:ALL
4) 安装SSH
Hadoop运行过程中需要管理远端的Hadoop守护进程,所有的机器都安装ssh
Sudo apt-get install ssh
5) 所有机器都在grid的家目录下创建.ssh文件夹
mkdir ~/.ssh 或者 mkdir /home/grid/.ssh
6) SSH配置
在master的家目录下运行,ssh-keygen -t rsa,一直按回车键,将会按照默认的选项生成秘钥对,保存在.ssh/id_rsa文件中
接着执行以下命令:
cp id_rsa.pub authorized_keys
scp authorized_keys datanode-slave1:/home/grid/.ssh
scp authorized_keys datanode-slave2:/home/grid/.ssh
然后设置所有节点authorized_keys文件的权限为644
Sudo chmod 644 authorized_keys
7) 安装JDK
在master上操作,把SDK安装包分别远程拷贝到所有从节点中
scp jdk-7u25-linux-x64.tar.gz datanode-slave1:/home/grid/下载/jdk-7u25-linux-x64.tar.gz
scp jdk-7u25-linux-x64.tar.gz datanode-slave2:/home/grid/下载/jdk-7u25-linux-x64.tar.gz
将jdk-7u25-linux-x64.tar.gz解压到/usr/local/java/中
tar -zxvf jdk-7u25-linux-x64.tar.gz
sudo mv ./jdk1.7.0_25 /usr/local/java/jdk1.7.0_25
8) 配置jdk环境变量(所有节点都需要配置)
编辑/etc/profile
vi /etc/profile
最后面加上
export JAVA_HOME=/usr/local/java/jdk1..0_25 #jdk的解压目录 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME CLASSPATH PATH
重启配置文件
source /etc/profile
9) 安装配置hadoop(所有节点都需配置)
解压tar -zxvf hadoop-2.6.0.tar.gz
剪切到/usr/local/下
配置环境变量 vi /etc/profile
添加export HADOOP_HOME=/usr/local/hadoop-2.6.0
重启配置文件生效 source /etc/profile
10) 配置hadoop(所有节点都配置)
创建以下目录:
sudo mkdir /usr/local/hadoopdata sudo mkdir -p /usr/local/hadoopdata/dfs/name sudo mkdir -p /usr/local/hadoopdata/dfs/data
改变这三个文件夹的owner
sudo chown –R grid:grid /usr/local/hadoopdata
11) 配置hadoop-env.sh
hadoop-2.6.0/etc/hadoop目录下
vi hadoop-env.sh修改jdk地址
export JAVA_HOME=/usr/local/java/jdk1.7.0_25
12) 配置core-site.xml
hadoop-2.6.0/etc/hadoop目录下
vi core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://namenode-master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoopdata</value> </property> </configuration>
13) 配置hdfs-site.xml
hadoop-2.6.0/etc/hadoop目录下
vi hdfs-site.xml
添加如下代码
<configuration>
<property>
<name>dfs.name.dir</name>
<value>file:/usr/local/hadoopdata/dfs/name</value>
<description>Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:/usr/local/hadoopdata/dfs/data</value>
<description>Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value></value>
</property>
</configuration>
14) 配置mapred-site.xml
hadoop-2.6.0/etc/hadoop目录下
先复制
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration> <property> <name>mapred.job.racker</name> <value>namenode-master:</value> </property> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobtracker.http.address</name> <value>namenode-master:</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>namenode-master:</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <Value>namenode-master: </value> </property> </configuration>
15) 配置yarn-site.xml文件,增加yarn功能
hadoop-2.6.0/etc/hadoop目录下
vi yarn-site.xml
<Configuration>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value></value>
</property>
<property>
<name>yarn.nodemanager.local-cache.max-files-per-directory</name>
<value></value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value></value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>namenode-master:</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>namenode-master:</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>namenode-master:</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>namenode-master:</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>namenode-master:</value>
</property>
</configuration>
16) 配置masters与slaves
配置masters
sudo vi masters
添加如下内容:
namenode-master
配置slaves
sudo vi slaves
添加如下内容:
datanode-slave1
datanode-slave2
17) 配置从节点hadoop
复制到从节点
scp -r hadoop-2.6.0 datanode-slave1:/home/grid/hadoop-2.6.0
scp -r hadoop-2.6.0 datanode-slave2:/home/grid/hadoop-2.6.0
将hadoop-2.6.0移动到/usr/local下
sudo mv ../hadoop-2.6.0 /usr/local/
18) 格式化NameNode
/usr/local/hadoop-2.6.0/目录下
./bin/hdfs namenode –format
19) 开启与关闭hdfs和yarn
/usr/local/hadoop-2.6.0/目录下
./sbin/start-dfs.sh #开启hdfs
./sbin/stop-dfs.sh #关闭hdfs
./sbin/start-yarn.sh #开启yarn服务
./sbin/stop-yarn.sh #关闭yarn服务
20) 用jps命令测试是否安装成功
2 Hive的安装
仅需配置主节点
1) 创建Hive数据目录
#创建数据仓库目录
sudo mkdir -p /usr/local/hive/warehouse
#创建数据临时目录
sudo mkdir mkdir -p /usr/local/hive/tmp
#创建IO临时目录
sudo mkdir mkdir -p /usr/local/hive/iotmp
2) 配置环境变量
sudo vi /etc/profile,添加如下内容
export HIVE_HOME=/usr/local/apache-hive-2.0.0-bin
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf
source /etc/profile
3) 配置hive-site.xml
#设置仓库目录
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
#Hive的数据临时文件目录
<property>
<name>hive.exec.scratchdir</name>
<value>/usr/local/hive/tmp</value>
<description>HDFS root scratch dir for Hive jobs which gets created with write all () permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>
</property>
Linux集群搭建与Hadoop环境搭建的更多相关文章
- Hadoop框架:集群模式下分布式环境搭建
本文源码:GitHub·点这里 || GitEE·点这里 一.基础环境配置 1.三台服务 准备三台Centos7服务,基础环境从伪分布式环境克隆过来. 133 hop01,134 hop02,136 ...
- [原创]Postgres-XC集群笔记-概念与环境搭建
文所描述的Postgres-XC版本:v1.2.1项目主页地址:http://sourceforge.net/projects/postgres-xc/ pdf文件下载: Postgres-XC集群搭 ...
- 使用Docker搭建Cloudera Hadoop 环境搭建
单节点 单节点:https://hub.docker.com/r/cloudera/quickstart/ 相关命令 docker pull cloudera/quickstart:latest do ...
- Linux centosVMware Linux集群架构LVS DR模式搭建、keepalived + LVS
一.LVS DR模式搭建 三台机器 分发器,也叫调度器(简写为dir) davery :1.101 rs1 davery01:1.106 rs2 davery02:11.107 vip 133.200 ...
- 【朝夕Net社区技术专刊】Core3.1 WebApi集群实战专题---WebApi环境搭建运行发布部署篇
欢迎大家阅读<朝夕Net社区技术专刊>第1期 原文是我在知乎发表的,现在在这里分享! 我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为首 ...
- 大数据系列(3)——Hadoop集群完全分布式坏境搭建
前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...
- Hadoop集群完全分布式坏境搭建
前言 上一篇我们讲解了Hadoop单节点的安装,并且已经通过VMware安装了一台CentOS 6.8的Linux系统,咱们本篇的目标就是要配置一个真正的完全分布式的Hadoop集群,闲言少叙,进入本 ...
- 基于VMware的虚拟Linux集群搭建-lvs+keepalived
基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...
- 自己搭建的集群,启动hadoop时slave节点的datanode没有启起来怎么办?
自己搭建的集群,启动hadoop 集群是,发现slave节点的datanode没有启动,查了资料发现是因为我在启动集群前,执行了这个命令: hadoop namenode -format 这个指令会重 ...
随机推荐
- this、super关键字以及他们各自的作用
this:代表当前对象的引用,谁来调用我,我就代表谁 super:代表当前对象父类的引用 this和super的使用区别 A:调用成员变量 this.成员变量 调用本类的成员变量,也可以调用父类的成 ...
- webstorm前端开发工具vue环境配置及运行项目
1:webstorm的安装:2:node.js的安装3:安装Git4:vue-cli 安装前面两步就可以把项目启动了,安装Git主要是打开命令窗口,这样就可以用liunx命令了,原理跟cmd差不多 V ...
- 【Python基础】条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null)值为tr ...
- InnoDB undo log物理结构的初始化
水平有限,如果有误请指出.一直以来未对Innodb 的undo进行好好的学习,最近刚好有点时间准备学习一下,通过阿里内核月报和自己看代码的综合总结一下.本文环境: 代码版本 percona 5.7.2 ...
- PAT_A1030#Travel Plan
Source: PAT A1030 Travel Plan (30 分) Description: A traveler's map gives the distances between citie ...
- Bamboo Django Celery定时任务和时间设置
1.Celery加入定时任务 Celery除了可以异步执行任务之外,还可以定时执行任务.在实例代码的基础上写个测试方法: 1 #coding:utf-8 2 from celery.task.sche ...
- EditorLineEnds.ttr的困扰
DELL的n年的商用机电脑硬盘坏了,措手不及. 256ssd+1tb企业级.机器快乐很多.一小步,让机器快了一大步. 但是2007出问题了,每次启动EditorLineEnds.ttr被占用.原来有那 ...
- Oracle关联查询-数据类型不一致问题 ORA-01722: 无效数字
一.存在表A和表B,都包含字段user_no,但数据类型不一致,如下: create table A ( user_id varchar2(20), user_no number(12,0), xxx ...
- 关于约束ENABLE NOVALIDATE的一个疑问
http://www.dbunix.com/?p=188 关于约束ENABLE NOVALIDATE的一个疑问 CREATE TABLE test (id varchar2(12), name var ...
- 0613pt-query-digest分析慢查询日志
转自http://www.jb51.net/article/107698.htm 这篇文章主要介绍了关于MySQL慢查询之pt-query-digest分析慢查询日志的相关资料,文中介绍的非常详细,对 ...