简介

Hadoop

文档 | 参考搭建

虚拟机:wire jing
大数据:hduser hadoop

mac通过ssh连接本地localhost

方法一:
$ ssh localhost
$ launchctl load -w /System/Library/LaunchDaemons/ssh.plist #启动sshd服务
$ launchctl unload -w /System/Library/LaunchDaemons/ssh.plist #停止sshd服务
$ launchctl list | grep ssh #查看服务是否启动
-	0	com.openssh.sshd   #代表服务启动了
最后可以通过$ ssh localhost 连接成功
方法二:
$ ssh-keygen -t rsa -P ""
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost 连接成功

上传本地文件到服务器
scp /path/filename username@servername:~

添加Hadoop用户组和用户

$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
$ sudo adduser hduser sudo
ubuntu安装java(http://blog.csdn.net/wconvey/article/details/39851791)
1.将jdk-7u5-Linux-x64.tar.gz拷贝到/usr/Java/jdk/目录下面,这里如果没有相应文件夹,则创建该文件夹,如命令:
    sudo mkdir java //创建文件夹java
    sudo mkdir jdk  //创建文件夹jdk
    sudo cp-r ~/download/jdk-8u5-linux-i586.tar.gz /usr/java/jdk/        //把下载的文件拷贝到新创建的目录下面
    sudo tar -zxvf jdk-版本-linux-位.tar.gz  //解压缩文件,本实例中所用jdk为jdk-8u5-linux-i586.tar.gz,解压后为jdk 1.8.0_05
2.配置环境变量:
    sudo gedit /etc/profile   //用gedit打开/etc/profile文件
    在文件的最后面增加:
    export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_05
    export JRE_HOME=/usr/lib/jdk/jdk1.8.0_05/jre
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
   注:更改后,若无法保存,则权限不足。需切换到root权限下进行操作即可。
 
3.修改系统默认的jdk:
    $ sudo update-alternatives --install /usr/bin/java java /usr/java/jdk/jdk1.8.0_05/bin/java 300
    信息:update -alternatives:using /usr/java/jdk/jdk1.8.0_05/bin/java to provide/usr/bin/java (java) in auto mode
    $ sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk/jdk1.8.0_05/bin/javac 300
    信息:update -alternatives:using /usr/java/jdk/jdk1.8.0_05/bin/javac to provide/usr/bin/javac (javac) in auto mode
    $ sudo update-alternatives --config java (选刚才配置的)
   $ sudo update-alternatives --configjavac

4.测试JDK是否安装配置成功:
    # java -version
    信息:
    java version"1.8.0_05"
    Java(TM) SE RuntimeEnvironment (build 1.8.0_05-b13)
    Java HotSpot(TM) Client VM(build 25.5-b02, mixed mode)

安装Hadoop

1、到http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz下载hadoop-2.7.2.tar.gz
2、解压放到希望的目录,。我放到了/usr/local/hadoop
$ sudo tar xzf hadoop-2.7.2.tar.gz
$ sudo mv hadoop-2.7.2 /usr/local/hadoop
3.要确保所有的操作都是在用户hdsuer下完成的:
$ sudo chown -R hduser:hadoop /usr/local/hadoop
配置~/.bashrc
sudo vi ~/.bashrc  在文件末尾追加下面内容
export HADOOP_HOME=/home/centos/HADOOP/hadoop-2.6.4
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_PREFIX=$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_PREFIX/etc/hadoop

4、修改/usr/local/hadoop/etc/hadoop/hadoop-env.sh
$ sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到JAVA_HOME变量,修改此变量如下
export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_71
下面使用wordcount测试。
1.首先在hadoop目录下新建文件夹input
$ cd /usr/local/hadoop/
$ mkdir input
2.将README.txt文件拷贝到input文件夹下,以统计文件中单词的频数
$ sudo cp README.txt input
3.运行wordcount程序,并将输出结果保存在output文件夹下
#每次重新执行wordcount程序的时候,都需要先把output文件夹删除!否则会出错
$ bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.2-sources.jar org.apache.hadoop.examples.WordCount input output

为分布模式配置

1、修改两个配置文件core-site.xml和hdfs-site.xml,分别位于/usr/local/hadoop/etc/hadoop中
新建几个文件夹
$ cd /usr/local/hadoop
$ mkdir tmp
$ mkdir tmp/dfs tmp/dfs/data tmp/dfs/name
修改core-site.xml
$ sudo vi etc/hadoop/core-site.xml
修改为以下配置:
<configuration>
        <property>
             <name>hadoop.tmp.dir</name>
             <value>file:/usr/local/hadoop/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
             <name>fs.defaultFS</name>
             <value>hdfs://localhost:9000</value>
        </property>
</configuration>
修改hdfs-site.xml:
$ sudo gedit etc/hadoop/hdfs-site.xml
修改为以下配置:
<configuration>
        <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>
2、执行NameNode 的格式化
$ ./bin/hdfs namenode -format
注意!只有刚创建hadoop集群的时候才需要格式化,不能对一个运行中的hadoop文件系统(HDFS)格式化,否则会丢失数据!!
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
3、启动hadoop
执行start-all.sh来启动所有服务,包括namenode,datanode.
$ start-all.sh
4、通过jps命令判断是否成功
hduser@ubuntu:/usr/local/hadoop$ jps
12385 Jps
11786 SecondaryNameNode
11937 ResourceManager
12260 NodeManager
11421 NameNode

5、通过web界面查看hdfs信息
转到http://localhost:50070/即可查看
6、停止运行hadoop
$ stop-all.sh

Spark

安装

$ wget http://d3kbcqa49mib13.cloudfront.net/spark-2.0.1-bin-hadoop2.7.tgz
$ tar -xf spark-2.0.1-bin-hadoop2.7.tgz # x代表解压操作,f代表解压的文件名
$ cd spark-2.0.1-bin-hadoop2.7/

.