Ubuntu14.04下hadoop2.6.0集群安装

Setup Hadoop On Ubuntu 14.04 Linux
—Multi-Node Cluster

Create user Hadoop

$ sudo useradd -m hadoop -s /bin/bash
$ sudo passwd Hadoop
$ sudo adduser Hadoop sudo

Then use user hadoop to login.
To install software by apt, we should update apt first: (if there can’t update, please change the software source)

$ sudo apt-get update

Install SSH server

$ sudo apt-get install openssh-server
$ ssh localhost
$ exit
$cd ~/.ssh
$ ssh-keygen –t rsa    # if wait here, just push enter
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys	# then can use ‘$ ssh Master’ to test
$ scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/   # copy to Slave1, the same to Slave2

Then on node Slave1 and Slave2, run:

$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

Master can passphraseless SSH to Slave1 and Slave2.
Note: every node should install SSH server.

Install and configure Java
There are 2 ways to install java:
1) OpenJDK 7 (convenience)

$ sudo apt-get install openjdk-7-jre openjdk-7-jdk

Default position of OpenJDK is /usr/lib/jvm/java-7-openjdk-amd64, use ‘$ java –version’ to test.
Configure variable JAVA_HOME:

$ vim ~/.bashrc

Add a line like this in the first line place in this file and save:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

$ source ~/.bashrc    # set the variable to take effect
$ echo $JAVA_HOME     # test

2) Oracle JDK7
See http://www.cnblogs.com/kingatnuaa/p/4151824.html
Note: java version.

Install Hadoop

cd ~/Download
sudo tar -zxvf ./hadoop-2.6.0.tar.gz -C /usr/local  # decompress to /usr/local
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop            # change file name to hadoop
sudo chown -R hadoop:hadoop ./hadoop        # change file owner
cd ./hadoop
./bin/Hadoop # test hadoop

Network configure
Edit /etc/hostname on every node to their own name.

Edit /etc/hosts on every node: (use ‘$ ifconfig’ to check the IP on every node)

Master 192.168.216.128
Slave1 192.168.216.129
Slave2 192.168.216.130

Then ping (e.g. ‘$ ping Slave1’) to each other to test if it has worked.

Configuration setups
Under /usr/local/Hadoop/etc/Hadoop/, edit the following files.

File: slaves    # your slave node name

Slave1  
Slave2
File: core-site.xml 

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://Master:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/local/hadoop/tmp</value>
    <description>Abase for other temporary directories.</description>
</property>
File: hdfs-site.xml # dfs.replication value is number of Slave

<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>Master:50090</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>

this file is not exist, you should copy from template like this:

$ cp mapred-site.xml.template mapred-site.xml
File: mapred-site.xml   

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
File: yarn-site.xml 

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>Master</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

Finish like this, copy Hadoop file on Master to other nodes (Slave1 & Slave2), run on Master:

$ sudo tar –zcf hadoop.tar.gz hadoop
$ scp Hadoop.tar.gz Slave1:/home/hadoop

Run on Slave1 (the same as Slave2):

$ sudo tar -zxf ~/hadoop.tar.gz -C /usr/local
$ sudo chown -R hadoop:hadoop /usr/local/hadoop

First run

$ bin/hdfs namenode –format    #just run once

Start cluster

$ sbin/start-dfs.sh
$ sbin/start-yarn.sh

Hadoop web interfaces

http://master:50070/ - web UI for HDFS name node(s)

Run a Map Reduce job, Wordcount or Grep
Create a directory in HDFS, and put some files to input, and list the files:

$ bin/hdfs dfs –mkdir –p /user/hadoop
$ bin/hdfs dfs –put etc/hadoop input
$ bin/hdfs dfs –ls etc/Hadoop/input

Run WordCount:

$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount input output

Or run Grep:

$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+'

Look up job’s schedule in address: http://master:8088/cluster

Stop cluster

$ sbin/stop-dfs.sh
$ sbin/stop-yarn.sh

参考:http://www.powerxing.com/install-hadoop-cluster/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值