安装HDFS需要jdk1.8以及ssh
1、基础环境
(1)设置主机名:
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node01
(2)设置ip和主机名的映射:
/etc/hosts
176.*.*.* node01
(3)关闭 selinux
/etc/selinux/config
SELINUX=disabled
(4)免密设置:
生成公钥和密钥
ssh-keygen -t dsa (一路回车)
把authorized_keys放到目标机器上
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
设置目录和文件权限
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
参考:ssh免密码登录(设置后仍需输密码的原因及解决方法) - 百度文库
登录时如果出现“Are you sure you want to continue connecting (yes/no)?”的提示,参考:ssh 登录出现Are you sure you want to continue connecting (yes/no)?解决方法_mct123的博客-CSDN博客
----------------------------------------------------------------------------------------------
2、安装hadoop,下载入口 Apache Hadoop
创建目录:mkdir /opt/bigdata
进入目录:cd /opt -> cd bigdata
把hadoop-2.6.5.tar.gz文件上传到/opt/bigdata中
解压:tar -zxvf hadoop-2.6.5.tar.gz
3、hadoop配置
配置hadoop 环境变量:
进入 /etc/profile
export HDAOOP_HOME=/opt/bigdata/hadoop-2.6.5
export PATH=$PATH:${JAVA_PATH}:$HDAOOP_HOME/bin:$HDAOOP_HOME/sbin
source /etc/profile
进入 /opt/bigdata/hadoop-2.6.5/etc/profile
配置hadoop 的JAVA_HOME:
打开hadoop-env.sh,设置jdk的绝对路径(因为跨服务器时读不到环境变量):
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_231
打开core-site.xml,设置NN角色的启动主机和端口:
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9301</value>
</property>
打开hdfs-site.xml,配置副本数量以为NN、DN的目录:
补充:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/bigdata/hadoop/local/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/bigdata/hadoop/local/dfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/var/bigdata/hadoop/local/dfs/secondary</value>
</property>
打开slaves,配置DN角色的启动主机
4、初始化和启动
hdfs namenode -format #格式化只在 第一次的时候 运行,因为集群ID会改变
#格式化阶段 会创建nameNode数据库
启动:
cd /var/bigdata/hadoop/local/dfs
start-dfs.sh
#第一次启动,会创建DataNode和Secondary的数据库
访问:http://ip:50070/
关闭:
stop-dfs.sh