hadoop的安装以及配置(适用于centos7)
[*]先辈入root用户界面
下令 su - root
[*]关闭防火墙
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //关闭开机自启
systemctl status firewalld //查看防火墙状态
https://i-blog.csdnimg.cn/direct/e9af4c04b06c45588291ac0e02469953.png
[*]实现ssh免密码登录
ssh-keygen -t rsa
https://i-blog.csdnimg.cn/direct/50587ecb90b44fc892099d8cce4ac07e.png
这里要多次按回车,举行决议简直认
[*]cd ~/.ssh
cat id_rsa.pub >> authorized_keys
https://i-blog.csdnimg.cn/direct/83c459b2a52e401db6e6643a63fc1c94.png
[*]vi编辑
vi ~/.bashrc
https://i-blog.csdnimg.cn/direct/ef9d0f98c38a4c3e9d1534d1d26a3408.png
更改文件内容
source ~/.bashrc
启动文件
[*]查抄jdk环境
java -version
如果有的话,提前卸载
rpm -qa | grep jdk (查询Java的安装包)
https://i-blog.csdnimg.cn/direct/4e6d8fbbf7564658b000880487c35873.png
rpm -e --nodeps 上步查询出的所有jdk
https://i-blog.csdnimg.cn/direct/0b8a0cd957f042b98c3069c60c0cb8f2.png
直到测试java -version 无法找到环境为止
[*]下载java
yum list java*
https://i-blog.csdnimg.cn/direct/cf5b8b32ed2c44a2a7452f96cc659e8e.png
yum -y install java-1.8.0-openjdk*
版本要1.8
[*]查看位置,一般是在/usr/lib/jvm和/usr/share/icons/hicolor下
https://i-blog.csdnimg.cn/direct/0812c2d8bfd0445fa7900bd6fe938ac8.png
https://i-blog.csdnimg.cn/direct/35f0555104754faf9df322a45358bb38.png
因为是在差别文件夹下的,我直接汇总了
[*]环境配置
俩种方法:
方法一:vi ~/.bashrc
添加:
export JAVA_HOME=/usr/lib/jvm/java-openjdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
方法二(我自己用的方法,方法一就不截图了):
vi /etc/profile
添加
export JAVA_HOME=/usr/lib/jvm/java-openjdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
https://i-blog.csdnimg.cn/direct/33b1ff73b0df4c99b385d7c5c78fbf90.png
[*]查抄环境
https://i-blog.csdnimg.cn/direct/e8d6af19605a4f31b9d50bf7c3af46e1.png
[*]这里开始我将会利用ssh远程连接操作,软件:finallshell
在opt下创建hadoop的文件夹
mkdir /opt/hadoop
可以cd到该目录下举行下载
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz
https://i-blog.csdnimg.cn/direct/10637887321b498f8dd9eadd43176e68.png
并举行解压操作
tar -zxvf hadoop-3.2.0.tar.gz
https://i-blog.csdnimg.cn/direct/d49eff8acad249028a5dacc058c304a2.png
[*]配置Hadoop的环境变量
vim ~/.bashrc
环境变量
export JAVA_HOME=/usr/lib/jvm/java-openjdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:/opt/hadoop/hadoop-3.2.0/bin:/opt/hadoop/hadoop-3.2.0/sbin
export HADOOP_HOME=/opt/hadoop/hadoop-3.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
注意:这里的$PATH:$JAVA_HOME/bin:/opt/hadoop/hadoop-3.2.0/bin:/opt/hadoop/hadoop-3.2.0/sbin表示在保存原来的$PATH环境变量的基础上,再增加$JAVA_HOME/bin和/opt/hadoop/hadoop-3.2.0/bin和/opt/hadoop/hadoop-3.2.0/sbin这些路径作为新的$PATH环境变量。
https://i-blog.csdnimg.cn/direct/f5d85327333b440b9103c945db52c458.png
配置完后举行执行,如果不执行也可以,到时间会读取到文件的
source ~/.bashrc
[*]Hadoop的文件修改
https://i-blog.csdnimg.cn/direct/a813aa98b2044d78ab4c5fbe886f0de4.png
https://i-blog.csdnimg.cn/direct/770ac644970446758da2c23610987456.png
修改etc/hadoop中的一系列文件
vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/core-site.xml
在节点中参加配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
效果图:
https://i-blog.csdnimg.cn/direct/5393af7eb8e84fc487ebe1aa0676629c.png
修改hadoop-env.sh
vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/hadoop-env.sh
将 export JAVA_HOME=${JAVA_HOME}
修改为: export JAVA_HOME=/usr/lib/jvm/java-openjdk
说明:修改为自己的JDK路径
https://i-blog.csdnimg.cn/direct/a72422cff9c442e49cc4aac1befed1ed.png
修改hdfs-site.xml
vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/hdfs-site.xml
在配置中参加节点
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.
</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.
</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>need not permissions</description>
</property>
</configuration>
https://i-blog.csdnimg.cn/direct/7a80649bfb0a40f2a36cc14c8d661dab.png
新建而且修改mapred-site.xml
vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/mapred-site.xml
https://i-blog.csdnimg.cn/direct/26c4d134f7e849acb29bfcaab496d23e.png
修改workers文件
vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/workers
https://i-blog.csdnimg.cn/direct/71690d8a910a4f35a3993dbae920e0a5.png
也可以修改好master节点的/opt/hadoop/hadoop-3.2.0/etc/hadoop/workers文件,然后一
条下令直接分发给集群,这样就不消再修改别的节点的workers文件。
可以将xsync下令分发给集群的具体配置(选看)
下载rsync
yum install -y rsync
修改/usr/local/bin/下的xsync文件,没有就新建
cd /usr/local/bin/
vim xsync
文件输入:
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0))
then
echo no args
exit
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=20; host<=21;host++))
do
echo ------------------- @192.168.95.$host --------------
rsync -rvl $pdir/$fname $user@192.168.95.$host:$pdir/
done
给予权限:
Chmod 777 xsync
利用xsync下令分发配置
xsync /opt/hadoop/hadoop-3.2.0/etc
https://i-blog.csdnimg.cn/direct/a7384e59374940f0a125727dbf1eb92e.png
必要设置hadoop classpath
https://i-blog.csdnimg.cn/direct/afcc95606023488b8c4faa7e6422e6f8.png
记下返回效果
添加配置
vi /opt/hadoop/hadoop-3.2.0/etc/hadoop/yarn-site.xml
例子(我自己的配置):
https://i-blog.csdnimg.cn/direct/73f1400be8c047a8af54d3288c1e07e3.png
服务启动权限配置
cd /opt/hadoop/hadoop-3.2.0
配置start-dfs.sh与stop-dfs.sh文件
先配置
vi sbin/start-dfs.sh
https://i-blog.csdnimg.cn/direct/9e330085276d4f6cb28463d22ff4223a.png
后配置
vi sbin/stop-dfs.sh
https://i-blog.csdnimg.cn/direct/a1d1aa0581dd48778f93ba4c7d2f668a.png
配置start-yarn.sh与stop-yarn.sh文件
先配置
vi sbin/start-yarn.sh
https://i-blog.csdnimg.cn/direct/e0c8ef6547ec48078ef13ab6ed91ad26.png
后配置
vi sbin/stop-yarn.sh
https://i-blog.csdnimg.cn/direct/ae1f527a1ee846fd810ca48307164d69.png
打开另一台虚拟机
举行配置
修改网卡信息:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改node1节点的主机名
vi /etc/hostname
修改node1 节点对应ip和主机名(主从节点保持一致)
vim /etc/hosts
相互连接
ssh node1
ssh master
互联乐成的话就直接(exit退出就行)
[*]启动Hadoop
cd /opt/hadoop/hadoop-3.2.0/bin
执行初始化脚本
./hadoop namenode -format
启动脚本
start-all.sh
大概出现的问题:
https://i-blog.csdnimg.cn/direct/01c2685771704db5aacec4db1dd58b1e.png
说明无法连接到主机,必要重新配置一台可以利用ssh连接的主机
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]