安装hadoop之前,必须要先有jdk。所以jdk
在linux环境中配置java全局变量
第一步,下载
下载地址:
Index of /dist/hadoop/common/hadoop-3.1.3
第二步,解压
tar -zxvf hadoop-3.1.3.tar.gz
第三步,获取文件路径
pwd
结果如下:/mnt/soft/hadoop-3.1.3
第四步,配置/etc/profile文件
vim /etc/profile
#set hadoop environment
export HADOOP_HOME=/mnt/soft/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
第五步,让修改后的文件生效
source /etc/profile
第六步,测试是否安装成功
hadoop version
这只能说安装好了,但是不能用,接下来需要启动hadoop
第七步:修改配置文件
在hadoop目录下的etc/hadoop中修改配置文件
cd /mnt/soft/hadoop-3.1.3/etc/hadoop/
首先:修改hadoop-env.sh
vim hadoop-env.sh
设置java路径
export JAVA_HOME=/mnt/soft/jdk1.8.0_91
其次:修改 core-site.xml 文件
vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/mnt/soft/hadoop-3.1.3/tmp</value>
</property>
</configuration>
其中hadoop1就是你本地的ip地址
接着:修改 hdfs-site.xml 文件
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
第八步:初始化文件系统
初始化名称节点名称
hdfs namenode -format
如果出现下图,说明初始化成功。
在sbin目录下,启动hdfs
start-dfs.sh
这个时候可能会出现错误。
这个原因是启动时需要设置启动账号。
vim start-dfs.sh
在start-dfs.sh最上面添加如下代码
HDFS_DATANODE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
意思是,需要启动账号,当然,如果stop-dfs.sh也要加上。
这样也不能启动。还会出现如下错误。
报错原因是:
- 本机未设置ssh免密码登录本机(也就是说,ssh localhost的时候需要密码)此时会报错
当我们输入ssh localhost 是需要输入密码的
解决方法是:
- 设置本机登录本机免密码即可(教程参照网上资料,大概逻辑为:服务端生成私钥和公钥,服务器端持有私钥,公钥交由客户端,此后客户端可免密码登录服务器端)
- 具体代码实施如下(在 ~/.ssh目录下进行如下操作):
ssh-keygen -t rsa
# 在之后跳出的文字交互界面一路回车+yes即可
cat id_rsa.pub >> authorized_keys
# 将公钥追加到authorized_keys文件中去
chmod 600 authorized_keys
# 将authorized_keys文件权限更改为600
# 至此设置免密操作完毕
当我们输入ssh localhost 是不需要输入密码的
这样再次启动,就成功了。
我们可以通过jsp语言来查看是否启动了。