为方便Hadoop的安装,首先是准备工作((1)~(8))。对于JAVA以及Hadoop伪分布式环境的安装及配置从后面开始。
(1)使用命令:sudo passwd root修改root用户的密码。
(2)首先进入Ubuntu系统终端,为了方便,先使用命令su - 获得root用户的权限。输入你的root用户登陆密码便可。
(3)为了后续处理,需要将防火墙服务关闭,卸载iptables服务。
使用命令:ufw disable关闭防火墙
使用命令:apt-get remove iptables卸载iptable服务
询问你是否卸载,输入Y便可。
(4)为了方便编辑,我们需要安装vim
使用命令:apt-get install vim
vim的基本使用:vim的使用方法
(5)安装ssh工具
使用命令:apt-get install openssh-server
询问时输入Y
(6)启动ssh服务
使用命令:/etc/init.d/ssh start
可使用命令:ps -e | grep sshd查看服务是否启动。
(7)由于系统默认不允许root用户登陆,所以还需要对sshd_config进行配置
使用命令:vim /etc/ssh/sshd_config对其进行编辑
将PermitRootLogin 设置为yes
(8)为方便文件传递(我使用的虚拟机安装ubuntu系统),所以可以配置ftp服务进行文件传输。
使用apt-get install vsftpd安装ftp服务
使用命令:passwd ftp更改ftp密码
ftp安装完成后会自动有一个/srv/ftp目录,传输的文件均保存在这个目录下。
使用命令: cd /srv/ftp 可进行查看,以及 命令:chmod 777/srv/ftp来获得读写权限
编辑vsftpd配置文件,来确保ftp服务正常工作
使用命令:vim /etc/vsftpd.conf配置如下:
anonymous_enable=NO;
write_enable=YES;
local_enable=YES;
chroot_local_user=YES;
chroot_list_enable=YES;
pam_service_name=vsftpd;
随后:wq! 保存退出。
增加一个文件,并在里面写上访问用户名字ftp:
vim /etc/vsftpd.chroot_list
注释掉:auth required pam_shells.so
vim /etc/pam.d/vsftpd
然后 :service vsftpd restart
之后使用ftp工具连接你的ip地址就可以实现windows向linux系统的文件传输了。
(9)JAVA的安装及配置
下载jdk:jdk下载地址
我是在windows下载好之后通过ftp传输到ubuntu系统下的/srv/ftp文件夹之中。
对文件进行解压缩:
使用命令:tar xzvf jdk-8u201-linux-x64.tar.gz -C /usr/local将jdk解压到usr/local文件夹下
使用命令: mv jdk1.8.0_201 jdk重命名为jdk
随后进行环境变量的配置:
使用命令:vim ~/.bashrc进行编辑环境,然后加入:
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin:
再命令:source ~/.bashrc读取新的配置
如果输入java出现如下,则表示java可以使用了。
(10)Hadoop的安装
同样,我也是先在windows中下好了Hadoop后通过ftp传输到了ubuntu系统中。
使用命令:cd /srv/ftp 进入目录
使用命令:tar xzvf hadoop-2.9.2.tar.gz -C /usr/local将hadoop压缩包解压到/usr/local目录
使用命令:cd /usr/local 进入目录
使用命令:mv hadoop-2.9.2 hadoop将文件重命名为hadoop
然后进行环境变量的配置:
使用命令:vim ~/.bashrc
然后加入:export HADOOP_HOME=/usr/local/hadoop
在PATH后面加入:
然后:wq!保存退出
使用命令:source ~/.bashrc使配置生效
还需要对hadoop-env进行配置,增加jdk的相关路径。
使用命令:cd /usr/local/hadoop/etc/hadoop进入目录
使用命令:vim hadoop-env.sh进行编辑,增加jdk路径
然后:wq!保存退出。于是hadoop就安装好了。
(11)Hadoop伪分布式配置
使用命令:vim /etc/hostname对主机名称进行配置,将主机名称修改为hadoopm
使用命令:ifconfig找到ip地址信息
使用命令:vim /etc/hosts,给出主机ip与名称的映射
为了生效,使用命令:reboot重新启动
然后主机名称就变成了hadoopm
由于hadoop的处理过程是通过ssh实现通讯,所以还需要配置ssh的免登陆处理
使用命令:rm -rf ~/.ssh删除根目录下的.ssh文件(没有就算了)
使用命令:ssh-keygen -t rsa生成ssh_key,然后全部回车
使用命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys将公匙信息添加到authorized_keys
然后就可以进行ssh的免登陆了
使用exit可以退出远程连接的登陆
完成后,就可以进行Hadoop的相关配置
使用命令:cd /usr/local/hadoop/etc/hadoop进入目录,所有的配置文件均在该目录下
首先配置 core-site.xml,使用命令:vim core-site.xml,配置如下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
然后配置hdfs-site.xml 使用命令vim hdfs-site.xml,配置如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
配置完成后,执行:
./bin/hdfs namenode -format
接着开启dfs进程:
./sbin/start-dfs.sh #start-dfs.sh
启动完成后使用命令:jps查看是否成功,若成功,则有如下几项: