hadoop 2.6 完全分布式安装过程及记录 (详细版)

1.

首先是编译hadoop2.6

当然也可以安装二进制版本的,不过用别人编译的二进制有时是容易出问题的,因为每个二进制文件是依赖于你的linux下的lib的,lib好找,问题在于版本的兼容问题!所以你不想出现这种差错就好好自己编译吧!特别是hadoop的native(本地库),例如官方是提供32位的,并不提供64,基本就是这个原因

 

编译完后,安装hadoop,由于hadoop是使用ssh来连接的,所以配置时我们仅配置一个hadoop,让后通过scp把hadoop发给其他机器

 

3.

如果你有几台机器,就在连接在同一个网段下,作为学生我没几台机器况且使用很渣的笔记--没显卡,赛扬双核(估计是最低配制了)

我们这里是使用VM 开启两个ubuntu server即早期的Jeos演变的,安装最后时不要添加任何组件(如果你的机器很棒就忽略我说的),每台机器分配512M的内存(如果有条件的话,自行增加)。

这里我们只是开启一个linux,让后配置玩hadoop后就利用VM克隆。

为了避免其他问题我们在克隆后(记得是克隆后修改)修改hostname,具体 sudo vi /etc/hostname (如第一台linux1,第二台linux2) ,让后修改vi /etc/hosts 的域名和ip的映射,把本来的hostname(一般对应127.0.1.1)修改成(第一台时为linux1或第二台机器时为linux2),总之hostname和hosts的域名和ip要对应,

 

2.检测native库

 

linux@ubuntu:~$ hadoop checknative -a
15/09/18 20:22:12 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
15/09/18 20:22:12 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop:  true /usr/local/hadoop-2.6.0/lib/native/libhadoop.so.1.0.0
zlib:    true /lib/i386-linux-gnu/libz.so.1
snappy:  false 
lz4:     true revision:99
bzip2:   false 
openssl: true /usr/lib/i386-linux-gnu/libcrypto.so
15/09/18 20:22:12 INFO util.ExitUtil: Exiting with status 1
linux@ubuntu:~$ 

3.配置域名和ip的映射

vi /etc/hosts

添加

192.168.216.134 master

192.168.216.135 slave1

192.168.216.136 slave2

192.168.216.137 slave3

我们当前的机器是 master ,其ip查看通过 ifconfig查看,而slavex的ip是master的累加,因为VM克隆时正常情况下ip是递增的

 

4.配置ssh

 

$ ssh-keygen -t rsa 
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
$ chmod 0600 ~/.ssh/authorized_keys

 

 由于我们等会是在虚拟器里是通过克隆来添加一个datanode的机器的,所以不用scp公钥authorized_keys到其他机器中

 

测试之前添加shh的host no check规则

ssh  -o StrictHostKeyChecking=no  master

ssh  -o StrictHostKeyChecking=no  slave1

ssh  -o StrictHostKeyChecking=no  slave2


 

回环测试ssh

ssh localhost

 

不出意外不会报错的

退出ssh远程 直接在命令行exit

 

5.hadoop的配置

JDK的安装我就忽略了,一个基本的操作

 

把编译好的hadoop移动到/usr/local

添加环境配置

#HADOOP_ENV
export HADOOP_HOME=/usr/local/hadoop-2.6.0 
export HADOOP_MAPRED_HOME=$HADOOP_HOME 
export HADOOP_COMMON_HOME=$HADOOP_HOME 
export HADOOP_HDFS_HOME=$HADOOP_HOME 
export YARN_HOME=$HADOOP_HOME 
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin 
export HADOOP_INSTALL=$HADOOP_HOME 
export HADOOP_PREFIX=$HADOOP_HOME 
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib:$HADOOP_PREFIX/lib/native"


接下来配置hadoop

 

cd ${HADOOP_HOME}/etc/hadoop/


 


hadoop-env.sh 该文件是hadoop运行基本环境的配置,需要修改的为java虚拟机的位置。

修改JAVA_HOME值为本机安装位置(如,export JAVA_HOME=/usr/lib/jvm/java7)


 

yarn-env.sh 该文件是yarn框架运行环境的配置

修改JAVA_HOME值为本机安装位置(如,export JAVA_HOME=/usr/lib/jvm/java7)

 

slaves 该文件里面保存所有slave节点的信息

写入以下内容(hosts里从机的主机名): slave1 ########(我们值添加一个datanode)

 

core-site.xml

<configuration>
     <property>
        <name>hadoop.tmp.dir</name>
       <value>/home/ubuntu/hadoop/fs/tmp<value>
     </property>
     <property>
        <name>fs.default.name</name>
        <value>hdfs://master:9000</value>
     </property>
</configuration>

/home/ubuntu/hadoop/fs/tmp需要自已创建

hdfs-site.xml
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/home/ubuntu/hadoop/fs/name</value>
	</property>
	<property>
		<name>dfs.datannode.data.dir</name>
		<value>/home/ubuntu/hadoop/fs/data</value>
	</property>
</configuration>

/home/ubuntu/hadoop/fs/data需要自已创建

/home/ubuntu/hadoop/fs/name需要自已创建


 

mapred-site.xml
<configuration>
	<property>
		<name>mapred.job.tracker</name>
		<value>master:9001</value>
	</property>	
	<property>
		<name>mapred.reduce.tasks</name>
		<value>1</value>
	</property>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</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>
</configuration>



 

yarn-site.xml
<configuration>
	<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.webapp.address</name>
		<value>master:8088</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.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
		<value>org.apache.hadoop.mapred.ShuffleHandler</value>
	</property>
</configuration>

6.让后克隆linux1,开启两个VM后,在linux1即master

记得克隆后改hostname,上面已经讲

 

start-dfs.sh

start-yarn.sh

由于我们在ubuntu servier里是没有界面的,所以我们可以在同一个网段下的win7或其他机器输入

http://192.168.216.134:50070/

datanode正常

 



 

 

namenode正常

如果datanode无法开启就查看log

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值