前文 已经完成了编译,接下来就是部署了
这里部署还是采用伪分布式部署,硬件条件没办法,我的破机器内存实在是拖不起三台,只能装一台用伪分布式了.
1.基本安装
找到我们刚才编译好的安装包
拷贝出来 #cp ./hadoop-2.8.1.tar.gz /etc/software
老规矩
解压 #tar -xzvf ~/software/hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/app
配置环境变量
export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH
保存应用
试验下 #which hadoop
2.配置SSL免密登录
先给Root加
#cd ~
#ssh-keyge
#cd .ssh
#cat id_rsa.pub >> authorized_keys
可以看到除了第一次需要确认yes之后,后面继续访问都会直接通过了
再给Hadoop用户加
先切到hadoop用户去 #su - hadoop
#cd ~
#ssh-keygen
#cd .ssh
#cat id_rsa.pub >> authorized_keys
#chmod 600 authorized_keys
切记如果是非管理员用户设置,必须执行红色部分提权,否则会报权限问题设置不成功,切记切记
设置成功
3.配置 core-site.xml
#vi ~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop000:9000</value>
</property><property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
4.配置 hdfs-site.xml
#vi ~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop000:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>hadoop000:50091</value>
</property>
5.配置 slaves
#vi ~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/slaves
hadoop000
5.配置hadoop-env.sh
#vi ~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hadoop-env.sh
修改如下:
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_45
手工设置下Java路径,这里似乎是有BUG,读取不到配置的Java路径,
5.启动HDFS
HDFS本质上是个文件系统,就好像Windows的磁盘一样,肯定需要格式化再使用的
#hdfs namenode -format
OK 启动吧
#~/app/hadoop-2.6.0-cdh5.7.0/sbin/start-dfs.sh
开发环境
设置 mapred-default.xml
mapreduce.client.submit.file.replication 为1(默认10) 这是提交作业的jar存放副本数.因为开发环境一般副本数都是1(机器可能都只1个),这里默认10会导致副本数不足,造成每次都进SafeMode