hadoop环境搭建

该文档转自:http://blog.csdn.net/ab198604/article/details/8250461

                                             http://mp.weixin.qq.com/s__biz=MzI5MDQzMDk2OQ==&mid=2247483667&idx=1&sn=3534809c7ad63249b3d37772a060ce7b

1、修改主机名称

对master/slave1/slave2同时配置为Master/Slave1/Slave2

master@Master:~$ sudo gedit /etc/hostname


2、填写主机IP

对master/slave1/slave2同时配置

master@Master:~$ sudo gedit /etc/hosts


192.168.48.128 master
192.168.48.129 slave1
192.168.48.130 slave2




3、建立hadoop用户组及新用户

对master/slave1/slave2同时配置

hadoop集群专门设置一个用户组及用户

master@Master:~$ sudo groupadd hadoop    //设置hadoop用户组

master@Master:~$ sudo useradd -s /bin/bash -d /home/hnu -m hnu -g hadoop   //添加一个hnu用户,此用户属于hadoop用户组。

master@Master:~$ sudo passwd hnu   //设置用户hnu登录密码

master@Master:~$ su hnu  //切换到hnu用户中

 

上述3个虚机结点均需要进行以上步骤来完成hadoop运行帐号的建立。



4、 配置ssh免密码连入

对master/slave1/slave2同时配置

Ubuntu下安装sshsudo apt-get install openssh-server

master@Master:~$ sudo apt-get install openssh-server



(1)     每个结点分别产生公私密钥。

hnu@Master:~$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

以上命令是产生公私密钥,产生目录在用户主目录下的.ssh目录中,如下:

hnu@Master:~$ cd .ssh

hnu@Master:~$ ls

Id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件,这个步骤是必须的,过程如下:

hnu@Master:~/.ssh$ cat id_dsa.pub >> authorized_keys

hnu@Master:~/.ssh$ ls

用上述同样的方法在剩下的两个结点中如法炮制即可。


(2)     单机回环ssh免密码登录测试

即在单机结点上用ssh进行登录,看能否登录成功。登录成功后注销退出,过程如下:

hnu@Master:~$ ssh localhost

单点回环SSH登录及注销成功,这将为后续跨子结点SSH远程免密码登录作好准备。

用上述同样的方法在剩下的两个结点中如法炮制即可。


(3)     让主结点(master)能通过SSH免密码登录两个子结点(slave

为了实现这个功能,两个slave结点的公钥文件中必须要包含主结点的公钥信息,这样master就可以顺利安全地访问这两个slave结点了。操作过程如下:

hnu@Slave1:~/.ssh$ scp hnu@master:~/.ssh/id_dsa.pub ./master_dsa.pub

hnu@Slave1:~/.ssh$  cat master_dsa.pub >> authorized_keys

如上过程显示了slave1结点通过scp命令远程登录master结点,并复制master的公钥文件到当前的目录下,这一过程需要密码验证。接着,将master结点的公钥文件追加至authorized_keys文件中,通过这步操作,如果不出问题,master结点就可以通过ssh远程免密码连接slave1结点了。


master结点中操作如下:

hnu@Master:~$ ssh slave1

slave1结点首次连接时需要,“YES”确认连接,这意味着master结点连接slave1结点时需要人工询问,无法自动连接,输入yes后成功接入,紧接着注销退出至master结点。要实现ssh免密码连接至其它结点,还差一步,只需要再执行一遍ssh slave1,如果没有要求你输入”yes”,就算成功了,node2结点也可以用同样的方法进行Master通过ssh免密码登录至node2结点测试:


表面上看,这两个结点的ssh免密码登录已经配置成功,但是我们还需要对主结点master也要进行上面的同样工作,这一步有点让人困惑,但是这是有原因的,具体原因现在也说不太好,据说是真实物理结点时需要做这项工作,因为jobtracker有可能会分布在其它结点上,jobtracker有不存在master结点上的可能性。

master自身进行ssh免密码登录测试工作:

hnu@Master:~/.ssh$ scp hnu@master:~/.ssh/id_dsa.pub  ./master_dsa.pub

hnu@Master:~/.ssh$ cat master_dsa.pub  >> authorized_keys

hnu@Master:~/.ssh$ ssh master


至此,SSH免密码登录已经配置成功。


5、JDK与HADOOP环境变量配置

对master/slave1/slave2同时配置

解压JDK

master@Master:~$ sudo tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt


master@Master:~$ sudo gedit /etc/profile

#JAVA

export JAVA_HOME=/opt/jdk1.8.0_91

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

#HADOOP

export HADOOP_PREFIX=/home/hnu/hadoop-2.6.0

export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib:$HADOOP_PREFIX/lib/native"


6、HADOOP安装与配置

对master配置

解压hadoop

master@Master:~$ sudo tar -zxvf hadoop-2.6.0.tar.gz -C /home/hnu


master@Master:/home/hnu/hadoop-2.6.0/etc/hadoop$

1)  core-site.xml

<configuration>

<property>

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

<value>file:/home/hnu/hadoop-2.6.0/tmp</value>

<description>A base for other temporary directories.</description>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

<property>

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

<value>4096</value>

</property>

</configuration>

 

2)   hadoop-env.sh 添加如下环境变量(一定要添加切勿少了) 

export JAVA_HOME=/opt/jdk1.8.0_91

export HADOOP_PID_DIR=/home/hnu/hadoop-2.6.0/pids

在yarn-env.sh下添加如下环境变量

export JAVA_HOME=/opt/jdk1.8.0_91

export YARN_PID_DIR=/home/hnu/hadoop-2.6.0/pids

3) hdfs-site.xml 

<configuration>

<property>

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

<value>file:/home/hnu/hadoop-2.6.0/name</value>

</property>

<property>

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

<value>file:/home/hnu/hadoop-2.6.0/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>master:50090</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>

4)  mapred-site.xml 

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

<final>true</final>

</property>

<property>

<name>mapreduce.jobtracker.http.address</name>

<value>master:50030</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>master:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master:19888</value>

</property>

<property>

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

<value>http://master:9001</value>

</property>

</configuration>


5) yarn-site.xml 

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>master:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

</configuration>

6)slaves

slave1

slave2

7、向各节点复制hadoop

向slave1节点复制hadoop:

hnu@Master:~$  scp -r ./hadoop-2.6.0/ slave1:~

向slave2节点复制hadoop:

hnu@Master:~$  scp -r ./hadoop-2.6.0/ slave2:~

8、赋予权限

对master/slave1/slave2执行相同操作

将目录hadoop文件夹及子目录的所有者和组更改为用户hnu和组hadoop

root@Master:/home/hnu# chown -R hnu:hadoop hadoop-2.6.0



9、格式化hadoop

hnu@Master:~$ source /etc/profile

hnu@Master:~$ hdfs namenode -format




10、启动/关闭hadoop

start-all.sh/stop-all.sh

start-dfs.sh/start-yarn.sh

stop-dfs.sh/stop-dfs.sh





查看hdfs/RM

192.168.48.128:50070/192.168.48.128:8088

master:50070/master:8088



注:

1) hadoop集群启动jps查看后没有DATANODE 

删除slave1/slave2  中  /home/zgx/hadoop/data/current/VERSION文件后重启即可







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值