p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
h1 { margin-top: 17.0000pt; margin-bottom: 16.5000pt; page-break-after: avoid; text-align: justify; line-height: 240%; font-family: Calibri; font-weight: bold; font-size: 22.0000pt }
h2 { margin-top: 13.0000pt; margin-bottom: 13.0000pt; page-break-after: avoid; text-align: justify; line-height: 172%; font-family: Arial; font-weight: bold; font-size: 16.0000pt }
p.MsoFooter { margin: 0pt; margin-bottom: .0001pt; text-align: left; font-family: Calibri; font-size: 9.0000pt }
p.pre { margin: 0pt; margin-bottom: .0001pt; text-align: left; font-family: 宋体; font-size: 12.0000pt }
span.msoIns { text-decoration: underline; color: blue }
span.msoDel { text-decoration: line-through; color: red }
table.MsoNormalTable { font-family: "Times New Roman"; font-size: 10.0000pt }
table.MsoTableGrid { text-align: justify; font-family: "Times New Roman"; font-size: 10.0000pt }
div.Section0 { }

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
p.MsoFooter { margin: 0pt; margin-bottom: .0001pt; text-align: left; font-family: Calibri; font-size: 9.0000pt }
p.MsoToc2 { margin-left: 21.0000pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
p.MsoToc1 { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
span.msoIns { text-decoration: underline; color: blue }
span.msoDel { text-decoration: line-through; color: red }
div.Section0 { }

目录

第一章hadoop集群搭建2

各台机器集群配置状况分布设置2

一、 关于免密码登录操作2

二、免密码登录遇到的问题:4

三、hadoop集群搭建6

三、配置高可用resourceManager+yarn16

四、安装zookeeper23

五、启动hadoop25

六、mapreduce测试hadoop集群28

七、eclipse联机测试hadoop32

第二章Hbase安装测试42

一、Hbase下载42

二、上传jar包到sp-01机器 42

三、开始配置Hbase42

四、启动Hbase48

第三章Spark集群安装配置50

一、下载spark50

二、安装spark50

三、启动spark集群55

四、测试spark56

第四章hive 安装 及配置66

一、 hive下载66

二、安装hive66

三、多用户启动hive时报错69

四、hive在mysql中持久化70

五、测试74

第五章 常见错误解决方式75

一、无法关闭 NodeManager和ResourceManager75

关闭重启集群时出现无法关闭 NodeManager和ResourceManager75

二、系统出现两个standby78


第一章hadoop集群搭建

各台机器集群配置状况分布设置

集群配置状况

NameNode

DFSZKFailoverController

Zookeeper

DataNode

JournalNode

ResourceManager

Hbase

Spark

Hive

Mysql

sp-01

HMaster

sp-02

HRegionServer

sp-03

HRegionServer

sp-04

sp-05

sp-06

机器名称

原有IP

对应IP地址

sp-01

192.168.101.121

192.168.10.111

sp-02

192.168.101.122

192.168.10.112

sp-03

192.168.101.123

192.168.10.113

sp-04

192.168.101.124

192.168.10.114

sp-05

192.168.101.125

192.168.10.115

sp-06

192.168.101.126

192.168.10.116

一、关于免密码登录操作

主要操作步骤:

主节点执行命令生成密钥:ssh-keygen -t rsa -P ""

2、进入文件夹cd  .ssh (进入文件夹后可以执行ls  -a 查看文件)

3、将生成的公钥id_rsa.pub 内容追加到authorized_keys(执行命令:cat id_rsa.pub >> authorized_keys)

从节点配置

1、以同样的方式生成秘钥(ssh-keygen -t rsa -P "" ),然后sp-02、sp-03、sp-04、sp-05和sp-06将生成的id_rsa.pub公钥追加到sp-01的authorized_keys中)

执行命令scp id_rsa.pub sp-01:/home/hadoop/.ssh/id_rsa.pub.s1

(ps:id_rsa.pub.s1可视情况定义sn;以下相同 只以s1为例)

2、进入m1执行命令:cat id_rsa.pub.s1 >> authorized_keys

3、最后将生成的包含三个节点的秘钥的authorized_keys 复制到sp-02、sp-03、sp-04、sp-05和sp-06的.ssh目录下

scp authorized_keys sp-02:/home/hadoop/.ssh/

测试:ssh 主机名  例:ssh sp-02

二、免密码登录遇到的问题:

做完以上步骤时可能会无法互相免密码登录

解决方案

1、chmod 600 /home/hadoop/.ssh/authorized_keys

2、chmod 700 /home/hadoop/.ssh/

3、service sshd restart(ps:注意用户权限问题)

三、hadoop集群搭建

1、下载Hadoop版本:http://mirror.bit.edu.cn/apache/hadoop/common/

下载版本hadoop-2.6.0-src.tar.gz

2、将hadoop-2.6.0-src.tar.gz文件上传至集群的/home/hadoop/hadoopInstallFile 文件夹下

并进行解压到路径/home/hadoop/hadoopInstallPath/下

tar -zxvf /home/hadoop/hadoopInstallFile/hadoop-2.6.0.tar.gz -C /home/hadoop/hadoopInstallPath/

3、进入hadoop开始配置文件

cd hadoop-2.6.0/etc/hadoop/

4、开始配置文件 vim hadoop-env.sh

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

5、配置文件vim core-site.xml

<property>

<name>fs.defaultFS</name>

<value>hdfs://sp-06:9000</value>

</property>

<property>

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

<value>/opt/hadoop</value>

</property>

6、配置文件vim hdfs-site.xml

<property>

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

<value>sp-05:50090</value>

</property>

<property>

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

<value>sp-05:50091</value>

</property>

7、创建文件vim masters

8、修改配置文件 vim slaves

sp-01

sp-02

sp-03

sp-04

sp-05

9、配置hadoop环境变量vim .bash_profile

export HADOOP_HOME=/home/hadoop/hadoopInstallPath/hadoop-2.6.0

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

10、立即加载重启 配置的文件

source .bash_profile

11、输入hdfs命令测试

12、将hadoop-2.6.0.tar.gz文件复制到集群的每一台机器上

scp /home/hadoop/hadoopInstallFile/hadoop-2.6.0.tar.gz sp-02:/home/hadoop/hadoopInstallFile/

scp /home/hadoop/hadoopInstallFile/hadoop-2.6.0.tar.gz sp-03:/home/hadoop/hadoopInstallFile/

scp /home/hadoop/hadoopInstallFile/hadoop-2.6.0.tar.gz sp-04:/home/hadoop/hadoopInstallFile/

scp /home/hadoop/hadoopInstallFile/hadoop-2.6.0.tar.gz sp-05:/home/hadoop/hadoopInstallFile/

scp /home/hadoop/hadoopInstallFile/hadoop-2.6.0.tar.gz sp-06:/home/hadoop/hadoopInstallFile/

13、将sp-02、sp-03、sp-04、sp-05、sp-06进行解压tar -zxvf /home/hadoop/hadoopInstallFile/hadoop-2.6.0.tar.gz -C /home/hadoop/hadoopInstallPath/

14、将sp-02、sp-03、sp-04、sp-05、sp-06机器/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

路径中的配置文件与sp-01中/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

配置文件统一

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-02:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-03:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-04:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-05:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-06:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

15、统一各个机器中hadoop环境变量配置

vim .bash_profile

export HADOOP_HOME=/home/hadoop/hadoopInstallPath/hadoop-2.6.0

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

source .bash_profile

16、格式化配置NameNode

hdfs namenode -forma

 17、在主节点sp-06启动集群

start-dfs.sh

18、在界面访问集群

访问NameNode (IP+端口号)

http://sp-06:50070/

访问SecondNameNode (IP+端口号)

http://sp-05:50090/

19、停止hdfs

stop-dfs.sh

三、配置高可用resourceManager+yarn

3.1修改配置文件vim core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://tztd</value>

</property>

<property>

<name>ha.zookeeper.quorum</name>

<value>sp-06:2181,sp-05:2181,sp-04:2181</value>

</property>

<property>

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

<value>/home/hadoop/hadoopTmp</value>

</property>

</configuration>

3.2修改配置文件vim hdfs-site.xml

<configuration>

<!--指定hdfs的nameservice为tztd,需要和core-site.xml中的保持一致 -->

<property>

<name>dfs.nameservices</name>

<value>tztd</value>

</property>

<!-- tztd下面有两个NameNode,分别是nn1,nn2 -->

<property>

<name>dfs.ha.namenodes.tztd</name>

<value>nn1,nn2</value>

</property>

<!-- nn1的RPC通信地址 -->

<property>

<name>dfs.namenode.rpc-address.tztd.nn1</name>

<value>sp-06:8020</value>

</property>

<!-- nn2的RPC通信地址 -->

<property>

<name>dfs.namenode.rpc-address.tztd.nn2</name>

<value>sp-05:8020</value>

</property>

<!-- nn1的http通信地址 -->

<property>

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

<value>sp-06:50070</value>

</property>

<!-- nn2的http通信地址 -->

<property>

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

<value>sp-05:50070</value>

</property>

<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->

<property>

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

<value>qjournal://sp-05:8485;sp-03:8485;sp-04:8485/tztd</value>

</property>

<property>

<name>dfs.client.failover.proxy.provider.tztd</name>

<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

<property>

<name>dfs.ha.fencing.methods</name>

<value>sshfence</value>

</property>

<!-- 使用隔离机制时需要ssh免密码登陆 -->

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/home/hadoop/.ssh/id_rsa</value>

</property>

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/home/hadoop/hadoopTmp/data</value>

</property>

<property>

<name>dfs.ha.automatic-failover.enabled</name>

<value>true</value>

</property>

</configuration>

3.2修改文件vim mapred-site.xml.template

mv mapred-site.xml.template mapred-site.xml

<configuration>

<property>

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

<value>yarn</value>

</property>

<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>0.0.0.0:10020</value>

</property>

<!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>0.0.0.0:19888</value>

</property>

</configuration>

3.3修改配置文件yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!--开启resourcemanagerHA,默认为false--> <property>

<name>yarn.resourcemanager.ha.enabled</name>

<value>true</value>

</property>

<property>

<name>yarn.resourcemanager.cluster-id</name>

<value>cluster1</value>

</property>

<!--配置resourcemanager--> <property>

<name>yarn.resourcemanager.ha.rm-ids</name>

<value>rm1,rm2</value>

</property>

<property>

<name>yarn.resourcemanager.hostname.rm1</name>

<value>sp-03</value>

</property>

<property>

<name>yarn.resourcemanager.hostname.rm2</name>

<value>sp-04</value>

</property>

<property>

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

<value>sp-06:2181,sp-05:2181,sp-04:2181</value>

</property>

<!--开启日志整理-->

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

<!--配置日志整理位置-->

<property>

<name>yarn.nodemanager.log-dirs</name>

<value>/home/hadoop/hadoopTmp/logs</value>

</property>

</configuration>

Ps:若没有日志这两个配置yarn的日志会产生到/tmp目录下,在此次安装因权限限制不是toot用户所以写不到根目录下面的文件夹,因此需要指定位置

查看工作日志的命令为yarn logs -applicationId (jobId)例如:

yarn logs -applicationId application_1477992062510_0015

3.4将更新过后的文件同步到集群的每一台机器上的/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/目录下

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-05:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-04:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-03:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-02:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

scp /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/* sp-01:/home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/

四、安装zookeeper

解压文件 tar zxvf /home/hadoop/hadoopInstallFile/zookeeper-3.4.6.tar.gz -C /home/hadoop/hadoopInstallPath/

4.1进入cd /home/hadoop/hadoopInstallPath/zookeeper-3.4.6/conf/

复制文档cp zoo_sample.cfg zoo.cfg

编辑文档 vim zoo.cfg

dataDir=/home/hadoop/hadoopTmp/zookeeper

server.1=sp-06:2888:3888

server.2=sp-05:2888:3888

server.3=sp-04:2888:3888

4.2分别在sp-06、sp-05、sp-04在dataDir下创建myid文件对应写入1、2、3

4.3 将sp-06机器下/home/hadoop/hadoopInstallFile/zookeeper-3.4.6.tar.gz 别发送到sp-05与sp-04 /home/hadoop/hadoopInstallFile/路径下解压安装

scp /home/hadoop/hadoopInstallFile/zookeeper-3.4.6.tar.gz sp-04:/home/hadoop/hadoopInstallFile/

tar zxvf /home/hadoop/hadoopInstallFile/zookeeper-3.4.6.tar.gz -C /home/hadoop/hadoopInstallPath/

4.4将sp-06机器下/home/hadoop/hadoopInstallPath/zookeeper-3.4.6/conf/配置文件 别发送到sp-05与sp-04 /home/hadoop/hadoopInstallPath/zookeeper-3.4.6/conf/下

scp /home/hadoop/hadoopInstallPath/zookeeper-3.4.6/conf/* sp-05:/home/hadoop/hadoopInstallPath/zookeeper-3.4.6/conf/

scp /home/hadoop/hadoopInstallPath/zookeeper-3.4.6/conf/* sp-04:/home/hadoop/hadoopInstallPath/zookeeper-3.4.6/conf/

4.5启动zookeeper

4.5.1删除sp-06、sp-05 节点/home/hadoop/hadoopTmp/dfs中的 data 、name、namesecondary文件夹

4.5.2删除sp-06、sp-05 节点/home/hadoop/hadoopInstallPath/hadoop-2.6.0/logs/下的所有文件

4.5.3删除sp-01、sp-02、sp-03、sp-04中/home/hadoop/hadoopTmp/dfs/data/下的所有文件

4.5.4删除sp-01、sp-02、sp-03、sp-04中/home/hadoop/hadoopInstallPath/hadoop-2.6.0/logs/下的所有文件

4.6启动三台sp-06、sp-05、sp-04 的zookeeper

cd /home/hadoop/hadoopInstallPath/zookeeper-3.4.6/bin

./zkServer.sh start

Ps:关闭命令为./zkServer.sh stop

五、启动hadoop

5.1启动三台sp-03、sp-04、sp-05 的journalnode

cd /home/hadoop/hadoopInstallPath/hadoop-2.6.0/sbin/

./hadoop-daemon.sh start journalnode

5.2在其中一台主节点(sp-06或sp-05)上格式化:hdfs namenode -format

5.3把刚刚格式化之后的元数据拷贝到另外一个namenode上

5.3.1启动刚刚格式化的./hadoop-daemon.sh start namenode

5.3.2在没有格式化的namenode上执行:hdfs namenode –bootstrapStandby

5.3.3把格式化NameNode上的/home/hadoop/hadoopTmp/dfs/name/current文件复制到另一台机器上的/home/hadoop/hadoopTmp/dfs/中

scp -r /home/hadoop/hadoopTmp/dfs/name/current/* sp-05:/home/hadoop/hadoopTmp/dfs/

5.3.4启动第二个./hadoop-daemon.sh start namenode

5.4在其中一个namenode上初始化zkfc:hdfs zkfc -formatZK

5.5停止上面节点:stop-dfs.sh

5.6全面启动:start-dfs.sh

5.7可能会出现的DataNode没有同步启动的原因

原因:两次或者两次以上格式化NameNode

需要查看DataNode /home/hadoop/hadoopTmp/dfs/data/current/VERSION中

clusterID是否与主节点相同

主节点路径/home/hadoop/hadoopTmp/dfs/name/current/VERSION

5.8分别在sp-04、sp-03启动resourcemanage

/home/hadoop/hadoopInstallPath/hadoop-2.6.0/sbin

./yarn-daemon.sh start resourcemanage

访问sp-04:8088/

sp-03:8088/

5.9分别在每台节点启动Nodemanager

/home/hadoop/hadoopInstallPath/hadoop-2.6.0/sbin

./hadoop-daemon.sh start Nodemanager

搭建完成

六、mapreduce测试hadoop集群

执行代码:

import java.io.*;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Job;

import org.apache.hadoop.mapreduce.Mapper;

import org.apache.hadoop.mapreduce.Reducer;

import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

public class WordCount

{

public static class WordCountMapper

extends Mapper<Object,Text,Text,IntWritable>

{

private final static IntWritable one = new IntWritable(1);

private Text word = new Text();

public void map(Object key,Text value,Context context)

throws IOException, InterruptedException {

String[] words = value.toString().split(" ");//words数组用来接收截取文件中的各个字段内容

for (String str: words)

{

word.set(str);

context.write(word,one);

}

}

}

public static class WordCountReducer

extends Reducer<Text,IntWritable,Text,IntWritable> {

public void reduce(Text key,Iterable<IntWritable> values,Context context)

throws IOException, InterruptedException {

int total=0;

for (IntWritable val : values){

total++;

}

context.write(key, new IntWritable(total));

}

}

public static void main (String[] args) throws Exception{

Configuration conf = new Configuration();

Job job = new Job(conf, "word count");

job.setJarByClass(WordCount.class);

job.setMapperClass(WordCountMapper.class);

job.setReducerClass(WordCountReducer.class);

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(IntWritable.class);

FileInputFormat.addInputPath(job, new Path(args[0]));

FileOutputFormat.setOutputPath(job, new Path(args[1]));

System.exit(job.waitForCompletion(true) ? 0 : 1);

}

}

执行命令:

hadoop jar WC.jar  /a.txt  /output

执行过程:

执行结果:

测试完成

七、eclipse联机测试hadoop

7.1下载Hadoop2.6.0-eclipse-plugin

下载地址https://github.com/winghc/hadoop2x-eclipse-plugin

7.2找一个目录,解压hadoop-2.6.0.tar.gz,本人是用D:\hadoop\hadoop-2.6.0(以下用$HADOOP_HOME表示)

7.3添加环境变量

HADOOP_HOME=D:\hadoop\hadoop-2.6.0

HADOOP_PREFIX=D:\hadoop\hadoop-2.6.0

HADOOP_BIN_PATH=%HADOOP_HOME%\bin

在path路径中加入%HADOOP_HOME%\bin

7.4 下载windows64位平台的hadoop2.6插件包(hadoop.dll,winutils.exe)

http://files.cnblogs.com/files/yjmyzz/hadoop2.6%28x64%29V0.2.zip

将winutils.exe复制到$HADOOP_HOME\bin目录,将hadoop.dll复制到%windir%\system32目录 (主要是防止插件报各种莫名错误,比如空对象引用啥的)

7.5配置hadoop-eclipse-plugin插件

7.5.1将下载好的hadoop-eclipse-plugin-2.6.0放入eclipse中plugin文件夹下(hadoop-eclipse-plugin也可换其他版本)

启动eclipse,windows->show view->other

7.5.2window->preferences->hadoop map/reduce 指定电脑上的hadoop根目录(即:$HADOOP_HOME)

7.5.3然后在Map/Reduce Locations 面板中,点击小象图标

添加一个Location

可以看到

可以在文件上右击,选择删除试下,通常第一次是不成功的,会提示一堆东西,大意是权限不足之类,原因是当前的win7登录用户不是虚拟机里hadoop的运行用户,解决办法有很多,比如你可以在win7上新建一个hadoop的管理员用户,然后切换成hadoop登录win7,再使用eclipse开发,但是这样太烦,最简单的办法:

hdfs-site.xml里添加

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

然后在集群里,运行hadoop dfsadmin -safemode leave

(仅限于测试环境涉及到的用户权限问题)

7.6创建WoldCount示例项目

7.6.1WoldCount代码示例

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Job;

import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

public class WCJob {

public static void main(String[] args) {

//设置提交用户

System.setProperty("HADOOP_USER_NAME", "root");

//读取 class path下边配置文件

Configuration conf = new Configuration();

//1、本地运行方式

conf.set("fs.defaultFS", "hdfs://sp-06:8020");

conf.set("yarn.resourcemanager.hostname", "sp-04");

try {

//这里创建job对象不要通过new的方式,new的方式是废弃的,这里使用getInstance方式

Job job = Job.getInstance(conf);

//指定程序入口

job.setJarByClass(WCJob.class);

//设置job名称,在resourcemanager界面可以查看这个job的运行情况

job.setJobName("wc job");

//指定map程序

job.setMapperClass(WCMapper.class);

//指定reduce程序

job.setReducerClass(WCReducer.class);

//指定map程序输出的key、value类型

job.setMapOutputKeyClass(Text.class);

job.setMapOutputValueClass(IntWritable.class);

//设置输入文件路径,第二个参数使用的是路径未具体到文件,则会读取该路径下的所有文件,注意这里路径具体到hdfs上的某个文件因此会读取对应的文件

FileInputFormat.addInputPath(job, new Path("/user/wc/input/a.txt"));

Path output = new Path("/user/wc/output");

FileSystem fs = FileSystem.get(conf);

if (fs.exists(output)) {

fs.delete(output, true);

}

//文件输出路径

FileOutputFormat.setOutputPath(job, output);

//提交job

Boolean flag = job.waitForCompletion(true);

if (flag) {

System.out.println("job success~~");

}

} catch (Exception e) {

e.printStackTrace();

};

}

}

import java.io.IOException;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Mapper;

import org.apache.hadoop.util.StringUtils;

public class WCMapper extends Mapper<LongWritable, Text, Text, IntWritable>{

//map方法是循环调用的,是框架自动调用的,每次读取一行数据进行处理

protected void map(LongWritable key, Text value, Context context)

throws IOException, InterruptedException {

String line = value.toString();

String[] strs = StringUtils.split(line, ' ');

for(String s : strs) {

context.write(new Text(s), new IntWritable(1));

}

}

}

import java.io.IOException;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Reducer;

public class WCReducer extends Reducer<Text, IntWritable, Text, IntWritable> {

protected void reduce(Text text, Iterable<IntWritable> iterable,

Context context) throws IOException, InterruptedException {

int sum = 0;

for(IntWritable i : iterable) {

sum += i.get();

}

context.write(text, new IntWritable(sum));

}

}

7.6.2上传文件

hello hadoop

hello word

hello nihao

hello scala

hello spark

必须设置

运行主程序Run on Hadoop

注意:输出路径不能存在

结果

7.6、IntelliJ IDEA 15.0.5连接hadoop测试

用以上代码可直接运行程序,但是没有类似hadoop-eclipse-plugin这样的插件,只能在每次测试完后上集群中删除输出目录文件

至此hadoop搭建测试连接完成

第二章Hbase安装测试

一、Hbase下载

Hbase下载地址http://apache.fayea.com/hbase/hbase-1.0.3/

hbase-1.0.3-bin.tar.gz

二、上传jar包到sp-01机器 /home/hadoop/hadoopInstallFile/hbase-1.0.3-bin.tar.gz路径下

解压安装到/home/hadoop/hadoopInstallPath/

tar -zxvf /home/hadoop/hadoopInstallFile/hbase-1.0.3-bin.tar.gz -C /home/hadoop/hadoopInstallPath/

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
h1 { margin-top: 17.0000pt; margin-bottom: 16.5000pt; page-break-after: avoid; text-align: justify; line-height: 240%; font-family: Calibri; font-weight: bold; font-size: 22.0000pt }
h2 { margin-top: 13.0000pt; margin-bottom: 13.0000pt; page-break-after: avoid; text-align: justify; line-height: 172%; font-family: Arial; font-weight: bold; font-size: 16.0000pt }
span.10 { font-family: "Times New Roman" }
span.15 { font-family: "Times New Roman"; color: rgb(106,57,6) }
span.16 { font-family: "Times New Roman"; font-weight: bold }
span.17 { font-family: Arial; font-weight: bold; font-size: 16.0000pt }
p.pre { margin: 0pt; margin-bottom: .0001pt; text-align: left; font-family: 宋体; font-size: 12.0000pt }
p.p { margin-top: 5.0000pt; margin-right: 0.0000pt; margin-bottom: 5.0000pt; margin-left: 0.0000pt; text-align: left; font-family: Calibri; font-size: 12.0000pt }
p.MsoFooter { margin: 0pt; margin-bottom: .0001pt; text-align: left; font-family: Calibri; font-size: 9.0000pt }
span.msoIns { text-decoration: underline; color: blue }
span.msoDel { text-decoration: line-through; color: red }
table.MsoNormalTable { font-family: "Times New Roman"; font-size: 10.0000pt }
table.MsoTableGrid { text-align: justify; font-family: "Times New Roman"; font-size: 10.0000pt }
div.Section0 { }

三、开始配置Hbase

3.1进入配置文件地址

cd /home/hadoop/hadoopInstallPath/hbase-1.0.3/conf/

配置文件 vim hbase-env.sh

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

配置vim hbase-site.xml

<configuration>

<property>

<name>hbase.rootdir</name>

<value>hdfs://tztd/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>sp-06,sp-05,sp-04</value>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/hadoop/hadoopTmp/zookeeper</value>

</property>

</configuration>

配置vim regionservers

vim backup_master

复制hdfs-site.xml文件

cp -a /home/hadoop/hadoopInstallPath/hadoop-2.6.0/etc/hadoop/hdfs-site.xml /home/hadoop/hadoopInstallPath/hbase-1.0.3/conf/

3.2将文件复制到sp-02、sp-03机器中

scp /home/hadoop/hadoopInstallFile/hbase-1.0.3-bin.tar.gz sp-02:/home/hadoop/hadoopInstallFile/

scp /home/hadoop/hadoopInstallFile/hbase-1.0.3-bin.tar.gz sp-03:/home/hadoop/hadoopInstallFile/

分别解压

tar zxvf /home/hadoop/hadoopInstallFile/hbase-1.0.3-bin.tar.gz -C /home/hadoop/hadoopInstallPath/

3.3将sp-01文件/home/hadoop/hadoopInstallPath/hbase-1.0.3/conf/下配置好的文件传送到

sp-02、sp-03/home/hadoop/hadoopInstallPath/hbase-1.0.3/conf/下

scp /home/hadoop/hadoopInstallPath/hbase-1.0.3/conf/* sp-03:/home/hadoop/hadoopInstallPath/hbase-1.0.3/conf/

scp /home/hadoop/hadoopInstallPath/hbase-1.0.3/conf/* sp-02:/home/hadoop/hadoopInstallPath/hbase-1.0.3/conf/

3.4统一环境变量sp-01、sp-02、sp-03

vim ~/.bash_profile

export HADOOP_HOME=/home/hadoop/hadoopInstallPath/hadoop-2.6.0

export HBASE_HOME=/home/hadoop/hadoopInstallPath/hbase-1.0.3

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

四、启动Hbase

进入cd /home/hadoop/hadoopInstallPath/hbase-1.0.3

./ bin/start-hbase.sh

./bin/hbase shell

第三章Spark集群安装配置

一、下载spark

下载地址:http://spark.apache.org/downloads.html

下载 /spark-1.6.0-bin-hadoop2.6.tgz

二、安装spark

2.1解压文件tar zxvf /home/hadoop/hadoopInstallFile/spark-1.6.0-bin-hadoop2.6.tgz -C /home/hadoop/hadoopInstallPath/

2.2进入安装目录cd /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/conf/

2.3复制文件并更名

cp spark-env.sh.template spark-env.sh

配置文件 vim spark-env.sh

主要配置

Java环境变量

Spark的master主机地址(spark自带的集群需要配置一个master做资源调度)

Spark的master主机端口(默认即为7077)

Spark的worker的cpu核数

Spark的worker实例数(一个worker就相当于一个进程,设置一个机器实例数)

Spark的worker的内存使用大小(设置一台机器使用内存)

其余五个配置是为了将spark安装到yarn上,此后任务调度就无需开启spark直接运行即可

(使用yarn模式时不需要去start-all.sh)

Ps:

此配置文件没有问题但是根据各台机器可用内存多少应该实际配置,不然会造成程序没错但是就是出不来程序结果尤其在yarn-client模式时

查看内存命令: cat /proc/meminfo | grep MemTotal

切记设置spark运行内存不要过大

2.4复制并更名文件

cp slaves.template slaves

vim slaves

2.5将要配置spark的节点拷贝文件

scp /home/hadoop/hadoopInstallFile/spark-1.6.0-bin-hadoop2.6.tgz sp-01:/home/hadoop/hadoopInstallFile/

scp /home/hadoop/hadoopInstallFile/spark-1.6.0-bin-hadoop2.6.tgz sp-02:/home/hadoop/hadoopInstallFile/

/home/hadoop/hadoopInstallFile/spark-1.6.0-bin-hadoop2.6.tgz sp-04:/home/hadoop/hadoopInstallFile/

每台机器分别解压文件

tar zxvf /home/hadoop/hadoopInstallFile/spark-1.6.0-bin-hadoop2.6.tgz -C /home/hadoop/hadoopInstallPath/

2.6将要配置spark的节点conf文件统一

/home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/conf

scp -r /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/conf/* sp-01:/home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/conf/

scp -r /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/conf/* sp-02:/home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/conf/

scp -r /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/conf/* sp-04:/home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/conf/

三、启动spark集群

必须在主节点执行

/home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/sbin

./start-all.sh

注:(1)、启动命令要在master节点上启动,否则可能会导致主节点服务启动不起来(在本人机器上进行过测试,只能启动worker服务)

(2)、该启动命令与hadoop启动命令相同,因此不要配置环境变量,避免命令冲突,只需进入sbin目录下启动即可

客户端访问:

sp-04:8080

Spark集群搭建启动完毕

关闭命令cd /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/sbin

stop-all.sh

四、测试spark

cd /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/bin/

./spark-shell

Yarn 测试cluster

./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster --executor-memory 1G --num-executors 1 ./lib/spark-examples-1.6.0-hadoop2.6.0.jar 10

控制台无数据输出

在界面 http://sp-04:8088/cluster  resourcesmanager查看

Yarn 测试client

cd /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/

./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-client --executor-memory 1G --num-executors 1 ./lib/spark-examples-1.6.0-hadoop2.6.0.jar 10

本机测试完成

Spark高可用配置

高可用模式主要用于standalone模式但实际生产环境都是在yarn上运行 本来可以不用配置当时为了防止以后应用配置(ps可以不开启使用)

cd  /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/conf

vim spark-env.sh

更改

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=sp-04:2181,sp-05:2181,sp-06:2181"

将每台spark机器同步

现在已经将sp-04台机器作为了主节点

先想要多加一台节点,例如我现在想将sp-03作为另一个主节点现在进行更改

只更改这一台即可

启动服务

(1)、启动zookeeper集群

./zkserver.sh start

(2)、启动spark集群(该命令无法启动master备用节点,需单独启动sp-04)

cd /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/sbin/

./start-all.sh

(3)、启动备用master节点sp-03

cd /home/hadoop/hadoopInstallPath/spark-1.6.0-bin-hadoop2.6/sbin/

./start-master.sh

页面查看:

测试spark高可用

高可用搭建完成

停掉集群(关闭standalone模式)

[hadoop@sp-03 sbin]$ ./stop-all.sh

第四章hive 安装 及配置

(hive选用版本为:apache-hive-1.1.1-bin.tar.gz)

Hive安装在第一个节点上(IP:192.168.101.121),在第二个节点上安装mysql(IP:192.168.101.199)

一、 hive下载

 将下载好的安装包放到 /home/hadoop/hadoopInstallFile目录下

二、安装hive

2.1将安装包解压到/home/hadoop/hadoopInstallPath目录下:

[hadoop@sp-01 hadoopInstallFile]$ tar -zxvf apache-hive-1.1.1-bin.tar.gz  -C /home/hadoop/hadoopInstallPath

2.2进入到安装目录下的conf目录:

[hadoop@sp-01 hadoopInstallFile]$ cd apache-hive-1.1.1-bin/conf

//配置hive-site.xml

[hadoop@sp-01 conf]$ cp hive-default.xml.template hive-site.xml

//配置 hive-conf.sh 此文件原来没有,只需要创建即可

[hadoop@sp-01 conf]$ vim hive-conf.sh

export HADOOP_HOME=/home/hadoop/hadoopInstallPath/hadoop-2.6.0

export HIVE_CONF_DIR=/home/hadoop/hadoopInstallPath/apache-hive-1.1.1-bin/conf

//配置hive-env.sh

[hadoop@sp-01 conf]$ cp hive-env.sh.template hive-env.sh

[hadoop@sp-01 conf]$ vim hive-env.sh

export HADOOP_HOME=/home/hadoop/hadoopInstallPath/hadoop-2.6.0

export HADOOP_USER_CLASSPATH_FIRST=true

export HIVE_CONF_DIR=/home/hadoop/hadoopInstallPath/apache-hive-1.1.1-bin/conf

2.3进入到安装目录下的bin目录:

[hadoop@sp-01 bin]$ vim hive-config.sh

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

export HIVE_HOME=/home/hadoop/hadoopInstallPath/apache-hive-1.1.1-bin

export HADOOP_HOME=/home/hadoop/hadoopInstallPath/hadoop-2.6.0

*******************************************************************************

启动hive时报错:

把hive-site.xml中的所有${system:java.io.tmpdir},替换为/home/hadoop/tmp/ 后又报错

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to create log directory /home/hive/tmp/${system:user.name}

at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:472)

at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:671)

at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

*******************************************************************************

把hive-site.xml中所有带有${system:java.io.tmpdir}的value值全部替换为/home/hadoop/tmp/【经检查hive-site.xml文件的value值中包含${system:java.io.tmpdir}的值有两部分所以要进行两次替换确保全部替换完】

[hadoop@sp-01 conf]$ vim hive-site.xml

替换命令::%s/${system:java.io.tmpdir}\/${hive.session.id}_resources/\/home\/hadoop\/hadoopInstallPath\/tmp/g     #此处替换结果在57行可以看到

:%s/${system:java.io.tmpdir}\/${system:user.name}/\/home\/hadoop\/hadoopInstallPath\/tmp/g    #此处替换结果在2721行可以看到

全部替换完毕后重启hive

[hadoop@sp-01 bin]$ ./hive

Logging initialized using configuration in jar:file:/home/hadoop/apache-hive-1.1.1-bin/lib/hive-common-1.1.1.jar!/hive-log4j.properties

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in [jar:file:/home/hadoop/apache-hive-1.1.1-bin/lib/hive-jdbc-1.1.1-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/home/hadoop/hadoop-2.6.4/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

hive>

启动成功……

备注;hive的数据保存在HDFS上(/user/hive/warehouse),此目录不能删除

 

2.4hive的命令所在目录添加到系统参数PATH中 

修改profile文件:

[hadoop@sp-01 ~]$ vim .bash_profile

export HIVE_HOME=/home/hadoop/hadoopInstallPath/apache-hive-1.1.1-bin

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

之后每次启动hive,只要输入“hive”即可。

三、多用户启动hive时报错

原因:是因为采用了derby这个内嵌数据库作为数据库,它不支持多用户同时访问,解决办法就是重新换MySQL作为元数据库,

问题解决:

在第二个节点上安装mysql,用yum的方式来安装MySQL,要在root用户下操作

[root@sp-02 hadoopInstallPath]#   yum -y install mysql*

执行完上述命令后,启动MySQL服务报错

[root@sp-02 hadoopInstallPath]#   service mysqld start  (报错如下)

原因:是没有执行mysql的数据库安装文件

查看启动日志:cat /var/log/mysqld.log 如下

解决方式:

[root@sp-02 hadoopInstallPath]#  mysql_install_db 执行完这条命令在启动MySQL

四、hive在mysql中持久化

登录mysql

[root@sp-02 ~]# mysql

mysql> create user 'hive' identified by 'mysql';

mysql> grant all on *.* to hive@'sp-02' identified by 'unioncast.cn';

mysql> flush privileges;

mysql> quit

Bye

修改配置文件:vim hive-site.xml

[hadoop@sp-01 ~]$cd /home/hadoop/apache-hive-1.1.1-bin/conf

[hadoop@sp-01 conf]$ vim hive-site.xml

修改配置文件中的以下内容

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://sp-02/hive?characterEncoding=UTF-8</value> #此处用的是安装MySQL那个节点的主机名(ip地址也可以),后面连接的是在MySQL创建的那个hive数据库

<description>JDBC connect string for a JDBC metastore</description>

</property>

<property>

<name>javax.jdo.option.ConnectionDriverName</name>

<value>com.mysql.jdbc.Driver</value>

<description>Driver class name for a JDBC metastore</description>

</property>

<property>

<name>javax.jdo.option.ConnectionUserName</name>

<value>hive</value>  #连接的用户名是hive用户

<description>Username to use against metastore database</description>

</property>

<property>

<name>javax.jdo.option.ConnectionPassword</name>

<value>mysql</value> #hive用户的密码是mysql

<description>password to use against metastore database</description>

</property>

进mysql中创建hive数据库

mysql> create database hive;

mysql> quit;

Bye

登录hive数据仓库创建个表测试在mysql中是否有映射

hive> create table aa(id int);

mysql> show databases;

mysql> use hive;

mysql> show tables;

mysql> select * from TBLS;

Empty set (0.00 sec)

mysql> select * from TBLS;

连接成功……

小记:做的时候把mysql-connector-java-5.1.5-bin.jar拷贝到/home/hadoop/hadoopInstallPath/apache-hive-1.1.1-bin/lib(此包可以去网上下载上)

五、测试

第五章 常见错误解决方式

一、无法关闭 NodeManager和ResourceManager

关闭重启集群时出现无法关闭 NodeManager和ResourceManager

其原因在于

yarn-daemon.sh 脚本产生的配置文件在/tmp下  而当前用户没有权限在/tmp目录下产生pid文件,即使产生也有很大的可能会被定期清理掉所以需要转移目录地址

主要修改文件是/home/hadoop/hadoopInstallPath/hadoop-2.6.0/sbin下

vim yarn-daemon.sh  hadoop-daemon.sh两个文件(切记应该先关闭在修改当前关闭使用kill-9 任务编号关闭或者kill 任务编号   任务编号使用jps命令查询)

vim yarn-daemon.sh

YARN_PID_DIR=/home/hadoop/hadoopTmp/Tmp

在/home/hadoop/hadoopTmp/目录下创建Tmp文件夹

mkdir Tmp

更改后

vim hadoop-daemon.sh

YARN_PID_DIR=/home/hadoop/hadoopTmp/Tmp

更改后

与集群中每一台机器同步

重新启动hadoop集群

start-all.sh

启动yarn

cd /home/hadoop/hadoopInstallPath/hadoop-2.6.0/sbin

./start-yarn.sh

指定文件下回生成这几个pid文件

二、系统出现两个standby

系统出现两个standby而没有active节点时查看DFSZKFailoverController是否启动。如果没有启动则需要单独启动进入/home/hadoop/hadoopInstallPath/hadoop-2.6.0/sbin

./yarn-daemon.sh start zkfc

想要DFSZKFailoverController自动需要在其中一台NameNode上重新格式化zookeeper hdfs zkfc -formatZK

解决util.NativeCodeLoader:

util.NativeCodeLoader: Unable to load native-hadoop library for your platform

文章地址

http://www.secdoctor.com/html/yyjs/31101.html

2.6.0替换包下载地址http://akamai.bintray.com/73/731a49d122fd009679c50222a9a5a4926d1a26b6?__gda__=exp=1477999546~hmac=c3edc3b5d46ee1b544147165797e33a37df0c6034060f646c374e29ec78cda8d&response-content-disposition=attachment%3Bfilename%3D%22hadoop-native-64-2.6.0.tar%22&response-content-type=application%2Foctet-stream&requestInfo=U2FsdGVkX18Z4F9qc-WicETGP2g0HHM8YwPr_ZaSw7nIT1_inzlCCD3rV4WS71l5CcwKOa9r6oe1-mVB08RN0TeQxPBlIKMP7jsZd0DbLsj3S4dNFIsREUEmR6lcDKaNai_TEy8ToFbAR3GSenbD1A

其根本原因就是版本不兼容问题需要替换

本文章有很多不足之处,希望大家多多指正。欢迎大家转载,请注明出处!码农打字不易,敬请谅解,谢谢! http://www.cnblogs.com/baierfa/p/6689022.html

hadoop2.6.0集群搭建的更多相关文章

  1. centos下hadoop2.6.0集群搭建详细过程

    一 .centos集群环境配置 1.创建一个namenode节点,5个datanode节点 主机名 IP namenodezsw 192.168.129.158 datanode1zsw 192.16 ...

  2. hadoop2.2.0集群搭建与部署

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3818908.html 一.安装环境 1.系统环境 CentOS  6.4 2.集群机器节点ip 节点一i ...

  3. CentOS6.4上搭建hadoop-2.4.0集群

    公司Commerce Cloud平台上提供申请主机的服务.昨天试了下,申请了3台机器,搭了个hadoop环境.以下是机器的一些配置: emi-centos-6.4-x86_64medium | 6GB ...

  4. 分布式Hbase-0.98.4在Hadoop-2.2.0集群上的部署

    fesh个人实践,欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3898991.html Hbase 是Apache Hadoop的数据库,能够对大数据提 ...

  5. 懒人记录 Hadoop2.7.1 集群搭建过程

    懒人记录 Hadoop2.7.1 集群搭建过程 2016-07-02 13:15:45 总结 除了配置hosts ,和免密码互连之外,先在一台机器上装好所有东西 配置好之后,拷贝虚拟机,配置hosts ...

  6. Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

    现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...

  7. hadoop-2.6.0集群开发环境配置

    hadoop-2.6.0集群开发环境配置 一.环境说明 1.1安装环境说明 本例中,操作系统为CentOS 6.6, JDK版本号为JDK 1.7,Hadoop版本号为Apache Hadoop 2. ...

  8. hadoop2.8 ha 集群搭建

    简介: 最近在看hadoop的一些知识,下面搭建一个ha (高可用)的hadoop完整分布式集群: hadoop的单机,伪分布式,分布式安装 hadoop2.8 集群 1 (伪分布式搭建 hadoop ...

  9. Linux基于Hadoop2.8.0集群安装配置Hive2.1.1及基础操作

    前言 安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可,安装前需保证Hadoop已启(动文中用到了hadoop的hdfs命 ...

随机推荐

  1. CubeSuit+ ( CS+ for ca )

    作为瑞萨单片机的初学者,最先接触的当属它的IDE了,接下来我将分享一些我使用这款单片机的心得,以供大家参考. 我使用的是RL78F13系列R5F10BGE,那如何建立一个能使用的工程呢?相信大家在网络 ...

  2. jquery获取焦点和失去焦点事件代码

    input失去焦点和获得焦点 鼠标在搜索框中点击的时候里面的文字就消失了. 我们在做网站的时候经常会用到搜索框的获得焦点和失去焦点的事件,因为懒,每次都去写非常的烦,于是就一劳永逸,遇到类似情况就来调 ...

  3. 2、各种折腾,安装交叉环境的gcc和qt,测试c++和qt程序

    本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ1222698 1.安装gcc和qt 把光盘里带的gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX2 ...

  4. SVN添加用户权限

    点击properties

  5. 基于编辑距离来判断词语相似度方法(scala版)

    词语相似性比较,最容易想到的就是编辑距离,也叫做Levenshtein Distance算法.在Python中是有现成的模块可以帮助做这个的,不过代码也很简单,我这边就用scala实现了一版. 编辑距 ...

  6. Material Theme 文件名的标签(tab)被大写了

    我们平时使用的都是小写的,今天第一次使用Material Theme 这个发现标签被大写了,百度后没找到然后自己找了找设置,解决了 原来是这样的, 设置如下 设置后: 希望能帮到有同样问题的同学

  7. thinkphp5使用PHPExcel导入Excel数据

    安装PHPExcel扩展类 地址:https://github.com/PHPOffice/PHPExcel ①通过composer安装 ②手动下载, 放在项目的extend目录下 代码中引入 由于P ...

  8. java内存溢出问题

    相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识. 在解决j ...

  9. 微信小程序入门指南

    本文同步发布在 https://www.cssge.com 因为下个项目需要用微信小程序来开发,所以就找了小程序开发文档来研究.下面记录一下微信小程序的主要开发流程和语法. 账号注册 开发小程序的第一 ...

  10. vue2.0 资源文件assets和static的区别

    资源文件处理 在我们的项目结构里,有两个资源文件的路径,分别是:src/assets 和 static/.那这两个到底有什么区别呢? Webpacked 资源 为了回答这个问题,我们首先需要理解web ...