1、创建hadoop用户并设置密码
su
useradd -m hadoop -s /bin/bash
passwd hadoop
2、让hadoop用户具备sudo执行权限
visudo将hadoop用户加入
3、安装SSH、配置SSH无密码登陆
CentOS 默认已安装了 SSH client、SSH server
Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:
命令1:sudo apt install openssh-server
安装后,可以使用ssh localhost命令登陆本机(登陆后会自动生成.ssh目录)
命令2:ssh localhost
退出刚才的 ssh,回到原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中
命令3:
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
chmod 600 ./authorized_keys #CentOS中需加入此命令
4、修改主机名
5、JDK与hadoop的安装
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
#创建文件夹
mkdir /home/hadoop/app
#解压jdk
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /home/hadoop/app
#解压hadoop
6、配置jdk与hadoop环境变量
执行命令sudo vim /etc/profile在末尾
或者vim ~/.bashrc在末尾添加如下环境变量
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
export HADOOP_HOME=/home/hadoop/app/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
7、hadoop修改配置文件
具体配置随版本变动,具体查看hadoop安装包下官方文档doc:hadoop-2.7.4/share/doc/hadoop-project/index.html
第一个:hadoop-env.sh
vim hadoop-env.sh
#第25行修改
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
第二个:core-site.xml(注:ip处为主机ip地址或主机名;tmp目录必须设置,不设置默认安装在系统tmp目录下,重启后数据丢失)
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.2.128:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/hadoop-2.7.4/tmp</value>
</property>
第三个:hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
8、格式化NameNode
hdfs namenode -format
9、启动hadoop
先启动hdfs:start-dfs.sh
在启动yarn:start-yarn.sh
10、查看是否启动成功
运行jps命令出现如下进程:
25472 Jps
24994 SecondaryNameNode
24664 NameNode
25145 ResourceManager
24782 DataNode
25263 NodeManager
浏览器查看:
http://192.168.2.128:50070 (HDFS管理界面)
http://192.168.2.128:8088 (MR管理界面)
注:云服务器下配置后需打开50070与9000端口,才能用浏览器访问hdfs
踩坑:
Hadoop Namenode不能启动:http://www.linuxidc.com/Linux/2012-03/56348.htm