hadoop安装
CentOs7 HADOOP的安装
1、安装步骤:
1、把Hadoop313拖进opt/downdoal下
2、免密登录
#解压hadoop文件
tar -zxf hadoop-3.1.3.tar.gz -C /opt/software
#重命名
mv /opt/sofware/hadoop* /opt/software/hadoop313
cd~
#设置密钥
ssh-keygen -t rsa
cat /root/.ssh/id_rsa.pub>>/root/.ssh/authorized_keys
#测试一下你能不能免密进入,singlebrown是我的主机名,你们自己用hostname查看自己的主机名
ssh root@singlebrown
3 配置环境
vim /etc/profile.d/myenv.sh
#在shell文档里输入一下内容,建议复制粘贴,敲错一点会炸穿的哦~
#hadoop
export HADOOP_HOME=/opt/software/hadoop313
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
#接下来对四个文件处理
#core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml
vim /opt/software/hadoop313/etc/hadoop/core-site.xml
#在这个文档里输入(记得更改自己ip地址和用户名,四个文件都要修改,不能照搬我的!)
<!--配置namenode的地址 外部访问hadoop-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.75.245:9820</value>
</property>
<!--配置数据存储目录 数据文件存放数据的 namenode-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop313/data</value>
</property>
<!--配置HDFS网页登录使用的静态用户为root 代理 have以root的身份访问hadoop-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!--配置root(超级用户)允许通过代理访问的主机节点-->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!--配置root(超级用户)允许通过代理用户所属组-->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<!--配置root(超级用户)允许通过代理的用户-->
<property>
<name>hadoop.proxyuser.root.user</name>
<value>*</value>
</property>
#第二个文档
vim hdfs-site.xml
#输入
<!--配置namenode web访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>192.168.75.245:9870</value>
</property>
<!--配置secondary namenode web访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.75.245:9868</value>
</property>
<!--配置hdfs副本数量 备份机器数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
#第三个文档
vim yarn-site.xml
#输入
<!--配置mr的执行方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--配置ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>singlebrown</value>
</property>
<!--配置环境变量的继承-->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!--yarn初始申请内存大小-->
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>1024</value>
</property>
<!--配置yarn容器允许分配的最小内存-->
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
<!--配置yarn容器允许分配的最大内存-->
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>3072</value>
</property>
<!--配置yarn容器允许管理的物理内存大小-->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>3072</value>
</property>
<!--配置关闭yarn对物理内存和虚拟内存的限制检查,
jdk8运行于centos以上版本会导致虚拟内存过大-->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--配置关闭yarn对物理内存和虚拟内存的限制检查-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!--开启日志聚集-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--配置日志聚集服务器地址-->
<property>
<name>yarn.log.server.url</name>
<value>http://192.168.75.245:19888/jobhistory/logs</value>
</property>
<!--配置日志保留时间为7天-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
#第四个文档
vim mapred-site.xml
#输入
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--配置历史服务器地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.75.245:10020</value>
</property>
<!--配置历史服务器web端地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.75.245:19888</value>
</property>
<!--这一下的代码是为了解决 yarn不能找到包的问题 因为我们的机器没有出这样的错误所以下面的代码未测试 -->
<!---property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${full path of your hadoop distribution directory}</value>
</property -->
四个文档配置完成后,
切换目录
cd /opt/software/hadoop313/bin
#输入
./hdfs namenode -format
如果显示如上图,成功了
#然后开启服务
start-all.sh
4 log文件查看
接下里创建一个log,如何在服务器里查看自己创建的log文件
[root@singlebrown script]# vim daimin.log
[root@singlebrown script]# hdfs dfs -mkdir /input
[root@singlebrown script]# hdfs dfs -ls /
Found 1 items
drwxr-xr-x - root supergroup 0 2021-06-07 16:41 /input
[root@singlebrown script]# hdfs dfs -put daimin.log /input
2021-06-07 16:42:38,176 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
[root@singlebrown script]# hdfs dfs -cat /input/*
2021-06-07 16:42:57,531 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
iwos hfs hsiao!
接着如何查看daimin.log日志里的内容的单词的数量呢
#切换目录
vim /opt/software/hadoop313/share/hadoop/mapareduce
#再输入下面的指令
hadoop jar hadop-mapredure-3.1.3.jar wordcount /input/daimin.log /output
#结果如下图
#查看output的指令
hdfs dfs -cat/out/part*
5、配置windows的环境变量
在环境变量里增加两条:
然后再path里新增:
接下来配置windows环境下的linux中hostname和ip地址映射
在c盘里找到windows/system32/driver/etc/hosts
如图:
然后增加一条信息:
你的ip地址 和你的用户名
如图
然后hadoop.dll 文件拖到到hadoop313/bin里
winutils.exe文件拖到windows/system32里
6、最后的步骤
cd /opt/software/
tar -zcvf hadoop313.tar.gz
sz hadoop313.tar.gz
#先存放在桌面,之后操作完可以删除,这只是压缩文件
#然后以管理员身份解压桌面的hadoop313文件,解压到D:/software/hadoop313里
#退出安全模式
hadoop dfsadmin -safemode leave