Finology 大数据金融

通过大数据以量化金融

下载Hadoop安装包

我们选择安装hadoop cdh5版本,hadoop-2.6.0-cdh5.7.0

下载并解压

1
2
3
4
5
cd /usr/local/hadoop

wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz

tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz

添加环境变量

1
vi ~/.bash_profile

添加如下内容

1
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.0-cdh5.7.0

执行source命令让其配置生效

1
source ~/.bash_profile

设置ssh免密登录

1
2
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub simon@localhost

以上设置成功后,我们可以发现ssh登录时不需要密码了。

1
2
ssh simon@localhost
Last login: Mon Jan 08 10:45:10 2019

其他Linux配置

我目前所有的大数据组件都是用于开发验证,所以都是安装在本地的macOS环境下。如果在真实的Linux集群环境下安装,还需要配置hostname等信息

Linux下修改hostname

1
vi /etc/sysconfig/network

添加如下内容

1
2
NETWORKING=yes
HOSTNAME=hadoop001

修改/etc/hosts文件,配置主机和ip的映射关系

Hadoop配置文件修改

etc/hadoop/hadoop-env.sh

1
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

etc/hadoop/core-site.xml

伪分布式配置

Hadoop 2.x版本默认端口为8020而非1.x版本的9000。

1
2
3
4
5
6
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
</configuration>

设置tmp文件夹,默认地址为/tmp/hadoop-${user.name}

1
2
3
4
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>

etc/hadoop/hdfs-site.xml

设置文件系统复本系数。

1
2
3
4
5
6
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

格式化HDFS

这一步操作只需要执行一次,格式化后,HDFS上的数据会被清空。

1
bin/hdfs namenode -format

注:bin目录存放客户端命令,sbin存放服务端命令。

启动HDFS

启动NameNode和DataNode

1
2
3
4
5
6
7
8
9
sbin/start-dfs.sh

19/01/08 13:11:40 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [localhost]
localhost: starting namenode, logging to /usr/local/hadoop/hadoop-2.6.0-cdh5.7.0/logs/hadoop-simon-namenode-localhost.out
localhost: starting datanode, logging to /usr/local/hadoop/hadoop-2.6.0-cdh5.7.0/logs/hadoop-simon-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/hadoop-2.6.0-cdh5.7.0/logs/hadoop-simon-secondarynamenode-localhost.out
19/01/08 13:11:55 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

我们注意到这一句localhost: starting datanode,这句里面的localhost,是和slaves从节点中的名字相同的。

1
2
cat etc/hadoop/slaves
localhost

验证是否启动成功

1
2
3
4
jps
18242 SecondaryNameNode
18150 DataNode
18079 NameNode

拥有这三个进程就说明已经启动成功。

同时我们还可以通过Web UI查看

http://localhost:50070/

有一些网站提供了格式化json的功能,如果没有网络时,或者json字符串很长时,还是需要一个可以格式json的软件,这里我们使用Sublime Text3来格式化json。

下载Sublime Text3

http://www.sublimetext.com/3

我们选择OS X系统

安装Package Control

使用快捷键ctrl+View -> Show Console 打开输入框,复制以下内容到输入框。

SUBLIME TEXT 3

1
import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

安装pretty json

快捷键ctrl+shift+p,打开面板,选中Package Control: Install Package并回车,然后再输入pretty json,找到插件回车安装即可。

使用pretty json

使用ctrl+alt+j快捷键来格式化当前页面的内容。

有一些网站提供了格式化json的功能,如果没有网络时,或者json字符串很长时,还是需要一个可以格式json的软件,这里我们使用Sublime Text3来格式化json。

下载Sublime Text3

http://www.sublimetext.com/3

我们选择OS X系统

安装Package Control

使用快捷键ctrl+View -> Show Console 打开输入框,复制以下内容到输入框。

SUBLIME TEXT 3

 

安装pretty json

快捷键ctrl+shift+p, 打开面板,选中Package Control: Install Package并回车,然后再输入pretty json,找到插件回车安装即可。

使用pretty json

使用ctrl+alt+j快捷键来格式化当前页面的内容。

0%