ubuntu-16.04.3-server+hadoop

2018-08-26  本文已影响0人  雪_豹
1、使用VMware安装3台ubuntu-16.04.3-server

hadoop-master、hadoop-node1、hadoop-node2
安装是用户都是zhang

2、启用root登录并设计密码

sudo passwd root

3、开启和设置防火墙ufw

master开启22和50070或更多端口
node1和node2开启22和9000或更多端口

4、安装ssh、vim或其他软件

sudo apt-get install -y ssh vim

5、设置固定ip

hadoop-master 192.168.1.150
hadoop-node1 192.168.1.151
hadoop-node2 192.168.1.152

命令:sudo vim /etc/network/interfaces
修改:

# The primary network interface
auto ens33
iface ens33 inet static
address 192.168.1.150
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 192.168.0.1, 192.168.1.1

6、修改主机名

sudo vim /etc/hostname
hadoop-master 是 master
hadoop-node1 是 node1
hadoop-node2 是 node2

7、修改hosts文件

sudo vim /etc/hosts
每台此文件都增加三条:
192.168.1.150 master
192.168.1.151 node1
192.168.1.152 node2

8、配置无密码的相互访问ssh

用户目录下执行:ssh-keygen
默认路径,无密码,会在当前用户的文件夹中产生一个.ssh文件夹。
接下来我们先处理master这台机器的访问。我们进入这个文件夹,
cd .ssh
然后允许无密码访问,执行:
cp id_rsa.pub authorized_keys
然后要把node1和node2的公钥传给master,进入node1
scp ~/.ssh/id_rsa.pub zhang@master:/home/zhang/.ssh/id_rsa.pub.node1
然后在node2上也是:
scp ~/.ssh/id_rsa.pub zhang@master:/home/zhang/.ssh/id_rsa.pub.node2
将 node1 和 node2 的公钥信息追加到 master 的 authorized_keys文件中,切换到master机器上,执行:
cat id_rsa.pub.node1>> authorized_keys
cat id_rsa.pub.node2>> authorized_keys
现在authorized_keys就有3台机器的公钥,可以无密码访问任意机器。只需要将authorized_keys复制到node1 和node2 即可。在master上执行:
scp authorized_keys zhang@node1:/home/zhang/.ssh/authorized_keys
scp authorized_keys zhang@node2:/home/zhang/.ssh/authorized_keys
测试一下,在master上运行
ssh node1
ssh node2

9、安装JDK

把jdk-8u121-linux-x64.tar.gz放到/home/zhang/awin/目录下

cd /home/zhang/awin/
tar xvzf jdk-8u161-linux-x64.tar.gz

在/home/zhang/.bashrc最后加上

# Java Env 
export JAVA_HOME=/home/zhang/awin/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

执行source ~/.bashrc使配置生效
测试:java -version

10、下载、解压Hadoop、配置环境变量

http://archive.apache.org/dist/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz

把hadoop-2.7.4.tar.gz放到/home/zhang/awin/目录下
cd /home/zhang/awin/
tar xvzf hadoop-2.7.4.tar.gz
在/home/zhang/.bashrc最后加上

# Hadoop Env
export HADOOP_HOME=/home/zhang/awin/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

执行source ~/.bashrc使配置生效
测试:hadoop version

11、配置Hadoop

在node1和node2上只做11.1和11.2的配置
cd /home/zhang/awin/hadoop-2.7.4/etc/hadoop

11.1、修改hadoop-env.sh,最后增加
# my config
export JAVA_HOME=/home/zhang/awin/jdk1.8.0_161
export HADOOP_PREFIX=/home/zhang/awin/hadoop-2.7.4
11.2、修改core-site.xml
<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/zhang/hadooptemp</value>
    <description>A base for other temporary directories.</description>
  </property>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
</configuration>

指定一个临时文件夹路径,这个路径必须存在并有权限访问,创建一个~/hadooptemp目录

11.3、修改hdfs-site.xml

设置HDFS复制的数量

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
</configuration>
11.4、最后打开slaves文件,设置有哪些slave节点,master即是Name Node又是Data Node

master
node1
node2

12、启动Hadoop

回到master节点,运行:hdfs namenode -format
格式化NameNode,然后执行:start-all.sh
这里master会启动自己的服务,同时也会启动node1和node2上的对应服务
运行jps查看有哪些进程,三台机器都可以运行查看
master上运行jps结果:

zhang@master:~$ jps
1712 Jps
1558 ResourceManager
1674 NodeManager
1082 NameNode
1196 DataNode
1374 SecondaryNameNode

node1和node2上运行jps结果:

zhang@node1:~$ jps
1025 NodeManager
914 DataNode
1131 Jps

浏览器中访问:

http://192.168.1.150:50070/
http://192.168.1.150:8088/cluster
上一篇下一篇

猜你喜欢

热点阅读