hdfs集群安装与配置

hdfs集群安装与配置

准备

1.1创建新用户

sudo useradd  hadoop   //新建hadoop用户

sudo passwd  hadoop   //输入密码

sudo vi /etc/sudoers  //添加hadoop的sudo权限; 新增一行:hadoop  ALL=(ALL)       ALL

1.2安装JAVA

  1. 下载 java ,jdk1.6 以上

  2. 有很多下tar.gz 包的不能正常安装,建议用apt-get 或者下载bin 格式的安装包。

2.配置hosts与hostname

sudo vi /etc/hosts

编辑内容:

192.168.1.80   ns(主机名,尤其是namenode,不能包含下划线)

192.168.1.81   ds1

192.168.1.82   ds2

192.168.1.83   ds3

192.168.1.84   ds4

192.168.1.85   ns2

所有节点均按以上配置

修改各结点上的主机名:

hostname ns(临时生效,可通过修改/etc/hostname)

其它结点也和上面hosts中的主机名配置保持一致

3.安装配置ssh

3.1  ssh安装略

3.2  ssh配置:

在ns上:

ssh-keygen –t rsa

一直按回车使用默认配置

将ns上的公钥拷贝到ns2和各个ds:

scp ~/.ssh/id_rsa.pub hadoop@target:~/master_key

在除ns外的节点上:

mkdir ~/.ssh

chmod 700 ~/.ssh

cat ~/master_key >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

尝试从ns用ssh连接其它节点,如果不需要输入密码则配置成功

4.安装hadoop

4.1解压并创建必要目录

(所有节点操作和配置均相同)

获取包hadoop-1.0.3.tar.gz至/home/hadoop

su  hadoop  

cd  ~

tar  zxvf   hadoop-1.0.3.tar.gz

cd  hadoop-1.0.3

mkdir data

mkdir tmp

chmod 755 data

4.2 配置各个节点角色

(masters 和 slaves 这两个配置文件可以只在ns上编辑配置)

vi  ~/hadoop-1.0.3/conf/masters    

编辑内容:

ns2   

#这里ns2代表secondnamenode 的hostname

vi  ~/hadoop-1.0.3/conf/slaves   

编辑内容:

ds1

ds2

ds3

ds4

#以上的为各个datanode的hostname

4.3配置hadoop-env.sh、hdfs-site.xml和core-site.xml

(所有节点操作和配置均相同)

vi ~/ hadoop-1.0.3/conf/hadoop-env.sh

修改内容:

export JAVA_HOME=/usr/lib/jvm/java-1.6.0

#以上环境变量要设置为系统java的安装路径

vi ~/hadoop-1.0.3/conf/hdfs-site.xml

编辑内容:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/hadoop-1.0.3/name</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/hadoop-1.0.3/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>4096</value>

</property>

<property>

<name>dfs.namenode.handler.count</name>

<value>1000</value>

</property>

<property>

<name>dfs.datanode.handler.count</name>

<value>1000</value>

</property>

<property>

<name>dfs.client.block.write.retries</name>

<value>10</value>

</property>

<property>

<name>dfs.datanode.max.xcievers</name>

<value>2560000</value>

</property> </configuration>

vi ~/hadoop-1.0.3/conf/core-site.xml

编辑内容:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://ns:9000/</value>         //ns代表namenode的hostname

</property>

<property>

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

<value>/home/hadoop/hadoop-1.0.3/tmp</value>

</property>

<property>

<name>dfs.datanode.socket.write.timeout</name>

<value>3000000</value>

</property>

<property>

<name>dfs.socket.timeout</name>

<value>3000000</value>

</property>

</configuration>

4.4配置/etc/profile

(所有节点操作和配置均相同)

  • 配置 /etc/profile (配置完后输入source /etc/profile 生效),添加:

export JAVA_HOME=/java的安装路径

export JRE_HOME=$JAVA_HOME/jre

export HADOOP_HOME=/home/hadoop/hadoop20/

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

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

5.启动hdfs

5.1格式化namenode

hadoop namenode –format

5.2启动hdfs

start-dfs.sh

5.3检测是否成功启动

(1)在各个节点上执行jsp,观察是否都有对应的hdfs进程(namenode、secondarynamenode、datanode)

(2)在namenode上执行:hadoop fsck  /

    检查hdfs状态

(3)在namemode上执行:hadoop dfsadmin –report

    查看hdfs文件系统信息,包括空间容量和已用空间

(4)hadoop fs –ls /

    查看hdfs根目录下所有文件

    hadoop fs –put localfile /hdfsfile

    将本地文件系统上localfile文件拷贝到hdfs根目录下hdfsfile文件

    如果有提示“hdfs is in safemode”,执行:hadoop dfsadmin –safemode leave

常用命令:

hadoop –fs rm /file

stop-all.sh

相关推荐