之前每个虚拟机需要配好JDK和有hadoop 下面只有关于hadoop2.8.5的配置
前提
将一个虚拟机作为主节点,其他虚拟机作为从节点
#设置root的密码
sudo passwd root#切换为root用户
su root在root用户下运行此命令 #这里是给hadoop文件夹授予权限,如果没有这个权限后面格式化操作,就无法创建存储文件的目录,导致logs上写着文件夹不存在,导致namenode或者其他的进程无法启动,这个问题比较难找出来
chmod a+w /var/opt/hadoop-2.8.5 chmod a+x /var/opt/hadoop-2.8.5这使用hadoop用户,而不是root,后面出什么问题大多数都是权限的问题。
sudo useradd -m hadoop -s /bin/bash #创建hadoop用户设置hadoop用户密码
sudo passwd hadoop为hadoop用户增加管理员权限
sudo adduser hadoop sudo命令重启
sudo -s hadoop shutdown -r now由于ubantu没有安装vim和ssh 这里为ubantu安装
sudo apt-get update更改主机名
sudo vim /etc/hosts添加节点信息 192.168.140.204 master 192.168.140.205 slave1 192.168.140.206 slave2
选一个作为主节点,几个从节点,节点名字自己定义,重启生效
**
**
获取密钥
ssh-keygen -t rsa ssh-copy-id 加上节点的IP更改为静态IP
sudo vim /etc/network/interfaces信息自己填好就是了,每个虚拟机都要配置好 netmask可以保留,其他的随便改就是了
把节点的信息加上去
将上面信息也拷贝进去
gedit ~/.bashrc scp /etc/profile slave1:/etc/scp /etc/profile slave2:/etc/ #通过scp命令将profile文件分发到其他节点
进入hadoop的目录的etc目录 sudo vim core-site.xml
<property> <name>fs.defaultFS</name> <value>hdfs://master:9820</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/cjc/hadoop/full</value> <description>A base for other temporary directories.</description> </property>sudo vim hdfs-site.xml
<property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/var/opt/hadoop-2.8.5/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/var/opt/hadoop-2.8.5/hdfs/data</value> </property> <property> <name>dfs.http.address</name> <value>master:50070</value> </property> <property> <name>dfs.secondary.http.address</name> <value>master:50090</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>vim hadoop-env.sh
export HADOOP_IDENT_STRING=$USER export JAVA_HOME=/var/opt/jdk1.8.0_221 export HDFS_NAMENODE_USER=hadoop export HDFS_DATANODE_USER=hadoop export HDFS_SECONDARYNAMENODE_USER=hadoop通过scp命令分发到其他节点
scp hadoop-env.sh hdfs-site.xml core-site.xml slave1:/var/opt/hadoop-2.8.5/etc/hadoop/ scp hadoop-env.sh hdfs-site.xml core-site.xml slave2:/var/opt/hadoop-2.8.5/etc/hadoop/填写从节点信息
在hadoop的etc的hadoop目录下运行此命令
sudo vim slaves这里添加的是从节点的信息
格式化namenode操作
hdfs namenode -format启动
start-dfs.shjps一下查看进程 看到有如下进程即为配置成功
在浏览器输入master:50070 即可访问WEB服务
但是需要在电脑配置好
进入目录
C:\Windows\System32\drivers\etc 修改hosts文件
在下面添加
如果发现有进程没有启动,进入hadoop目录的logs目录下,查看日志,将上面的错误复制,百度一下