Linux操作
修改root的密码
sudo passwd root
将用户注销
logout
关闭防火墙
ufw disable
卸载iptables组件
apt-get remove iptables
下载vim组件(用于文本编辑)
apt-get install vim
进行文字的改变
sudo dpkg-reconfigure console-setup
linux远程连接
第一:linux上有ssh服务
第二:使用ssh客户端工具
为系统中安装ssh工具
apt-get install openssh-server
启动ssh服务
/etc/init.d/ssh start
查看进程,是否已经已经启动指定服务
ps -e | grep sshd
有了进程才可以有ssh的使用
ubuntu默认情况不允许root用户登陆
使用vim打开/etc/ssh/sshd_config文件
vim /etc/ssh/sshd_config
随后进行PermitRootLogin的内容修改,将内容设置为yes
配置ftp服务
安装ftp组件
apt-get install vsftpd
修改ftp用户密码
passwd ftp
ftp服务安装完成之后,会自动创建一个目录:/srv/ftp
cd /srv/ftp
设置此目录为完全权限
chmod 777 /srv/ftp
若要ftp可以正常工作,需要进行一些配置文件的修改"/etc/vsftpd.conf"
vim /etc/vsftpd.conf
设置如下配置:
设置不允许匿名登陆(必须正确用户名和密码)
anonymous_enable=NO
#配置用户具有写权限
write_enable=YES
允许本地用户登陆
local_enable=YES
是否将所有用户限制在主目录(去掉注释#)
chroot_local_user=YES
是否启动限制用户的名单
chroot_list_enable=YES
定义名单设置的目录(因为名单中可以设置多个账号)
chroot_list_file=/etc/vsftpd.chroot_list
增加一个服务配置
pam_service_name=vsftpd
进入配置文件
vim /etc/vsftpd.chroot_list
添加一个ftp用户,输入完成保存退出
修改/etc/pam.d/vsftpd
vim /etc/pam.d/vsftpd
注释掉以下内容
auth required pam_shells.so
启动ftp服务
service vsftpd start
service vsftpd restart //重新启动
查看是否已经启动ftp服务
ps -e | grep vsftpd
hadoop安装与配置
jdk安装与配置
下载jdk或直接ftp传入
wget http://download.oracle.com/otn-p ... ux-x64-demos.tar.gz
解压缩并保存在/usr/local目录
tar xzvf jdk-8u191-linux-x64-demos.tar.gz -C /usr/local
改名
mv jdk1.8.0_191/ jdk
进入环境文件进行配置
vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=${JAVA_HOME}/jre
export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOM}E/sbin:
#默认情况下修改环境变量的内容后,需要重新启动系统才可以读取新的配置,但也可以用source使配置立刻生效:
source /etc/profile
linux中安装hadoop
tar xzvf hadoop-2.8.5-src -C /usr/local
#进入环境变量的配置
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:
让配置生效
source /etc/profile
hadoop依赖于JDK支持,所以要在hadoop一个资源文件里面定义要使用的JDK路径
vim hadoop-env.sh
确定Hadoop中将要使用到的jdk设置
export JAVA_HOME=/usr/local/jdk
测试hadoop
是否已经安装完成可用,可用hadoop自带测试程序
进行单词统计信息,首先指定一个单词文件
#在Hadoop的目录(root@VM-0-3-ubuntu:/usr/local/hadoop#)下创建一个input目录:
mkdir input
编写一个文件(root@VM-0-3-ubuntu:/usr/local/hadoop# )
echo hello 6jj hello nihaoa > input/info.txt
每个单词中使用" "进行拆分
随后在input父目录中执行如下操作,最终结果将保存在output目录当中
hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.5-sources.jar org.apache.hadoop.examples.WordCount input output
基于分布式的hadoop配置
配置ssh
ip不可变更,否则需要重新配置
为了配置方便,为每台电脑设置主机名称
vim /etc/hostname
将里面的localhost修改为"Hadoopm"
还需修改主机的映射配置,修改"/etc/hosts"文件,里面追加IP地址与hadoopm主机名称的映射
vim /etc/hosts
123.207.2.224 hadoopm
为了可以让生效起作用,建议重新启动输入reboot重新启动Linux
在在整个Hadoop的处理过程中,都是利用ssh实现通讯,所以即使是在本机,也建议使用ssh进行通讯处理,也必须在电脑上配置ssh免登陆处理
由于电脑可能已经出现了ssh的相关配置,所以建议删除根目录下的".ssh"文件夹
cd ~
rm -rf ~/.ssh
在Hadoop的主机上生成ssh Key:
ssh-keygen -t rsa
此时程序若要进行登陆依然需要密码,需要将公钥信息保存在授权认证的文件之中"authorized_key"文件里面
cd ~
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
以后可进行免登陆处理
随后登陆
ssh root@hadoopm
登陆之后变成远程连接,那么可以使用exit退出当前的连接
hadoop的相关配置
所有的配置文件都在"/usr/local/hadoop/etc/hadoop/"目录
配置:"core-site.xml"
确定Hadoop的核心信息,包括临时目录,访问地址
<property>
<name>hadoop.tmp.dir</name>
<value>/home/root/hadoop_tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoopm:9000</value>
</property>
本文配置的"hdfs://hadoopm:9000"信息,描述的是日后打开的页面管理器的路径,Hadoop版本2.X默认端口为9000
在本配置之中最为重要的就是"/home/root/hadoop_tmp",这个文件路径配置的临时文件信息,若不配置,就会在hadoop的文件夹中生成"tmp"文件("/usr/local/hadoop/tmp"),如果这样配置,当重新启动,所有的信息都会被清空, 也就是说Hadoop的环境就失效了,为保证不出错,可先直接建立一个"/home/root/hadoop_tmp"目录 mkdir ~/root/hadoop_tmp
配置:"yarn-site.xml"
可以简单的理解为配置相关的job的处理
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoopm:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoopm:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoopm:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoopm:8050</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoopm:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoopm:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>hadoopm:8090</value>
</property>
配置:"hdfs-site.xml"
可以确定文件的备份个数以及数据文件夹的路径
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoopm:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoopm:50090</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
"replication":文件的副本数,一般情况下一个文件备份3份
"dfs.namenode.name.dir":定义名称节点路径
"dfs.datanode.data.dir":定义数据文件节点路径
"dfs.namenode.http-address":名称服务的http路径访问
"dfs.namenode.secondary.http-address":第二名称节点
"dfs.permissions":权限的访问,为避免无法进入的问题,设为false
由于Hadoop属于分布式的开发环境,考虑到日后要进行集群的搭建
建议在"/usr/local/hadoop/etc/hadoop/"目录中创建master文件,里面写上主机名称,内容就是hadoopm(之前在host文件里面定义的主机名称),若是的单机环境,不写也可以
vim masters
hadoopm
修改从节点文件(slaves),增加hadoopm
vim slaves
由于此时是将所有的namenode,datanode路径保存在hadoop目录中,如果为了保险起见,可以自己创建,在hadoop目录下
mkdir dfs dfs/name dfs/data
若Hadoop出现了问题,需要重新配置,要将这两个文件夹清除掉
格式化文件系统
hdfs namenode -format
若格式化正常,就会出现"INFO util.ExitUtil:Exiting with status 0"信息
若出现错误就会出现"INFO util.ExitUtil:Exiting with status 1"信息
开启服务
start-all.sh
随后可利用JDK提供的jps命令查看,所有Java进程若返回6个进程,表示配置成功了
jsp
随后可以测试HDFS是否可以正常使用
在浏览器输入IP和端口测试是否可以进入
由于用的是云服务器,想要进入内网,须将hdfs-site.xml修改
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:50070</value>
</property>
浏览器:腾讯云公网IP+50070
如需关闭服务:
stop-all.sh
Map处理
排序处理
合并处理
Reduce处理
Java创建新项目,导入Hadoop包
common组件包:
hadoop/common
hadoop/commng/lib
mapreduec组件包
hadoop/mapreduce
hadoop/mapreduce/lib
---------------------
【转载】
作者:lujj_6jj
原文:https://blog.csdn.net/qq_36230524/article/details/83244288
|
|