Precondition:

hadoop 2.7.1

Nutch 2.3

hbase 1.0.1.1 / hbase 0.98.13

solr 4.8.1

Linux version 3.16.0-4-amd64

jdk1.8.0_45

hadoop编译部署

1. 安装相关软件

apt-get install ssh rsync

apt-get install openssh-server

apt-get install maven

apt-get install autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

hadoop 使用openjdk可能导致问题,必须使用sun jdk。也就是不能“apt-get install default-jdk”

这篇文章使用的都是jdk1.8.0_45

hadoop 须要使用protobuf2.5,不是最新的2.6,能够从我的资源里面下载,网上也有。

执行protoc 2.5 的时候须要加上export LD_LIBRARY_PATH=/usr/local/lib

2. ssh免password登录,网上有非常多參考

1) cd /root/

2) ssh-keygen -t rsa

/root/.ssh/下生成id_rsa和id_isa.pub两个文件

3) ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.106

将本机id_isa.pub复制到对方。

4) ssh 192.168.1.106

5) 遇到权限问题。能够尝试:

chmod 700 -R .ssh

chmod 644 /root/.ssh/authorized_keys

3. 编译hadoop前准备

export LD_LIBRARY_PATH=/usr/local/lib

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

export JRE_HOME=${JAVA_HOME}/jre 

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 

export PATH=${JAVA_HOME}/bin:$PATH

4. mvn clean package -Pdist,native -DskipTests -Dtar

mvn可能由于下载挂住。停止再执行一下mvn package -Pdist,native -DskipTests -Dtar就好了

将编译好的tar文件解压就可以

5. 部署前准备,两台机器192.168.1.105(datanode) / 192.168.1.106(namenode / datanode)

下面改动都是在192.168.1.106上面改动,然后scp到另外机器

/etc/profile

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

export HADOOP_HOME=/disk2/hadoop/hadoop-2.7.1

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

6. $HADOOP_HOME/etc/hadoop/hadoop-env.sh

该文件是hadoop执行基本环境的配置。须要改动的为java虚拟机的位置。

export JAVA_HOME=${JAVA_HOME} =>

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

7. $HADOOP_HOME/etc/hadoop/yarn-env.sh

该文件是yarn框架执行环境的配置,相同须要改动java虚拟机的位置。

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

8. $HADOOP_HOME/etc/hadoop/slaves

直接输入机器IP就可以

192.168.1.105

192.168.1.106

9.參考改动:

$HADOOP_HOME/etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.106:9000</value>
</property>
</configuration>

$HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration>
<property>
<name>dfs.http.address</name>
<value>192.168.1.106:50070</value>
</property> <property>
<name>dfs.namenode.secondary.http-address</name><value>192.168.1.106:50090</value>
</property> <property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/disk2/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/disk2/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

$HADOOP_HOME/etc/hadoop/mapred-site.xml

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.1.106:9001</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/disk2/hadoop/hdfs/mapred.system.dir</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/disk2/hadoop/hdfs/mapred.local.dir</value>
</property>
</configuration>

10. 创建必须文件夹

mkdir -p /disk2/hadoop/hdfs/mapred.local.dir

mkdir -p /disk2/hadoop/hdfs/mapred.system.dir

mkdir -p /disk2/hadoop/hdfs/name

mkdir -p /disk2/hadoop/hdfs/data

11.部署到其它机器

scp /etc/profile 192.168.1.105:/etc/

scp -r hadoop-2.7.1/ 192.168.1.105:/disk2/hadoop/

12. 格式化namenode
bin/hdfs namenode -format
13. 启动
sbin/start-all.sh
14:測试
http://192.168.1.106:50070

http://192.168.1.106:8088

应该都能訪问

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar pi 20 10



NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(一)的更多相关文章

  1. NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(三)

     Precondition: hadoop 2.7.1 hbase 0.98.13 solr 5.2.1 / Apache Solr 4.8.1 http://archive.apache.org ...

  2. NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(二)

     Precondition: hadoop 2.7.1 hbase 1.0.1.1 / hbase 0.98.13 192.168.1.106 ->master 192.168.1.105 ...

  3. hadoop2.6.0 + hbase-1.0.0 伪分布配置

    1 基本配置 主机名: 192.168.145.154 hadoop2 ======= 2 etc/hadoop下文件配置 1)core-site.xml <configuration> ...

  4. Hadoop2.7.5+Hbase1.4.0完全分布式

    Hadoop2.7.5+Hbase1.4.0完全分布式一.在介绍完全分布式之前先给初学者推荐两本书:<Hbase权威指南>偏理论<Hbase实战>实战多一些 二.在安装完全分布 ...

  5. Ubuntu 14.10 下ZooKeeper+Hadoop2.6.0+HBase1.0.0 的HA机群高可用配置

    1 硬件环境 Ubuntu 14.10 64位 2 软件环境 openjdk-7-jdk hadoop 2.6.0 zookeeper-3.4.6 hbase-1.0.0 3 机群规划 3.1 zoo ...

  6. mac下安装伪分布hadoop2.6.0和hbase1.0.1.1

    1.安装JDK,我安装的是java1.7 2.创建管理员账户 3.安装ssh服务(如果已有跳过此步) 4.ssh无密码验证登陆 以上过程略,可参考ubuntu下安装hadoop一文. 5.下载并解压h ...

  7. Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境

    Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一.环境说明 个人理解:zookeeper可以独立搭建集群,hbase本身不能独立搭建集群需要和hadoo ...

  8. hadoop: hbase1.0.1.1 伪分布安装

    环境:hadoop 2.6.0 + hbase 1.0.1.1 + mac OS X yosemite 10.10.3 安装步骤: 一.下载解压 到官网 http://hbase.apache.org ...

  9. HBase1.0以上版本的API改变

    HBase1.0以上版本已经废弃了 HTableInterface,HTable,HBaseAdmin等API的使用,新增了一些API来实现之前的功能: Connectioninterface: Co ...

随机推荐

  1. HDU 3240

    求卡特兰数前N项的和模M. 直接求必定是不可能的,卡特兰数太大了.想了好久,本打算把位数拆成素数相乘,然后记录下各素数的个数计算.可惜,TLE....因为N太大了. 除法必定是要用到逆元的,但分母与M ...

  2. 阿里云server部署架构

    近期要上马一个项目,客户要求所有部署到阿里云的server,做了一个阿里云的部署方案. 上图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21hbGx ...

  3. Android socket 使用PrintWriter和BufferedReader发送和接收出现乱码问题解决

    项目中用到了Android和C++的通信.选择了用socket 发送字符的方式,一開始使用的代码是: socket=new Socket(); InetSocketAddress isa = new ...

  4. android:异步任务asyncTask介绍及异步任务下载图片(带进度条)

    为什么要用异步任务? 在android中仅仅有在主线程才干对ui进行更新操作.而其他线程不能直接对ui进行操作 android本身是一个多线程的操作系统,我们不能把全部的操作都放在主线程中操作 .比方 ...

  5. iOS开发之UIAlertController的适配

    在iOS8中,只能用UIAlertController.而原来的UIAlertView及UIActionSheet已经被抛弃掉了.但是如果一台iOS 7 的手机运行到有UIAlertControlle ...

  6. vue中router-link的click事件失效的解决办法

    title: vue中router-link的click事件失效的解决办法 toc: false date: 2018-12-04 16:28:49 categories: Web tags: vue ...

  7. validform

    一.validform是什么?            validform是一款智能的表单验证js插件,它是基于jQuery库与css,我们只需要把表单对象放入,             就可以对整个表 ...

  8. requireJS实现原理分析

    下面requireJS实现的基本思路  项目地址https://github.com/WangMaoling/require var require = (function(){ //框架版本基本信息 ...

  9. PostgreSQL 事务管理的MVCC

    PostgreSQL的并发控制机制同时实现了多版本控制MVCC协议和两阶段封锁协议.实际采用哪种协议取决于所执行的语句类型. DML语句的并发控制将使用MVCC协议: DDL语句的并发控制基于标准的两 ...

  10. ARC下dealloc过程及.cxx_destruct的探究

    我是前言 这次探索源自于自己一直以来对ARC的一个疑问,在MRC时代,经常写下面的代码: - (void)dealloc { self.array = nil; self.string = nil; ...