- 先通过SecureFX将hadoop安装包push到了虚拟机上,解压。
- 进入解压后的hadoop目录中修改其中几项配置文件;
1)hadoop-env.sh->将JAVA的环境变量改为自己配置的,指定需要用来执行的java路径。export JAVA_HOME=/xx/xx/xx
2)core-site.xml-><configuration><property><name>fs.defaultFS</name><value>hdfs://别名:9000</value></property></configuration>
这里的fs.defaultFS是默认文件系统的名称。
3)hdfs-site.xml-><configuration> <property> <name>ds.namenode.name.dir</name> <value>/xxx/hadoopdata/name/</value> </property> <property> <name>ds.namenode.data.dir</name> <value>/xxx/hadoopdata/data/</value> </property> <property> <name>ds.namenode.secondary.http-address</name> <value>datanode别名/50090</value> </property>
ds.namenode.name.dir是保存FsImage镜像的目录,作用是存放hadoop的名称节点namenode里的metadata,value里的值是namenode产生的数据存放的目录,可以自己定义。ds.namenode.data.dir是存放HDFS文件系统数据文件的目录,作用是存放hadoop的数据节点datanode里的多个数据块。value里的值是datanode产生的数据存放的目录,可以自己定义。 - 将配好的hadoop目录拷贝至其他的机器上。
- 配置hadoop的环境变量,在/etc/profile中加入export HADOOP_HOME=hadoop文件夹的路径。 在PATH后面追加: $HADOOP_HOME/bin: $HADOOP_HOME/sbin。(ps:这里配好以后我测试echo &HADOOP_HOME先看下是否配置正确,一直报:bash:…: is a directory,最后排查出来是第二步里的hadoop-env.sh中java路径写错了,修改以后正常运行)
- 执行hadoop namenode -formate 初始化namenode的元数据存储目录。这一步是会创建一个新的元数据存储目录,可以看到在第二步中我们在hdfs-site.xml中设置的文件夹已经存在了,并且里面多了数据,有记录元数据的文件,文件中还会生成集群的相关标识,像clusterID,这个集群的ID,这些都是随机生成的,如果再初始化一次,数据不会相同。
- 启动namenode进程:hadoop-daemon.sh namenode。用jsp查看一下进程是否存在,jps是查询java进程的命令。存在了可以使用外部浏览器输入 ip:50070即可查看web界面(我输入后显示拒绝访问,先是查看了下防火墙设置service iptables status,查看防火墙状态,如果没关闭需要service iptables stop ,关闭防火墙。但是我的显示filewall is not running,所以是已经关闭了的,再使用jps查看进程,发现进程没有启动,因为我是第二天再继续步骤,所以这个进程忘记开了…T T是傻子本傻了)。
- 启动datanode:hadoop-daemon.sh start datanode。各集群通过9000和namenode通信,内部通信得到信息。(在namenode机器上通过ssh启动其他机器datanode:ssh 需要启动的机器别名 “xx/xx/hadoop-2.8.1/sbin/hadoop-daemon.sh start datanode”,可以在/xxx/xxx/hadoop-2.8.1/etc/hadoop/slave上写上要启动的域名,一键启动:start-dfs.sh,一键关闭:stop-dfs.sh)
- 此时可以在web浏览器上的livenode看到相关的datanode。
hdfs集群安装过程以及问题
最新推荐文章于 2022-10-13 22:12:33 发布