本次实验环境为Ubuntu 16.04.3
1、安装JDK,并配置环境变量,详见http://blog.csdn.net/u012343297/article/details/78748446。
2、配置SSH面密码登录
- 先安装ssh
sudo apt-get install ssh
查看当前用户家目录下是否有.ssh文件
ls -a /home/lenmon
没有,手动创建一个
mkdir /home/lenmon/.ssh
生成密钥
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以ssh-keygen 代表生成密钥;-t(注意区分大小写)表示指定生成的密钥类型;rsa是rsa密钥认证的意思,即密钥类型;
- 把公钥加到用于认证的公钥文件中
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
实际上,在hadoop安装过程中,是否无密码登录是无关紧要的,但是不配置无密码登录,每次启动hadoop,都需要输入密码以登录到每台机器的DataNode上,考虑一般的Hadoop集群动辄数百台或上千台机器,因此一般来说都会配置SSH无密码登录。
3、安装并运行Hadoop
下载hadoop的tar包
http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.0.0/hadoop-3.0.0.tar.gz解压hadoop-3.0.0.tar.gz:tar -zxvf hadoop-3.0.0.tar.gz
新建文件夹
mkdir ./hadoop/tmp
mkdir ./hadoop/hdfs
mkdir ./hadoop/hdfs/data
mkdir ./hadoop/hdfs/name修改配置文件
vim ./hadoop/hadoop-3.0.0/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/jdk1.8.0_151
vim ./hadoop/hadoop-3.0.0/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/lenmon/hadoop/tmp</value>
</property>
</configuration>
vim ./hadoop/hadoop-3.0.0/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/lenmon/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/lenmon/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
vim ./hadoop/hadoop-3.0.0/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vim ./hadoop/hadoop-3.0.0/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>localhost:9001</value>
</property>
</configuration>
格式化Hadoop文件系统HDFS
./bin/hdfs namenode -format
运行Hadoop测试
start-all.sh