hadoop搭建

Hadoop搭建

一、在修改hostname和hosts

1.修改hostname

sudovi/etc/hostname

2.修改hosts,是各个节点之间可以通过主机名连接

sudovi/etc/hosts

二、在Ubuntu下创建hadoop用户组和用户

1.添加hadoop用户到系统用户

sudoaddgrouphadoop

sudoadduser--ingrouphadoophadoop

2.现在只是添加了一个用户hadoop,它并不具备管理员权限,我们给hadoop用户添加权限,打开/etc/sudoers文件

sudovi/etc/sudoers

在rootALL=(ALL:ALL)ALL下添加hadoopALL=(ALL:ALL)ALL

三、配置ssh免密码连入

1.作为一个安全通信协议(ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式),使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:

ssh-keygen-trsa-P""

(注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的前者为私钥,后者为公钥)

2.进入~/.ssh/目录下,将公钥id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):

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

sshlocalhost//测试本地免密码登录

exit

3.各个节点之间SSH免密码登录

在namenode上面执行:

ssh-copy-id-I~/.ssh/id_rsa.pubdatanode//datanode是主机名

在datanode上面执行:

ssh-copy-id-I~/.ssh/id_rsa.pubnamenode//namenode是主机名

四、安装JDK

1.解压到/usr/local/jdk(可根据需要改变)

2.配置环境变量

sudovi/etc/profile

最后添加:

exportJAVA_HOME=/usr/local/jdk

exportPATH=.:$PATH:$JAVA_HOME/bin

使配置生效:

source/etc/profile

五、安装hadoop

1.解压到/usr/local/hadoop(可根据需要改变)

2.配置环境变量

sudovi/etc/profile

修改:

exportJAVA_HOME=/usr/local/jdk

exportHADOOP_HOME=/usr/local/hadoop

exportPATH=.:$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

使配置生效:

source/etc/profile

3.要确保所有的操作都是在用户hadoop下完成的,所以将该hadoop文件夹的属主用户设为hadoop

sudochown-Rhadoop:hadoophadoop

4.配置hadoop-env.sh

sudovi/usr/local/hadoop/conf/hadoop-env.sh

在:#exportJAVA_HOME=/usr/lib/j2sdk1.5-sun后面添加:

exportJAVA_HOME=/usr/local/jdk

使配置生效:

source/usr/local/hadoop/conf/hadoop-env.sh

六、分布模式的一些配置

这里需要设定5个文件:core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves都在/usr/local/hadoop/conf目录下

core-site.xml:HadoopCore的配置项,例如HDFS和MapReduce常用的I/O设置等。

hdfs-site.xml:Hadoop守护进程的配置项,包括namenode,辅助namenode和datanode等。

mapred-site.xml:MapReduce守护进程的配置项,包括jobtracker和tasktracker。

masters:添加namenode节点的IP。

slaves:添加datanode节点的IP。

1.core-site.xml:

<configuration>

<property>

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

<value>/usr/local/hadoop/tmp</value>

<description>hadoop的运行临时文件的主目录</description>

</property>

<property>

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

<value>hdfs://hadoop:9000</value>

<description>HDFS的访问路径</description>

</property>

</configuration>

2.hdfs-site.xml:

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

<description>存储副本数</description>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

</configuration>

3.mapred-site.xml:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>hadoop:9001</value>

<description>JobTracker的访问路径</description>

</property>

</configuration>

4.masters

去掉默认的localhost,添加namenode的ip地址

5.slaves

去掉默认的localhost,添加datanode的ip地址

七、复制JDK和Hadoop到其它节点

scp–r/usr/local/jdkhadoop@datanode:/usr/local

scp–r/usr/local/hadoophadoop@datanode:/usr/local

scp–r/etc/profilehadoop@datanode:/etc

注意各个节点文件的权限问题。

八、格式化文件系统

1.hdfs是文件系统,所以在第一次使用之前需要进行格式化

/usr/local/hadoop/bin/hadoopnamenode-format

九、启动

1.一次性全部启动

/usr/local/hadoop/bin/start-all.sh

2.单独启动hdfs

/usr/local/hadoop/bin/start-dfs.sh

3.单独启动MapReduce

/usr/local/hadoop/bin/start-mapred.sh

十、网页中查看状态

1.http://192.168.2.226:50070/dfshealth.jsp网址为namenode节点对应IP

2.http://192.168.2.226:50030/jobtracker.jsp网址为namenode节点对应IP

相关推荐