本文系统是centos8 64并且是在虚拟机上进行操作,如若读者使用的是老版本有些shell 命令会发生变化,比如systemctl start mysqld 在老版本可能是service mysqld start 请格外注意。
hadoop安装
安装前的必要准备
1.检查你网络连接
要想网络畅通第一点就是你虚拟机网络适配器必须处于NAT模式或者是桥接模式,两者共同点是都能连接Internet,两者区别在于桥接模式可以除了与宿主机通讯外还可以与局域网内其它电脑通信,而NAT则只能和宿主机通信,但这个区别对于小白的你来说无影响,你看心情选择。
第二点则是看你是否设置了ip地址
使用ifconfig命令就能看到inet 后面跟了你的ip地址,设置ip地址是为了让别人能够访问你。如果你的ip地址不是这种格式,请打开网络配置文件,把里面的内容修改成下图所示。
从上图你就能看到配置文件是哪个,然后使用vim打开进行修改,一般来说此时要用su - root 命令先切换到root用户,否则你权限不够无法修改。(请注意,切换用户时一定要加横杠,否则你的环境变量不会发生改变的哦,不信的话你输入man su 命令看看那个横杠有什么用)希望没有笨蛋问我为什么使用cat命令而不是vim命令,以防万一我先说明原因,原因是我已经修改完成了只需查看,但是你要是修改的话,就必须使用vim命令,而且文件路径也在图里显示的清清楚楚,动点脑子。在这里面唯一需要说明的是,我用的是动态ip,也就是BOOTPROTO=dhcp,按理来讲应该是要配置静态ip的,但为了方便讲解就先这样,你要是想了解如何配置静态ip请自行谷歌和百度,毕竟动态与静态不影响网络连接。
都配置完了使用nmcli c reload 命令重启网络,然后使用ifconfig你就能看到你的新ip地址了。一般来讲不会碰到其它问题,如果有其它问题,请自行谷歌百度。
2.配置sudo权限和安装必要软件包
继续用root用户打开 vim /etc/sudoers 文件,给普通用户配置sudo权限,使普通用户能使用超级用户才能使用的命令比如yum。然后在配置文件里添加一行进去,我电脑里的普通用户叫做brown,你的不一定是,所以自己注意一点。具体添加内容如下:
然后我们切回普通用户brown,进行JAVA环境安装,原因是hadoop对JAVA环境有依赖,你必须先安装好JAVA才能启动HADOOP。命令如下:
sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
安装好后默认路径应该是/usr/lib/jvm/java-1.8.0-openjdk。接下来我们配置一下环境变量,有一件很重要的事情就是,你如果用~/.bashrc这个文件进行配置,那就只对当前这一个用户生效,如果你在/etc/profile这个文件里进行配置,那对所有用户都生效,你自己进行选择,~这个波浪线表示用户目录,你如果是brown那就代表/home/brown,你如果是root那就代表/root,讲的够详细了吧。
上面这图是安装完hadoop、hive、mysql之后的.bashrc文件中所有人为添加的环境变量显示,但按照本文目前进程,你暂时只用添加到第三个export那行。如果你是在/etc/profile中添加也应该是添加这几行就行,不过本文以~/.bashrc进行讲解。
保存后,你先输入source ~/.bashrc使得配置生效。然后再输入echo $JAVA_HOME,就会显示下图结果。
接下来我们继续安装ssh,你先试着输入ssh localhost 看看有没有反应,有的话如果你是第一次使用ssh连接本机应该会出现一个警告,不过不要担心继续下一步输入密码进行连接就行,连接成功就说明你的ssh没有问题。大致过程如下图所示:
你可能比我多了一个步骤就是输入密码,要想不输入密码请自行谷歌百度centos SSH无密码登录。如果没有ssh,请输入下面命令进行安装:
sudo yum install openssh-clients
sudo yum install openssh-server
安装完成后重新尝试就没问题了。
3.hadoop 安装和配置
你可以选择用window下载hadoop然后在远程连接工具securecrt 或者是xshell中的rz命令将windows系统中的文件上传到centos中,也可以选择在centos中直接用wget 命令进行下载。如果没有相关命令,那就使用下面命令进行下载:
sudo yum install lrzsz
sudo yum install wget
然后选择一个目录进行解压,我这里安装的版本是hadoop-2.8.5,我选择的目录是/usr/local/,解压完后你会得到一个hadoop-2.8.5的文件夹,里面就是全部hadoop文件,为了以后输入路径方便,我们将文件夹改名,把hadoop-2.8.5改成hadoop。我改名后的最终结果如下:
然后每安装完一个软件,我们心里都应该有根弦,那就是要进行系统环境配置还有修改配置文件。于是我们输入vim ~/.bashrc命令打开系统环境进行配置,如下图所示:
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
你暂时需要配置的就是上面那几行,注意我的HADOOP_HOME路径跟你的不一定一样,请按照你自己的进行相应更改,动点脑子别照抄。配置完环境变量后,还是那个命令source ~/.bashrc使环境变量生效。
接下来我们配置hadoop软件,hadoop配置文件路径是HADOOP_HOME/etc/hadoop,我们要进行更改的是这四个文件core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml,这四个文件。
在hdfs-site.xml的configuration中添加这些内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name> <value>file:///home/brown/hadoopinfra/hdfs/namenode </value>
</property>
<property>
<name>dfs.data.dir</name> <value>file:///home/brown/hadoopinfra/hdfs/datanode </value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop1:50070</value>
</property>
</configuration>
在core-site.xml中改成这样:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
在yarn-site.xml中改成这样:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
在mapred-site.xml中改成这样,不过本来是没有mapred-site.xml这个文件的,需要你先在当前文件夹里复制一份mapred-site.xml.template并改名成mapred-site.xml到当前文件夹,然后再打开改成这样:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
这样所有配置都完成了,当所有配置都搞完后,你知道一般要干什么吗?如果你有经验的话就知道一般都需要格式化或者说是初始化,于是你需要运行下面的命令:
HADOOP_HOME/bin/hdfs namenode -format
成功后,你就会看到“successfully formatted” 和 “Exitting with status 0”,如果显示“Exitting with status 1”就说明出问题了,你自己看看是配置错了,还是哪里错了。
然后我们输入start-dfs.sh,start-yarn.sh,mr-jobhistory-daemon.sh start historyserver,jps,这四个命令,运行结果如下图:
如果跟我一样,就说明一切完美,毫无问题。
4.在网页打开hadoop
先修改centos主机名和添加主机映射,最终如下图所示:
当然我给我的虚拟机命名是hadoop1,你随意,然后那个ip就是你虚拟机的ip。改完后你就可以在windows浏览器上查看你虚拟机的hadoop文件。网址是192.168.214.129:50070或者是hadoop1:50070,其实意思是等同的,有些人会发现输入ip地址可以进入网站但是输入主机名不可以进入网站,那是因为你还需要在window hosts 文件中加入虚拟机的主机映射。网站进入后,样子如下:
如果你发现你死活进不去,那一定是hdfs-site.xml中少了下面这个配置:
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop1:50070</value>
</property>
有这个配置后,你输入netstat -ntlp 能看到,50070这个端口的ip就是你虚拟机ip,图如下:
这回hadoop就完全安装完成,一切无恙了。你可以输入stop-dfs.sh,stop-yarn.sh,mr-jobhistory-daemon.sh stop historyserver这三个命令进行关闭。
我知道即便是这样你可能还有一些疑惑,可以留言询问我,我还建议你谷歌搜索hadoop 官方文档进行浏览或者是hadoop tutorial 进行浏览,会增进你的理解。
至于后面的hive和mysql安装就留待明天继续进行讲解。
网友评论