下载并且安装jdk
下载hadoop
2.2.1 修改主机名
在root用户下编辑/etc/sysconfig/network文件
命令:vi /etc/sysconfig/network
将主机名修改为任意名字,我在这里将主机名修改为hadoop。wq保存并退出
修改主机名后需要重启后才能看到效果
修改完主机名后需要更改hosts文件,否则系统不能识别主机名
2.2.2 添加新用户
在这里不建议使用root用户,root权限太大可能会造成很多意外。
先添加一个用户组,我添加一个hadoop用户组
命令:groupadd hadoop
添加新用户,添加一个hadoop用户
命令:useradd hadoop –g hadoop
再为hadoop用户设置密码
命令:passwd hadoop
2.2.3 关闭防火墙
切换到root用户下,执行service iptables stop,然后继续执行chkconfig iptables off禁止防火墙开机自启动。
查看防火墙状态的命令为:service iptables status,若显示如下则证明防火墙已经关闭。
2.3 SSH 无密码登录
切换至hadoop用户,在hadoop用户目录下
执行ssh-keygen -t rsa,一路回车
将公钥文件添加到~/.ssh/authorized_keys文件中
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized._keys
修改~/.ssh/authorized_keys文件的权限
chmod 600 .ssh/authorized_keys
使用ssh localhost测试是否配置成功。
如果成功则不会提示输入密码。
解压hadoop
找到config 文件
配置以下文件
hadoop.env.xml
配置JAVA_HOME export JAVA_HOME=/usr/java/jdk1.8.1
core-site.xml
配置参数
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop</value>
</property>
<property>
<name>dfs.name/dir</name>
<value>/hadoop/name</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://主机名:9000</value>
</property>
hdfs-site.xml
配置文件系统的数据的存放目录
<property>
<name>dfs.data.dir</name>
<value>/hadoop/data</value>
</property>
mapred-site.xml
配置任务调度器如何去访问
<property>
<name>mapred.job.tracker</name>
<value>主机名:9001</value>
</property>
在/etc/profile 下配置export HADOOP_HOME=hadoop所在目录
在path下添加$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使文件生效
source /etc/profile
执行hadoop命令
如果出现一些帮助说明成功
对hadoop执行命令进行格式化操作
/opt/haha/hadoop-3.2.0/bin 下 操作 hadoop namenode -format
进入 conf/sbin
执行 start-all.sh
查看进程 jps果出现
如果错误:出现start Error
在start-dfs.sh stop-dfs.sh
添加
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
在start-yurn.sh stop-yarn.sh 添加
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
再次启动 start-all.sh
查看进程
注意:启动hadoop必须实现免密登录