Hadoop 添加数据节点(datanode)


前提条件:

安装jdk-6u18

 

实现目的:

在hadoop集群中添加一个新增数据节点。

 

 

1. 创建目录和用户

mkdir /app/hadoop

usergroup hadoop

useradd licz -ghadoop -d /app/hadoop

chownlicz:hadoop /app/hadoop

 

2. 修改环境变量

[licz@server123 ~]$ vi .bash_profile

 

PATH=$PATH:$HOME/bin

export LANG=zh_CN

export PATH

unset USERNAME

 

export HADOOP_HOME=/app/hadoop/hadoop-1.2.1

export JAVA_HOME=/usr/java/jdk1.6.0_18

export HIVE_HOME=/app/hadoop/hive-0.11.0

 

export PIG_HOME=/app/hadoop/pig-0.12.0

export PIG_CLASSPATH=/app/hadoop/pig-0.12.0/conf

 

PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:$HADOOP_HOME/bin:$PIG_HOME/bin:$HIVE_HOME/bin

 

export PATH

 

export HADOOP_HOME_WARN_SUPPRESS=1

 

 

 

3. 修改host文件,添加服务器

[root@server123 ~]# vi /etc/hosts

10.1.32.91             nticket1

10.1.32.93             nticket2

10.1.32.95             nticket3

10.1.5.123             server123

 

同样在其它各节点都添加新的server123服务器

 

4. 配置ssh免密码连入

步骤为:

->在新节点上生成自己的密钥

->把原集群中的密钥复制添加到新节点的密钥当中

->再把新节点上的新密钥复制(覆盖)到原集群中的新节点

 

--首先,为了避免误操作,操作之前要先备份原集群的密钥文件

[licz@nticket1 .ssh]$ cp authorized_keysauthorized_keys.bak

 

[licz@server123 ~]$ ssh-keygen -t rsa

[licz@server123 ~]$ cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

 

[licz@server123 ~]$ ssh nticket1 cat~/.ssh/authorized_keys >> ~/.ssh/authorized_keys

 

[licz@server123 ~]$ scp ~/.ssh/authorized_keysnticket1:~/.ssh/authorized_keys

[licz@server123 ~]$ ssh nticket1 date

2014年 02月 12日 星期三 11:31:08 CST

[licz@nticket1 .ssh]$ ssh server123 date

三  2月 1211:25:57 CST 2014

 

--同样把新新密钥复制(覆盖)到原集群中的新节点

[licz@server123 ~]$ scp ~/.ssh/authorized_keysnticket2:~/.ssh/authorized_keys

[licz@server123 ~]$ scp ~/.ssh/authorized_keysnticket3:~/.ssh/authorized_keys

 

5. 修改hadoop配置文件

--在各节点修改hadoop的配置文件

[licz@nticket1 conf]$ vi slaves

nticket2

nticket3

server123

 

6. 安装hadoop

--把集群中的hadoop复制到新节点

[licz@nticket2~]$ scp -r hadoop-1.2.1/server123:/app/hadoop

 

7. 在新节点上启动datanode和tasktracker

[licz@server123~]$ hadoop-daemon.sh start datanode

startingdatanode, logging to /app/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-licz-datanode-server123.out

[licz@server123~]$ hadoop-daemon.sh start tasktracker

startingtasktracker, logging to /app/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-licz-tasktracker-server123.out

 

--测试安装成功

[licz@server123 ~]$ jps

18356 DataNode

18517 TaskTracker

18780 Jps

 

 

 

8. 进行block块的均衡

--在hdfs-site.xml中增加设置balance的带宽,默认只有1M:

<property>

   <name>dfs.balance.bandwidthPerSec</name>

    <value>10485760</value>

    <description>

        Specifies the maximum bandwidth thateach datanode can utilize for the balancing purpose in term of the number ofbytes per second.

    </description>

</property>

 

运行以下命令:

[licz@server123conf]$ start-balancer.sh -threshold 5

startingbalancer, logging to /app/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-licz-balancer-server123.out

 

--测试

[licz@server123~]$ hadoop dfs -ls /user/hive

Found 1 items

drwxr-xr-x   - licz supergroup          0 2014-02-10 11:25/user/hive/warehouse

 

相关内容