1、创建hadoop组和用户,useradd hadoop passwd hadoop groupadd hadoops usermod -G hadoops hadoop(将hadoop添加到hadoops组中)。
2、下载hadoop版本 http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.0.tar.gz 。(或者直接:wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.15.0.tar.gz/ ,https://archive.cloudera.com/cdh5/cdh/5/ 这里hadoop生态圈其他的工具下载)
3、安装java1.8,解压jdk1.8的包,vi /home/hadoop/.bash_profile,然后添加环境变量
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
测试:java -version ,成功。
4、配置ssh无密码登录,先输密码登录一次(创建.ssh文件):ssh hadoop000(以后ip可能会变,所以都写成hadoop000,应先在/etc/hosts文件中添加host解析,解析到本机ip)。然后执行:ssh-keygen -t rsa来生成ssh的公钥和私钥,在.ssh目录下执行:cat id_rsa.pub >> authorized_keys,最后为authorized_keys文件更改为600权限即可:chmod 600 authorized_keys。
5、正式安装Hadoop,解压Hadoop的安装包到~/app:tar -zxvf hadoop-2.6.0-cdh5.15.1.tar.gz -C ~/app
a、配置hadoop/etc/hadoop/hadoop-env.sh下的JAVA_HOME(默认指向$JAVA_HOME,所以只要配置了环境变量就不用配置这里)。
b、配置hadoop/etc/hadoop/core-site.xml,配置默认的hadoop的文件系统指向哪里,<configuration>标签中加入以下内容。
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop000:8020</value>
</property>
c、配置hadoop的hdfs文件块的数量(因为学习环境,只配置成1块的就行,默认是3块)和临时文件的存放位置(文件系统的默认临时文件是存在/tmp,而linux每次重启会删掉/tmp中的文件,当然我们希望hadoop临时文件能自己操作删除与否),打开hdfs-site.xml,在<configuration>中加入一下内容:
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/tmp</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
d、配置hadoop从节点的ip,修改hadoop/etc/hadoop/slaves文件,该文件默认是localhost,改为hadoop001(hadoop001也一样先在/etc/hosts里面配置host解析,也解析到本机)
6、把hadoop配置到环境变量,同java配置步骤(改为HADOOP_HOME即可);source一下环境变量的文件。
7、格式化文件系统,执行:hdfs namenode -format,然后启动文件系统,执行hadoop的sbin目录下面的start-dfs.sh,若提示没找到JAVA_HOME就回到步骤5-a去配置一下。可以单独启动和停止某种节点,如:hadoop-daemon.sh stop secondarynamenode。
8、最后输入jps验证,发现有nameNode等,启动成功。或者关闭防火墙后,打开http://192.168.159.40:50070,能进入文件系统,启动成功