部署hdfs
首先先去官网下载hadoop编译完的tar包,可以去appche官网下载地址进行下载
但是我这里建议还是去CDH下载下载地址,因为这里有打补丁,可以减少一些bug
版本的话我建议还是下载hadoop2.x版本的,因为1.x现在没人用了,3.x又太新有bug
然后我们下载的话要下载后面带bin和直接带tar.gz后缀的,不要选择src.tar.gz的
现在我们就开始来部署了
首先我们先创建一个hadoop用户useradd hadoop
然后我们切换su - hadoop
接着我们创建四个文件夹,为了规范:mkdir app software data logs
接着我们用rz命令把下载好的hadoop的tar上传到software文件夹cd software
然后rz 上传
上传之后解压tar -xzvf + tar包名称
接着创建一个软链接指向app文件夹ln -s 解压完的名称 + /home/hadoop/app
接着部署java,不会部署的请看我linux的文章,这里不多讲
接下来我们打开etc/hadoop/hadoop-env.sh 在里面配置java环境变量,切记不是在根目录的etc
然后我们再打开etc/hadoop/core-site.xml,在里面配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
然后再打开etc/hadoop/hdfs-site.xml配置
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
接着我们要来设置免密码登录,输入ssh-keygen
连续按下三次回车键,然后我们输入ssh localhost date 这是免密登录还没设置成功,我们cd到家目录,然后ll -a
找到.ssh文件cd进去,然后我们会看见
-rw-------. 1 hadoop hadoop 1679 Jan 4 11:51 id_rsa
-rw-r--r--. 1 hadoop hadoop 398 Jan 4 11:51 id_rsa.pub
-rw-r--r--. 1 hadoop hadoop 1187 Jan 4 12:06 known_hosts
我们需要将公钥文件追加给authorized_keys:cat id_rsa.pub >> authorized_keys
,然后我们还需要做一步重要的事情,就是修改权限chmod 600 authorized_keys
,现在我们的免密登录就可以了
然后现在有很多小伙伴又会遇到一个问题就是ssh localhost可以登录,但用机器名称登录不了,这是我们就要切换到root用户进行配置
su - root
vi /etc/hosts
在里面加上你的ip地址后面跟上你的主机名,这时切换回hadoop用户就可以用机器名进行免密登录了
然后现在我们要格式化hdfs(在hadoop下的app下的hadoop目录进行操作):bin/hdfs namenode -format
然后启动节点sbin/start-dfs.sh
,启动完成后如果我们输入jps看到有四个节点就是正常的
[hadoop@hadoop002 hadoop]$ jps
8869 SecondaryNameNode
8984 Jps
8698 DataNode
8570 NameNode
[hadoop@hadoop002 hadoop]$
那很多小伙伴有的会缺这个节点缺那个节点,这时我们也不要害怕,可能是你配置的有问题,但还是有解决办法的,我们先输入cd回到家目录,然后输入ll -a 查看所有文件,我们会看到一个logs文件夹,cd进去cd logs,我们会看到有很多节点的日志,你哪个节点没开启就cat查看那个日志的error,然后一般你就知道怎么解决了,不会看英文就到网易词典翻译,这里不说太多了,最后我们要关闭节点就是sbin/stop-dfs.sh