hdfs的搭建学习

来源:互联网 发布:知美术馆里有多少画 编辑:程序博客网 时间:2024/05/18 09:19
1.新建一个目录,这里新建DevelopEnv
2.下载需要的jdk,hadoop包,解压。
3.配置jdk,hadoop的环境变量
vi ~/.bash_profile
source ~/.bash_profile //使环境变量生效
检查jdk是否配置完成,输入命令java出现相关信息即可。
4.关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
5.在目录下,即DevelopEnv下新建一个文件夹,
命令:mkdir -p Data/tmp
6.进入已经解压的hadoop包,进入路径,etc/hadoop目录下,开始配置
编辑hadoop-env.sh,在结尾添加JAVA_HOME的路径
vi hadoop-env.sh
编辑core-site.xml,在configuration·中加入下列信息:
<property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>第四步中新建的tmp目录的路径</value>
        </property>

编辑hdfs-site.xml,同样在configuration中加入下列信息:
<property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.http.address</name>
                <value>master:50070</value>
        </property>
        <property>
                <name>dfs.secondary.http.address</name>
                <value>master:50090</value>
        </property>

7.格式化namenode
hadoop namenode -format
这里可能会出现几个问题,
你需要去查看刚才配置的hadoop-env.sh中,java_home是否配置错误
如果你确实配置了hadoop_home,可能是你忘记source了

8.将上述配置好的linux系统克隆一份作为节点,不想克隆的话,请按照上述步骤在来一次。
这里我配置了两台slave
9.将克隆机改名:
hostnamectl set-hostname tsmslave1
10.通过命令 ifconfig 查看三台机器的IP,并在目录 /etc/hosts,添加机器名和IP的映射。
以主机master为例(需要root):
11.在master节点中,hadoop的目录下,目录/etc/hadoop下,有一个slaves文件
vi slaves
在slave中添加子节点slave
文件中可能还有一个localhost,可以删除,也可以不删除,这里我选择删除
12.配置ssh免密登录
分别在master,slave的~目录下,执行如下命令:
ssh-keygen -t rsa
然后再master中执行命令:ssh-copy-id tsmslave1
ssh-copy-id tsmslave2
在tsmslave1中执行命令: ssh-copy-id tsmMaster
在tsmslave2中执行命令: ssh-copy-id tsmMaster
完成这些后,可通过命令,ssh tsmslave1,看能否免密登录到子节点上
13.在master节点中,切换目录hadoop下,执行命令sbin/start-dfs.sh,即可开始服务
这里谈一下我遇到的几个问题:
(1)在hadoop的配置文件中,写错了子机的名称。
(2)这是尤其要注重的问题,当输入命令时,尤其要注重当前操作路径和用户
我在设置ssh免密登录时,没注意当时root用户还是hadoop用户,导致失败。